我正在尝试安装aws-skd gem:
https://github.com/aws/aws-sdk-ruby
他们建议使用ENV变量或它们的共享配置文件。我已经走下了secretts.yml的道路,到目前为止它运作良好。所以我想我可以使用Aws.config
,他们说状态优先于前者。我猜了一下,把它放在config
文件夹中,但这不起作用。
您应该可以只调用s3 = Aws::S3::Client.new
,但在我的情况下,默认区域和凭据未被存储/应用。
我在哪里存储此文件,还是有其他方法可以执行此操作?
PS我尝试在初始化程序中添加它,但这也不起作用。
更新
现在我已经多次RTFM我发现了我的问题。我将在下面回答我自己的问题。
答案 0 :(得分:1)
如the documenation中所述:~/.aws/credentials
您可以阅读更多详情here。
答案 1 :(得分:0)
因此,出于某种原因,我将文档视为Aws.config
作为实际文件与设置配置(D'哦!)。
所以我再次尝试了初始化程序:
#config/initalizers/aws-sdk.rb
require 'aws-sdk'
Aws.config.update({
access_key_id: Rails.application.secrets.aws_access_key_id,
secret_access_key: Rails.application.secrets.aws_secret_access_key,
region: Rails.application.secrets.aws_region
})
我之前实际上已经厌倦了,但我认为它不起作用。我实际上没有退出并重新启动控制台以及服务器 - 我只是重新加载控制台,因此初始化程序更改没有得到反映。 +1到@ mark-b让我再次阅读文档。