Dei*_*eiv 6 amazon-web-services amazon-sns amazon-cloudwatch aws-lambda
要求:
为使用开发工具包(而不是通过控制台)发送到 AWS Lambda 的通知启用 SNS 传输状态日志记录(到 CloudWatch)
问题:
通过控制台,我们可以通过选择协议“AWS Lambda”轻松启用交付状态日志记录。但是,通过SDK,只有一个选项可以将其设置为“平台应用程序端点”协议,该协议具有强制属性PlatformApplicationArn,因此不能用于其他日志协议。
我是否遗漏了什么,或者此功能尚不可用?
好吧,由于文档极具误导性,经过很多麻烦之后,我已经弄清楚了。
为了启用 Lambda 协议的日志记录(我还没有测试其他协议),您必须使用SetTopicAttributes。尽管文档声明这AttributeName是一个包含DeliveryPolicy、DisplayName、 或 的地图Policy,但您实际上必须在3 个单独的 SNS.setTopicAttributes() 调用AttributeName中设置为LambdaSuccessFeedbackRoleArn、LambdaFailureFeedbackRoleArn、 和。LambdaSuccessFeedbackSampleRate
因此,参数将如下所示:
let paramsSuccessFeedbackRoleArn = {
TopicArn: topicArn,
AttributeName: "LambdaSuccessFeedbackRoleArn",
AttributeValue: "replace with arn for SuccessFeedbackRoleArn"
};
let paramsFailureFeedbackRoleArn = {
TopicArn: topicArn,
AttributeName: "LambdaFailureFeedbackRoleArn",
AttributeValue: "replace with arn for FailureFeedbackRoleArn"
};
let paramsSuccessFeedbackSampleRate = {
TopicArn: topicArn,
AttributeName: "LambdaSuccessFeedbackSampleRate",
AttributeValue: 0
};
Run Code Online (Sandbox Code Playgroud)
然后 3 个 SDK 调用,每个参数调用一个。
| 归档时间: |
|
| 查看次数: |
2670 次 |
| 最近记录: |