阿里云对象存储的 V1 签名升级到 V4 | 获取OSS对象存储的URL

相信有很多使用阿里云OSS对象存储的同学们已经收到这条短信了:
【阿里云】阿里云对象存储的 V1 签名将于 2025 年 3 月 1 日起逐步不再对新客户(新的 uid )开放使用,请尽快切换到新的签名方式避免影响服务,详见公告 https://t.aliyun.com/Xb6i1mZv
升级很简单,直接按照文档中的代码进行替换就行,但其中有几个需要注意的点和大家分享一下:
1、EnvironmentVariableCredentialsProvider 不想使用系统环境变量配置来获取 OSS_ACCESS_KEY_ID OSS_ACCESS_KEY_SECRET
解决办法:
使用自定义的 CredentialsProvider 就可以了

DefaultCredentialProvider defaultCredentialProvider = CredentialsProviderFactory.newDefaultCredentialProvider(AccessKeyID, AccessKeySecret);

2.创建访问的url地址

Date expirationDate = DateUtil.offsetDay(new Date(), 7);
URL url = ossClient.generatePresignedUrl(bucketName, objectName, expirationDate);

这里一定要记住,我们以前使用V1版本签名的时候,过期日期可能设置的很长很长,但是现在升级到V4签名,最大仅支持8天,否则就会访问不到

posted @ 2024-12-27 15:53  都几点了,还在睡  阅读(277)  评论(0)    收藏  举报