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