如何使用 AWS SDK 配置 SNS 传送状态?

How to configure SNS delivery status with the AWS SDK?

如果您创建一个 SNS 主题,并在亚马逊控制台中打开 Other topic actions 下的 Delivery Status 选项,您可以看到:

如您所见,现在可以通过配置成功和失败 IAM 角色来获取 SNS 传递状态反馈。这工作正常,我可以在 CloudWatch 中看到所有发布给每个订阅者的消息的所有日志。

不能做的是用Java AWS SDK设置这些值,有什么办法吗?

我正在使用 aws-java-sdk:1.10.23(截至目前最新)

正如@david-murray 在 documentation 中指出的那样,这是为 HTTP 端点配置反馈的解决方案:

amazonSnsClient.setTopicAttributes(topicArn, "HTTPFailureFeedbackRoleArn", "arn:aws:iam::1234567890:role/SNSFailureFeedback");

同样的想法可以用于 ApplicationLambdaSQS

我的错误是试图像屏幕截图中的表单那样通过一次调用来设置所有这些:

https://eu-west-1.console.aws.amazon.com/sns/v2/SetMultiTopicAttributes

虽然目前 SDK 中似乎没有这个功能,但 4 个单独的调用会产生相同的效果。

谢谢!