gpt4 book ai didi

ruby - 如何将 --profile 开关与 aws-rb(Ruby gem aws-sdk 的一部分)一起使用?

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:02 27 4
gpt4 key购买 nike

我的 $HOME/.aws/config 文件中有几个通过 [profile X] 定义的 AWS key 。当我尝试将它们与 aws-rb 一起使用时,似乎这个工具应该可以与它们一起使用。但是我无法让它这样做。特别是下面的 --profile 开关:

$ aws-rb --help
Usage: aws-rb [options]
--repl REPL specify the repl environment, pry or irb
-e 'command' one line of script. Several -e's allowed.
-l, --[no-]log log client requets, on by default
-c, --[no-]color colorize request logging, on by default
--profile PROFILE Use a specific profile from your credential file.
-d, --[no-]debug log HTTP wire traces, off by default
-Idirectory specify $LOAD_PATH directory (may be used more than once)
-rlibrary require the library
-v, --verbose enable client logging and HTTP wire tracing
-q, --quiet disable client logging and HTTP wire tracing
-h, --help

例子

我想使用的配置文件:

$ grep stag ~/.aws/config 
[profile stag]

当我尝试获取 S3 存储桶名称列表时:

$ aws-rb -vd --profile stag
[1]pry(AWS)> s3.buckets.map(&:name)
AWS::Errors::MissingCredentialsError:
Missing Credentials.

如果我使用 aws,我可以从 AWS 配置文件中看到我的凭证工作正常:

$ AWS_DEFAULT_PROFILE=stag /usr/bin/aws s3 ls
2014-03-01 14:36:38 bucket1
2013-07-01 12:01:29 bucket2

引用资料

最佳答案

AWS 的各种 AWS SDK(包括 Ruby)从 ~/.aws/credentials 加载共享凭证,而不是从 ~/.aws/config~/.aws/config 文件目前仅由 AWS CLI 使用。共享凭据文件仅用于 secret ,应如下所示:

[stag]
aws_access_key_id=AKID
aws_secret_access_key=SECRET

请注意,在每个配置文件的 ini 文件部分中没有“配置文件”前缀。

关于ruby - 如何将 --profile 开关与 aws-rb(Ruby gem aws-sdk 的一部分)一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369204/

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