2016-07-15 7 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を返し、応答オブジェクトには成功と失敗の2つのフィールドがあります。

Failedには、メッセージIDと失敗の理由を含むオブジェクトの「BatchResultErrorEntry」タイプのリストがあります。

+0

部分的な成功のシナリオを作成してテストするにはどうすればよいですか? –

+0

バッチ削除要求で無効なmsg IDを送信してみます。 – Shibashis

関連する問題