微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

预签名 s3 文件时没有这样的存储桶错误

如何解决预签名 s3 文件时没有这样的存储桶错误

我想创建一个将使用 AWS S3 进行存储的系统。我们希望文件不能在互联网上使用,但我们希望能够共享它们。为了做到这一点,我们需要做一个presign。以附件 test_file.gsm 为例。 URL 为 https://bender-family.s3.amazonaws.com/test_file.gsm,S3 路径为 s3://bender-family.s3.amazonaws.com/test_file.gsm。如果我尝试使用 aws s3 presign s3://bender-family.s3.amazonaws.com/test_file.gsm 对其进行预签名,我会返回:

root@server2:~# aws s3 presign  s3://bender-family.s3.amazonaws.com/test_file.gsm
https://s3.amazonaws.com/bender-family.s3.amazonaws.com/test_file.gsm?AWSAccessKeyId=(aws access key here)&Signature=(signature here)&Expires=1624596709
root@server2:~# 

但是返回的 URL 不起作用。我收到 NoSuchBucket 错误

root@server2:~# curl 'https://s3.amazonaws.com/bender-family.s3.amazonaws.com/test_file.gsm?AWSAccessKeyId=(aws access key here)&Signature=(signature here)&Expires=1624596709'
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchBucket</Code><Message>The specified bucket does not exist</Message><BucketName>bender-family.s3.amazonaws.com</BucketName><RequestId>J9PMQAXV49P011B2</RequestId><HostId>(HostID Here)</HostId></Error>root@server2:~# 
root@server2:~# 

是不是我做错了什么?

如果需要,这里有 gsm 文件

https://filebin.net/io13mgvf92eayq36

解决方法

使用:

aws s3 presign  s3://bender-family/test_file.gsm

(没有 s3 部分)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。