当前位置: 首页 > 图灵资讯 > 技术篇> 【OSS】使用java-sdk上传文件失败,报错InvalidBucketName,BucketName是文件名

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

来源:图灵教育
时间:2023-08-10 10:03:51

  • 【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策略的常用示例作为参考,可以正常读写osss