【发布时间】:2013-03-03 12:39:55
【问题描述】:
我得到:请求中包含的安全令牌无效
从哪里获得会话令牌?当前的文档令人困惑。一方面它说:
如果您使用具有长期凭证的 AWS::DynamoDB 发出请求,则会向 Amazon STS 发出临时会话凭证请求。这些将被缓存在进程中并重新使用。
然后它说:
Amazon DynamoDB 要求所有请求都使用短期凭证(例如,需要会话令牌)。
如果我不提供,那么 session_token 究竟来自哪里?如果调用提供了它,为什么它会无效?
requires 'aws-sdk'
cred = {:access_key_id => 'xxxx',
:secret_access_key => 'yyyy'}
#:session_token => ''}
ddb = AWS::DynamoDB.new(cred)
items = {...}
ddb.batch_write do |batch|
batch.put('my_mappings', items)
end
【问题讨论】:
-
请注意,在 irb 中,DynamoDB.new 的启动仅适用于 :access_key_id 和 :secret_access_key。不需要 session_key。同样,在代码中,我可以使用“ddb”句柄。
标签: ruby session amazon-web-services amazon-dynamodb