更新时间:2023-11-06 GMT+08:00
分享

配置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

相关文档