Amazon SNS,如何找到事件的来源?
Amazon SNS, how to find the source of an event?
所以我试图找到一个奇怪错误的来源,该错误会导致特定 lambda 函数的异常调用峰值。到目前为止,我已将日志记录功能添加到 lambda 并重新部署以收集有关触发 lambda 的上下文和事件对象的更多信息。
所以我想知道这些事件起源于何处,并且从上述记录的事件对象中我发现 TopicArn 是罪魁祸首,但我如何才能找到这种关系中有罪的发布者?有什么想法或我忽略了什么吗?
根据您的登录方式,您可能还想将 SQS 队列附加到主题。这会给你完整的数据包。我可以在我的一个中看到类似的东西:
{
"version": "0",
"id": "7f47b81a-10cc-4b28-be35-123456789",
"detail-type": "Scheduled Event",
"source": "aws.events",
"account": "123456789",
"time": "2017-02-03T18:28:52Z",
"region": "us-east-1",
"resources": [
"arn:aws:events:us-east-1:123456789:rule\/5_min_scheduler"
],
"detail": {
}
}
这显然是来自 cloudwatch 计划的事件,但它确实有来源。我不确定您是否会这样做,但是除了 Lambda 之外,将主题推送到队列以协助调试也很容易。
你有CloudTrail enabled? You should be able to use CloudTrail to log all the calls to your SNS topics.
所以我试图找到一个奇怪错误的来源,该错误会导致特定 lambda 函数的异常调用峰值。到目前为止,我已将日志记录功能添加到 lambda 并重新部署以收集有关触发 lambda 的上下文和事件对象的更多信息。
所以我想知道这些事件起源于何处,并且从上述记录的事件对象中我发现 TopicArn 是罪魁祸首,但我如何才能找到这种关系中有罪的发布者?有什么想法或我忽略了什么吗?
根据您的登录方式,您可能还想将 SQS 队列附加到主题。这会给你完整的数据包。我可以在我的一个中看到类似的东西:
{
"version": "0",
"id": "7f47b81a-10cc-4b28-be35-123456789",
"detail-type": "Scheduled Event",
"source": "aws.events",
"account": "123456789",
"time": "2017-02-03T18:28:52Z",
"region": "us-east-1",
"resources": [
"arn:aws:events:us-east-1:123456789:rule\/5_min_scheduler"
],
"detail": {
}
}
这显然是来自 cloudwatch 计划的事件,但它确实有来源。我不确定您是否会这样做,但是除了 Lambda 之外,将主题推送到队列以协助调试也很容易。
你有CloudTrail enabled? You should be able to use CloudTrail to log all the calls to your SNS topics.