【问题标题】:I have an AWS access key and I have created an SQS queue but still can't access SQS using python boto我有一个 AWS 访问密钥,并且我创建了一个 SQS 队列,但仍然无法使用 python boto 访问 SQS
【发布时间】:2015-08-13 00:40:28
【问题描述】:

所以,我有一个AWS Access Key Id 及其各自的AWS Secret Key。此外,从 AWS 仪表板中,我在 SQS 中创建了一个队列,并将测试消息放入队列中。我已经为 Python 下载了boto。然而,当我尝试运行最基本的命令时,我得到一个错误:

import boto.sqs
conn = boto.sqs.connect_to_region('us-west-2',
                                  aws_access_key_id = settings.AWSAccessKeyId,
                                  aws_secret_access_key = settings.AWSSecretKey)
print conn.get_all_queues()
exit()

我收到以下错误:

Traceback (most recent call last):
  File "my_prog.py", line 43, in <module>
    print conn.get_all_queues()
  File "/usr/local/lib/python2.7/dist-packages/boto/sqs/connection.py", line 446, in get_all_queues
    return self.get_list('ListQueues', params, [('QueueUrl', Queue)])
  File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 1186, in get_list
    raise self.ResponseError(response.status, response.reason, body)
boto.exception.SQSError: SQSError: 403 Forbidden
<?xml version="1.0"?>
<ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
  <Error>
    <Type>Sender</Type>
    <Code>OptInRequired</Code>
    <Message>The AWS Access Key Id needs a subscription for the service.</Message>
    <Detail/>
  </Error>
  <RequestId>45255e1e-aaff-548b-9d71-105bda134530</RequestId>
</ErrorResponse>

密钥是正确的,我在其他情况下成功使用它们。

【问题讨论】:

    标签: python amazon-web-services boto amazon-sqs


    【解决方案1】:

    我为此苦苦挣扎了好几个小时,在我在这里发布问题后,我立即找到了答案。

    诀窍在于,显然您不能为此使用 AWS 根密钥,您必须创建一个 IAM 用户并向该用户授予 SQS 权限。

    【讨论】:

    • 您在此处提供了哪些 SQS 权限?
    猜你喜欢
    • 2021-08-22
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 2016-08-18
    • 2015-12-08
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    相关资源
    最近更新 更多