我试图用删除上传的图像文件。
我有以下代码:
require 'aws-sdk-core'
def pull_picture(picture)
Aws.config = {
:access_key_id => ENV["AWS_ACCESS_KEY_ID"],
:secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"],
:region => 'us-west-2'
}
s3 = Aws::S3::Client.new
test = s3.get_object(
:bucket => ENV["AWS_S3_BUCKET"],
:key => picture.image_url.split('/')[-2],
)
end
但是,我得到了以下错误:
您要访问的存储桶必须使用指定的端点进行寻址。请将所有未来的请求发送到此端点。
我知道该区域是正确的,因为如果我将其更改为us-east-1
,将显示以下错误:
指定的键不存在。
我在这里做错什么了?
发布于 2014-11-04 00:26:00
这个水桶很可能是在另一个地区制造的,不是我们-西部-2。这是我唯一一次看到“您试图访问的存储桶必须使用指定的端点进行寻址。请将所有未来的请求发送到此端点。”
美国标准是
us-east-1
发布于 2015-08-11 10:37:52
检查控制台中的桶位置,然后将其用作要使用哪个端点的引用:地域
发布于 2016-10-06 06:49:41
我遇到了一个类似的错误,因为存储桶位于区域us-west-2
中,并且路径中有桶名。有一次,我更改了URL模式,将桶名作为URL子域来抓取文件,它起了作用。
例如,以前的URL是
https://s3.amazonaws.com/bucketname/filePath/filename
然后我把它替换成
https://bucketname.s3.amazonaws.com/filePath/filename
https://stackoverflow.com/questions/25027462
复制相似问题