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

0

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

profile picture
전문가
질문됨 6달 전10회 조회
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
전문가
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인