我想洗掉大約 300-400 sqs 佇列。我正在嘗試使用 lambda 函式和 boto3 來實作。我的編程技術不是很好。我正在嘗試做這樣的事情
def delete_queues (event, context):
response = client.list_queues(
QueueNamePrefix='aaa-bbb-ccc'
)
for i in response:
del_queue = client.delete_queue(QueueUrl=response[i])
列出佇列會給我一個由“,”分隔的 URL 串列。
Response
{
"QueueUrls": [
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo",
"https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo"]
我想遍歷串列并洗掉 URL,因為洗掉 API 呼叫只需要字串作為輸入。當我運行它時,它給了我以下錯誤:
"errorMessage": "Parameter validation failed:\nInvalid type for parameter QueueUrl, value: ['https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo', 'https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo', 'https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo', 'https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo', 'https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo', 'https://ap-southeast-2.queue.amazonaws.com/xxxx/aaa-bbb-ccc.fifo'], type: <class 'list'>, valid types: <class 'str'>"
有人可以幫我糾正這個問題。謝謝。
uj5u.com熱心網友回復:
您可以直接遍歷佇列 url,而不是它們的索引。因此它應該是:
for sqs_url in response['QueueUrls']:
print(f'Deleting {sqs_url}...')
del_queue = client.delete_queue(QueueUrl=sqs_url)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/437047.html
標籤:亚马逊网络服务 aws-lambda 博托3 亚马逊广场
上一篇:IAM寫入空S3存盤桶的權限
下一篇:無法訪問的主機:`savingsplans.eu-west-1.amazonaws.com'。此服務在“eu-west-1”區域可能不可用
