0
点赞
收藏
分享

微信扫一扫

【OSS】使用java-sdk上传文件失败,报错InvalidBucketName,BucketName是文件名

  • 【OSS】使用java-sdk上传文件失败,报错InvalidBucketName,BucketName是文件名

  • 背景: aliyun-sdk-oss V2.8.3

  • 排查过程:

  1. 使用java sdk报错 invalid bucketname,查看bucketname字段被设置为了文件名 问题原因 当前java-sdk版本是v2.8.3,需要更新版本。
  2. 初始化client时关闭cname conf.setSupportCname(false); 升级jar包
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.0.0</version>
</dependency>

代码调整

//OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
conf.setSupportCname(false);
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret,conf);
  1. 设置并重试后,报错变为:权限拒绝,受限于acl
  2. 确认bucket acl为私有,只有部门ak有读写权限
  3. 确认使用的ram用户,需要做ram授权
  4. 提供ram策略常用示例作为参考,目前已经可以正常读写oss
举报

相关推荐

0 条评论