sqs boto3:地址 'https://us-west-2.queue.amazonaws.com/xxxx/my-name' 对此端点无效

sqs boto3: The address 'https://us-west-2.queue.amazonaws.com/xxxx/my-name' is not valid for this endpoint

我很难找到如何在 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)

我希望这是一个愚蠢的错误。我缺少什么配置?

docs、AWS CLI 和 Python SDK 使用 旧端点:

If you use the AWS CLI or SDK for Python, you can use the following legacy endpoints.

此外,当您设置终结点时,您需要添加 https:

sqs = boto3.client("sqs", endpoint_url="https://us-west-2.queue.amazonaws.com")