如何使用python boto3将消息发送到本地SQS队列?
我尝试使用容器来模拟AWS SQS功能 我能够运行docker容器并使用terminal将消息发送到队列。使用AWS配置将AWS访问密钥ID和AWS秘密访问密钥配置为空字符串 我用来将消息发送到SQS队列容器的命令如下如何使用python boto3将消息发送到本地SQS队列?,python,amazon-web-services,boto3,message-queue,amazon-sqs,Python,Amazon Web Services,Boto3,Message Queue,Amazon Sqs,我尝试使用容器来模拟AWS SQS功能 我能够运行docker容器并使用terminal将消息发送到队列。使用AWS配置将AWS访问密钥ID和AWS秘密访问密钥配置为空字符串 我用来将消息发送到SQS队列容器的命令如下 aws --endpoint-url http://localhost:9324 sqs send-message --queue-url http://localhost:9324/queue/default --message-body "Hello, queue!" 我能
aws --endpoint-url http://localhost:9324 sqs send-message --queue-url http://localhost:9324/queue/default --message-body "Hello, queue!"
我能够接收到消息,并且可以在浏览器中的仪表盘中看到它,网址为localhost:9235
但是,当我尝试在python
中使用boto3
发送消息时,它抛出了一个错误
回溯(最近一次调用上次):文件
“/home/infomagnus/PycharmProjects/infomagnus/workload/app/workload/services/queue_services.py”,
第13行,在
“关于当前纽约时报小说畅销书的信息”文件
“/home/infomagnus/envs/DSDPenv/lib/python3.7/site packages/botocore/client.py”,
第357行,in_api_调用
返回self._make_api_call(操作名称,kwargs)文件“/home/infomagnus/envs/DSDPenv/lib/python3.7/site packages/botocore/client.py”,
第661行,进行api调用
引发错误\u类(已解析的\u响应,操作\u名称)botocore.exceptions.ClientError:发生错误
(InvalidClientTokenId)调用SendMessage操作时:
请求中包含的安全令牌无效
不确定为什么即使在使用aws configure设置键后也会出现错误
我正在运行的所有东西都在本地
这是我的密码:
import boto3
sqs = boto3.client('sqs', aws_access_key_id=None, aws_secret_access_key=None)
queue_url = 'http://localhost:9324/queue/default'
resp = sqs.send_message(
QueueUrl=queue_url,
MessageBody=(
'Sample message for Queue.'
)
)
print(resp['MessageId'])
您忘记传递
端点\u url
sqs = boto3.client('sqs', aws_access_key_id=None, aws_secret_access_key=None, endpoint_url='http://localhost:9324')