2016-07-15 58 views
0
deleteMessagesParams := &sqs.DeleteMessageBatchInput{ 
     Entries: messagesToDelete, // array of type *sqs.DeleteMessageBatchRequestEntry 
     QueueUrl: aws.String(QUEUE_URL), 
} 

if resp , err := svc.DeleteMessageBatch(deleteMessagesParams); err != nil { 
    log.Println("Batch Delete Failed: ", err.Error()) 
}else{ 
    log.Println("Batch Delete Successful: ", resp) 
} 

我在SQS中使用批量刪除。當批量刪除操作成功時,resp包含刪除成功的消息的MessageId。AWS-SDK:SQS如何識別BatchDeleteOperation中未刪除的郵件

如果發生錯誤或某些消息沒有從隊列中刪除,err是否將包含MessageId的批次刪除失敗?

回答

0

如果執行批量刪除時部分成功,服務將返回200 OK,並且響應對象將具有兩個字段「成功」和「失敗」。

失敗將具有包含消息ID和失敗原因的「BatchResultErrorEntry」類型對象的列表。

+0

如何創建部分成功的方案並對其進行測試? –

+0

嘗試在批量刪除請求中發送無效的信息。 – Shibashis