boto3:找不到之前立即创建的队列

时间:2019-06-17 19:25:04

标签: amazon-web-services boto3 amazon-sqs

我在boto3中创建了一个SQS队列,并立即通过sqs.list_queues查找它,但不会返回任何内容。

当我在控制台中输入SQS队列名称时,它只有在第二次再次输入时才返回任何内容。

这是否意味着我需要两次调用list_queues?为什么会这样呢?为什么没有立即创建的AWS返回队列?

    sqs = boto3.client('sqs')
    myQ = sqs.create_queue(QueueName='just_created')

    response = sqs.list_queues(
        QueueNamePrefix='just_created'
    )

response不包含通常的QueueUrls

数组

1 个答案:

答案 0 :(得分:1)

就像许多AWS服务一样,SQS控制平面最终是一致的,这意味着需要花费一些时间才能在整个系统中传播数据。

如果需要刚刚创建的队列的URL,可以在create_queue调用的返回值中找到它。

以下操作将创建一个名为MyQueue的SQS队列。

response = client.create_queue(
    QueueName='MyQueue',
)

print(response)

预期输出:

{
    'QueueUrl': 'https://queue.amazonaws.com/012345678910/MyQueue',
    'ResponseMetadata': {
        '...': '...',
    },
}