gpt4 book ai didi

ruby - 访问非标准 s3 存储桶

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:31 25 4
gpt4 key购买 nike

使用 aws-s3 gem,我可以使用标准的 s3 存储桶成功执行事务,但是爱尔兰制造的存储桶 (s3-eu-west-1) 给出错误 The bucket you正在尝试访问的访问必须使用指定的端点进行寻址。请将所有 future 的请求发送到此端点。经过 2 小时的搜索后,这对我来说仍然毫无意义,有没有办法解决这个问题。

simple tutorial适用于标准 s3 存储桶,但不适用于爱尔兰。

person's experiences似乎暗示这是不可能的。

最佳答案

好的,我刚找到 the answer here .

require 'aws/s3'
AWS::S3::Base.establish_connection!(
:access_key_id => ACCESS_KEY_ID,
:secret_access_key => SECRET_ACCESS_KEY
)
AWS::S3::DEFAULT_HOST.replace('s3-eu-west-1.amazonaws.com') # <= the crucial hacky line
AWS::S3::S3Object.store(
file_name,
temp_file,
bucket,
:content_type => mime_type
)

编辑

Much better option是使用 aws-sdk gem,它的 API 看起来更好,例如:

require 'aws-sdk'
s3 = AWS::S3.new(
:access_key_id => ACCESS_KEY_ID,
:secret_access_key => SECRET_ACCESS_KEY,
:s3_endpoint => 's3-eu-west-1.amazonaws.com'
)
bucket = s3.buckets[bucket_name]
bucket.objects.create(
file_name,
temp_file,
:content_type => mime_type
)

关于ruby - 访问非标准 s3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17217519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com