Reputation: 528
I have a scenario where I publish a message in a SNS topic and this message then is sent to SQS queue. What I want is to have logs in SNS everytime a message is sent to a subscriber (like my sqs queue). SNS being a passive component of AWS, logs are not generated automatically and must be set up through the feature "Delivery status logging". I have accomplished the set up through the AWS console but I would like to do it through the AWS CDK. I did not find anything in the documentation and either in examples through the web. Anyone already did that ?
Regards,
Upvotes: 5
Views: 2815
Reputation: 966
Starting Dec-2023, SNS has added support for configuring delivery status logging via CloudFormation templates. Here's the feature announcement post: https://aws.amazon.com/about-aws/whats-new/2023/12/amazon-sns-configuring-delivery-status-logging-aws-cloudformation/
And here's how you do it:
"Resources": {
"MySNSTopic" : {
"Type" : "AWS::SNS::Topic",
"Properties" : {
"TopicName" : "TestTopic",
"DisplayName" : "TestTopic",
"SignatureVersion" : "2",
"DeliveryStatusLogging" : [{
"Protocol": "sqs",
"SuccessFeedbackSampleRate": "95",
"SuccessFeedbackRoleArn": "arn:aws:iam::123456789012:role/SNSSuccessFeedback_test1",
"FailureFeedbackRoleArn": "arn:aws:iam::123456789012:role/SNSFailureFeedback_test2"
}]
}
}
}
Upvotes: 1
Reputation: 2777
I am afraid it can be done currently only via AWS SDK or management console: https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html
To configure topic attributes for message delivery status, you can use the AWS Management Console, AWS software development kits (SDKs), or query API.
I see no option to set it via CloudFormation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html
Upvotes: 4