我很难找到如何在boto3中正确配置sqs,以便能够向我的sqs队列发送消息。boto3和遗留端点之间似乎存在一些混淆,但对于我能想象到的配置的每个排列,我都会收到错误消息The address 'https://us-west-2.queue.amazonaws.com/xxxx/my-name' is not valid for this endpoint.
。这是代码。
# Tried both of these
sqs_queue_url = 'https://sqs.us-west-2.amazonaws.com/xxxx/my-queue'
sqs_queue_url = 'https://us-west-2.queue.amazonaws.com/xxxx/my-queue'
# Tried both of these
sqs = boto3.client("sqs", endpoint_url="https://sqs.us-west-2.amazonaws.com")
sqs = boto3.client("sqs")
# _endpoint updates
logger.info("sqs endpoint: %s", sqs._endpoint)
# Keeps failing
sqs.send_message(QueueUrl=sqs_queue_url, MessageBody=message_json)
我希望这是个愚蠢的错误。我缺少什么配置?
从文档、AWS CLI和Python SDK使用遗留端点:
如果使用AWS CLI或SDK for Python,则可以使用以下遗留端点。
此外,当您设置端点时,您需要添加https:
sqs = boto3.client("sqs", endpoint_url="https://us-west-2.queue.amazonaws.com")