Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services S3带点的存储桶名称返回“;必须使用指定的端点";_Amazon Web Services_Amazon S3_Npm - Fatal编程技术网

Amazon web services S3带点的存储桶名称返回“;必须使用指定的端点";

Amazon web services S3带点的存储桶名称返回“;必须使用指定的端点";,amazon-web-services,amazon-s3,npm,Amazon Web Services,Amazon S3,Npm,我使用节点库将文件上传到S3存储桶已有一段时间了。例如: s3-cli sync --delete-removed dist s3://domain-admin-dev 但是当我运行这个 s3-cli sync --delete-removed dist s3://sudomain.domain.com 它返回以下错误: 错误:您试图访问的存储桶必须使用指定的端点寻址。请将所有未来请求发送到此终结点 我该怎么办 注意:我在网上发现一些帖子说S3 bucket不属于正确的区域,但是S3://s

我使用节点库将文件上传到S3存储桶已有一段时间了。例如:

s3-cli sync --delete-removed dist s3://domain-admin-dev
但是当我运行这个

s3-cli sync --delete-removed dist s3://sudomain.domain.com
它返回以下错误:

错误:您试图访问的存储桶必须使用指定的端点寻址。请将所有未来请求发送到此终结点

我该怎么办


注意:我在网上发现一些帖子说S3 bucket不属于正确的区域,但是S3://sudomain.domain.com与S3://domain admin dev属于同一区域。因此,这是一个没有意义的问题。

事实证明,整个方法都是错误的。我只需添加一个云前端发行版(即CDN),然后将其源链接到s3 bucket(我将其名称从
s3://sudomain.domain.com
更改为
s3://domain admin dev
,从而使我的cli命令正常工作)。然后,我在godaddy中创建了一个CNAME记录,将子域指向云锋原点

此处描述了该过程:


注意:由于cloud front是一个cdn,每次更新缓存时都必须对其进行更新。

结果表明,整个方法都是错误的。我只需添加一个云前端发行版(即CDN),然后将其源链接到s3 bucket(我将其名称从
s3://sudomain.domain.com
更改为
s3://domain admin dev
,从而使我的cli命令正常工作)。然后,我在godaddy中创建了一个CNAME记录,将子域指向云锋原点

此处描述了该过程:


注意:因为cloud front是一个cdn,所以每次更新缓存时都必须对其进行更新。

当我遇到这个问题时,原始错误响应确实包含了我需要的端点。(如果
s3 cli
没有向您显示,您可以通过将浏览器指向“错误”位置(如果subdomain.domain.com是某些通用s3域的CNAME)或使用另一个客户端来查看。一些s3/AWS客户端接受类似
--endpoint
的选项,以强制向特定端点请求。“这是没有道理的问题“事实上,这很有道理<代码>https://bucket-name.s3.amazonaws.com始终由DNS路由到该存储桶的正确区域。S3自动提供此功能<代码>https://bucket.with.dots.s3.amazonaws.com由于通配符SSL证书的工作方式而无法工作,因此如果此实用程序恢复为备用形式,
https://s3.amazonaws.com/bucket.with.dots/
除非铲斗位于us-east-1中,否则您将前往错误的区域。带点的桶必须按
https://s3.{aws region}.amazonaws.com/bucket.with.dots/
@Michael sqlbot您的建议无效。。参见回答当我遇到这个问题时,原始错误响应确实包含我需要的端点。(如果
s3 cli
没有向您显示,您可以通过将浏览器指向“错误”位置(如果subdomain.domain.com是某些通用s3域的CNAME)或使用另一个客户端来查看。一些s3/AWS客户端接受类似
--endpoint
的选项,以强制向特定端点请求。“这是没有道理的问题“事实上,这很有道理<代码>https://bucket-name.s3.amazonaws.com始终由DNS路由到该存储桶的正确区域。S3自动提供此功能<代码>https://bucket.with.dots.s3.amazonaws.com由于通配符SSL证书的工作方式而无法工作,因此如果此实用程序恢复为备用形式,
https://s3.amazonaws.com/bucket.with.dots/
除非铲斗位于us-east-1中,否则您将前往错误的区域。带点的桶必须按
https://s3.{aws region}.amazonaws.com/bucket.with.dots/
@Michael sqlbot您的建议无效。。见答案