![](/img/trans.png)
[英]Send email when message being pushed to AWS Simple Queue Service
[英]How to correctly send a message to the Queue - Javascript / AWS
我有一個接收 SQSEvent 的簡單 lambda。 我已經設置了一個 DLQ(死信隊列)以防 lambda 無法處理消息。
const lambdaHandler = async (event: SQSEvent): Promise<APIGatewayProxyResult> {
if(!event || !event.Records || !event.Records.length || !event.Records[0].body) {
return {
statusCode: 400,
body: JSON.stringify({ message: 'Event and event body is required' })
};
}
我認為我處理不當。 我發送了 HTTP 響應,並像 API 一樣處理錯誤響應。
將消息發送到 DLQ 的正確方法應該是什么?
如果 Lambda function 返回錯誤響應,消息將被移動到 SQS 隊列。 最簡單的方法是拋出異常。 如果每個 Lambda 事件有可能接收到多個 SQS 消息(如果您將消息批處理大小設置為大於1
的值),那么您應該考慮以以下格式返回消息批處理響應:
{
"batchItemFailures": [
{
"itemIdentifier": "id2"
},
{
"itemIdentifier": "id4"
}
]
}
最佳實踐實際上是始終以該格式返回響應,如果沒有錯誤,它將只是一個空列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.