我浏览了位于此处的快速入门:https://boto3.readthedocs.io/en/latest/guide/quickstart.html
我安装了AWS CLI并使用我的有效密钥对其进行了配置。我已经检查了〜/ .aws / credentials和〜/ .aws / config
此时我应该可以在命令提示符下使用python bin/process_sqs_messages.py
运行我的py脚本。脚本如下所示:
__author__ = 'chris'
import boto3
sqs = boto3.client('sqs')
# List SQS queues
response = sqs.list_queues()
print(response['QueueUrls'])
我收到以下错误:
botocore.exceptions.ClientError: An error occurred (InvalidClientTokenId)
when calling the ListQueues operation: No account found for the given parameters
完整堆栈跟踪:
Traceback (most recent call last):
File "bin/process_sqs_messages.py", line 12, in <module>
response = client.list_queues()
File "/Users/xxxx/.environments/xxxx_env/lib/python3.6/site-packages/botocore/client.py", line 310, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Users/xxxxx/.environments/xxxxx_env/lib/python3.6/site-packages/botocore/client.py", line 599, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidClientTokenId) when calling the ListQueues operation: No account found for the given parameters
我的猜测是我错过了会话令牌,但我不确定,如果我在哪里/如何获得会话令牌?样本根本没有提到它。
答案 0 :(得分:1)
我刚刚创建了一个新用户并且神奇地再次工作了。必须让我的凭据在某个地方失效,但该用户仍然存在且该用户的凭据在awscli内部匹配。
答案 1 :(得分:0)
就我而言,我创建了新用户/密钥,但没有用。另外,我仔细检查了以下内容。
是我的旧终端导致了问题(我几乎好几个星期都没有关闭它)所以关闭它后,我重新启动它并且它运行得非常好。