aws诚意的fae 马上saa
AWS SDK v2 for s3
任何人都可以为我提供使用 asw-sdk 版本 2 将文件上传到 S3 的良好文档吗?我查看了主文档,在 v1 中我们曾经这样做过
s3 = AWS::S3.new
obj = s3.buckets['my-bucket']
当我尝试使用
时,现在是 v2
s3 = Aws::S3::Client.new
我以
结尾
Aws::Errors::MissingRegionError: missing region; use :region option or export region name to ENV['AWS_REGION']
谁能帮我解决这个问题?
根据官方documentation:
To use the Ruby SDK, you must configure a region and credentials.
因此,
s3 = Aws::S3::Client.new(region:'us-west-2')
或者,可以从以下位置之一加载默认区域:
Aws.config[:region]
ENV['AWS_REGION']
这是对我有用的 aws v2 gem 上的完整 S3 演示:
Aws.config.update(
region: 'us-east-1',
credentials: Aws::Credentials.new(
Figaro.env.s3_access_key_id,
Figaro.env.s3_secret_access_key
)
)
s3 = Aws::S3::Client.new
resp = s3.list_buckets
puts resp.buckets.map(&:name)
Official list of AWS region IDs here.
如果您不确定该地区,最好的猜测是美国标准,其 ID us-east-1
用于配置目的,如上所示。
如果您在 Rails 中使用 aws.yml
文件作为凭据,您可能需要创建一个包含以下内容的文件 config/initializers/aws.rb
:
filename = File.expand_path(File.join(Rails.root, "config", "aws.yml"))
config = YAML.load_file(filename)
aws_config = config[Rails.env.to_s].symbolize_keys
Aws.config.update({
region: aws_config[:region],
credentials: Aws::Credentials.new(aws_config[:access_key_id], aws_config[:secret_access_key])
})
config/aws.yml
文件需要适配器以包含该区域。
development: &development
region: 'your region'
access_key_id: 'your access key'
secret_access_key: 'your secret access key'
production:
<<: *development
任何人都可以为我提供使用 asw-sdk 版本 2 将文件上传到 S3 的良好文档吗?我查看了主文档,在 v1 中我们曾经这样做过
s3 = AWS::S3.new
obj = s3.buckets['my-bucket']
当我尝试使用
时,现在是 v2s3 = Aws::S3::Client.new
我以
结尾Aws::Errors::MissingRegionError: missing region; use :region option or export region name to ENV['AWS_REGION']
谁能帮我解决这个问题?
根据官方documentation:
To use the Ruby SDK, you must configure a region and credentials.
因此,
s3 = Aws::S3::Client.new(region:'us-west-2')
或者,可以从以下位置之一加载默认区域:
Aws.config[:region]
ENV['AWS_REGION']
这是对我有用的 aws v2 gem 上的完整 S3 演示:
Aws.config.update(
region: 'us-east-1',
credentials: Aws::Credentials.new(
Figaro.env.s3_access_key_id,
Figaro.env.s3_secret_access_key
)
)
s3 = Aws::S3::Client.new
resp = s3.list_buckets
puts resp.buckets.map(&:name)
Official list of AWS region IDs here.
如果您不确定该地区,最好的猜测是美国标准,其 ID us-east-1
用于配置目的,如上所示。
如果您在 Rails 中使用 aws.yml
文件作为凭据,您可能需要创建一个包含以下内容的文件 config/initializers/aws.rb
:
filename = File.expand_path(File.join(Rails.root, "config", "aws.yml"))
config = YAML.load_file(filename)
aws_config = config[Rails.env.to_s].symbolize_keys
Aws.config.update({
region: aws_config[:region],
credentials: Aws::Credentials.new(aws_config[:access_key_id], aws_config[:secret_access_key])
})
config/aws.yml
文件需要适配器以包含该区域。
development: &development
region: 'your region'
access_key_id: 'your access key'
secret_access_key: 'your secret access key'
production:
<<: *development