如何获取所有SQS队列的列表?

0

【以下的问题经过翻译处理】 由于各种原因,我们的 SQS 队列数量急剧增长。我们想获得所有现有队列的列表。使用 AWSCli,我们受限于 1000 的上限。有没有办法使我们可以获取所有 sqs 队列的完整列表?此外,是否存在与 --queue-name-prefix 匹配的“否定”正则表达式?你能提供一些例子吗?非常感谢!

profile picture
专家
已提问 5 个月前4 查看次数
1 回答
0

【以下的回答经过翻译处理】 这个有点棘手。我不得不创建1005个队列才能找出答案。1000个限制似乎与客户端(aws cli本身)所发出的请求得到的最大结果数量有关。当使用超过1000个队列时,似乎需要调整--max-items--page-size--page-size将允许客户端在后台发出更多请求。这是我用来解决问题的方法,你的结果可能不同。

$ aws sqs list-queues --max-items 1000 --page-size 1000
{
    "QueueUrls": [
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-0001",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-0002",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-0003",
...
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-0998",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-0999",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-1000"
    ],
    "NextToken": "...TQT09In0="
}

我必须使用--max-items来显示NextToken...

然后获取其他队列:

$aws sqs list-queues --max-items 1000 --page-size 1000 --starting-token "...TQT09In0="
{
    "QueueUrls": [
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-1001",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-1002",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-1003",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-1004",
        "https://sqs.us-west-2.amazonaws.com/123456789123/dk-test-q-1005"
    ]
}

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则