我正在使用AWS Ruby v2 sdk预发行版。为eu-west-1平稳运行的EC2和S3服务的脚本不适用于eu-central-1。我得到以下例外:
AWS was not able to validate the provided access credentials (Aws::EC2::Errors::AuthFailure)
经过简短的查询,我发现这是因为eu-central-1仅支持签名版本4.没关系。根据建议,我在s3_signature_version: v4
中添加了config.yml
。然后我开始得到一个新的例外:
/usr/local/lib/ruby/gems/2.1.0/gems/aws-sdk-core-2.0.3/lib/seahorse/client/configuration.rb:160:in `rescue in block in apply_options': invalid configuration option `:s3_signature_version' (ArgumentError)
所以现在我有两个问题。
s3_signature_version: v4
中的config.yml
有什么问题?答案 0 :(得分:3)
如果您更新到aws-sdk-core的2.0.5版本,那么它将默认为签名版本4.要强制使用旧版本的aws-sdk-core来使用sigv4,请将signature_version: 'v4'
传递给您客户端构造函数。