Ruby on rails 在Ruby Shell中切换AWS帐户

Ruby on rails 在Ruby Shell中切换AWS帐户,ruby-on-rails,ruby,amazon-web-services,amazon-s3,Ruby On Rails,Ruby,Amazon Web Services,Amazon S3,我试图从交互式ruby shell中访问s3 bucket,使用与应用程序配置的AWS凭据不同的AWS凭据 我尝试使用另一个密钥/密码手动设置新的s3客户端,但由于调用默认使用应用程序的预配置AWS帐户,因此访问被拒绝。修改应用程序配置的凭据不是一个选项,因为需要同时访问不同的AWS资源 下面是我在ruby shell中尝试的内容: s3_2 = AWS::S3.new(:access_key_id => "<key>", :secret_access_key => "&

我试图从交互式ruby shell中访问s3 bucket,使用与应用程序配置的AWS凭据不同的AWS凭据

我尝试使用另一个密钥/密码手动设置新的s3客户端,但由于调用默认使用应用程序的预配置AWS帐户,因此访问被拒绝。修改应用程序配置的凭据不是一个选项,因为需要同时访问不同的AWS资源

下面是我在ruby shell中尝试的内容:

s3_2 = AWS::S3.new(:access_key_id => "<key>", :secret_access_key => "<secret>")
bucket = s3_2.buckets['<bucket_name>']
bucket.objects.each do |obj|
  puts obj.key
end
s3\u 2=AWS::s3.new(:access\u key\u id=>,:secret\u access\u key=>)
桶=s3_2.桶[“”]
bucket.objects.each do| obj|
把obj.key
结束

(测试只是进行一次确认访问,如果我在bucket上使用public访问,它会起作用,因为它允许任何AWS用户,但当我限制它并尝试使用对帐户具有s3完全访问权限的新临时用户时,它不会起作用。)

Rails控制台应该是使用预先配置的凭据从服务器实例中分离出来的应用程序的单独运行实例

以下内容应仅更新rails控制台会话的凭据

Aws.config.update({credentials:Aws::Credentials.new('your_access_key_id','your_secret_access_key')})

应初始化新的AWS S3客户端:


s3\u 2=Aws::s3::Client.new(:access\u key\u id=>,:secret\u access\u key=>)

这样做的问题是应用程序处于活动状态,仍然需要访问默认配置。我需要一种使用临时配置的方法。这可能就是答案,您不能同时配置多个aws帐户。。