3 回答


TA貢獻1806條經驗 獲得超5個贊
我們可以批量發送 10 個。工作代碼:
List<SendMessageBatchRequestEntry> sqsList= new LinkedList<SendMessageBatchRequestEntry>();
int batchId = 1; //To send a unique batchId for each msg in a batch
for (Metadata metadata: metadataList) {
String jsonString = new Gson().toJson(metadata);
if (sqsList.size() == 10) {
amazonSqs.sendMessageBatch(new SendMessageBatchRequest(queueUrl, sqsList));
sqsList.clear();
}
sqsList.add(new SendMessageBatchRequestEntry(batchId + "", jsonString));
batchId++;
}
if(sqsList.size()>0) {
amazonSqs.sendMessageBatch(new SendMessageBatchRequest(queueUrl, sqsList));
}

TA貢獻1780條經驗 獲得超4個贊
似乎您的代碼很好,據我記得(我自己已經多次看到此錯誤),由于 SDK 如何重用 HTTP 連接,在使用 SDK 時會不時發生這種情況。此錯誤僅告訴您您的 Lambda 重置了 HTTP 連接,但 SDK 具有內置功能以重試失敗的請求,因此如果您在每個請求上都沒有看到此錯誤,您應該沒問題。
添加回答
舉報