配置OBS访问权限
OBS服务
OBS全称Object Storage Service(对象存储服务),提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。
EI企业智能服务对于图片、语音等多媒体文件支持直接使用华为云OBS服务的数据处理方式,以减少服务使用成本,降低服务的响应时长,提升服务使用的体验。
考虑到数据的安全,自然语言处理服务无法直接获取到用户数据,需要用户开启公共读授权。
开启公共读授权
开启公共授权,则数据全网可见,所有用户均可访问。一般私密数据不建议用此方法,数据隐私及过期时间请客户自行保证。
配置公共读可参考配置标准桶策略,将桶策略设置为“公共读”。
目前仅支持访问用户个人OBS下的文件的链接,不支持读取其他用户公共读的链接。
使用临时授权URL授权NLP服务访问
对于敏感信息,如个人私有数据,存在泄漏风险,建议使用临时授权URL替代OBS文件URL授权服务访问用户私有文件。
临时URL存在有效期,获取到临时URL后请及时使用。
如何上传文件并获取临时url可以参考以下代码。
String endPoint = "http://your-endpoint"; String ak = "*** Provide your Access Key ***"; String sk = "*** Provide your Secret Key ***"; // 创建ObsClient实例ObsClient obsClient = new ObsClient(ak, sk, endPoint); // URL有效期,3600秒 longexpireSeconds = 3600L; obsClient.putObject("bucketname", "objectname", new File("localfile")); TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, expireSeconds); request.setBucketName("bucketname"); request.setObjectKey("objectname"); // 获取临时url,临时授权URL格式如下: // https://****.obs.cn-north-4.huawei.com/***.docx?AccessKeyId=***&Expires=***Signature=*** TemporarySignatureResponse response = obsClient.createTemporarySignature(request); System.out.println("\t" + response.getSignedUrl());
上传文件
可参考上传对象。
获取文件URL
可参考获取对象URL。