如何解决预签名 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 举报,一经查实,本站将立刻删除。