Я использую тему SNS в качестве очереди недоставленных сообщений для обработки ошибок, выдаваемых несколькими лямбдами. В сообщениях об ошибках присутствуют следующие атрибуты:
RequestID,
ErrorCode,
ErrorMessage,
Однако я не могу легко найти, какая лямбда вызвала ошибку, так как ничего не связанного с этим появляется в сообщении (например: ARN, имя функции ...)
Хотя можно найти идентификатор запроса в CloudWatch или создать несколько тем, должен быть намного более простой способ найти, какая лямбда вызвала ошибку. Ниже приведена структура полученного сообщения:
{
"Records": [
{
"EventSource": "aws:sns",
"EventVersion": "1.0",
"EventSubscriptionArn": "",
"Sns": {
"Type": "Notification",
"MessageId": "",
"TopicArn": "",
"Subject": null,
"Message": "",
"Timestamp": "",
"SignatureVersion": "",
"Signature": "",
"SigningCertUrl": "",
"UnsubscribeUrl": "",
"MessageAttributes": {
"RequestID": {
"Type": "String",
"Value": ""
},
"ErrorCode": {
"Type": "String",
"Value": "200"
},
"ErrorMessage": {
"Type": "String",
"Value": "test"
}
}
}
}
]
}
Есть ли способ добавить информацию, такую как ARN, в лямбду, которая вызвала это сообщение об ошибке?