我想知道是否可以配置 通过cloudFormation进行SNS交付重试策略。
我在任何在线文档中都找不到它。如果可以这样配置, 如果有人可以发布一个显示如何操作的片段,我将非常感激。
先谢谢,
答案 0 :(得分:4)
AWS CloudFormation有时并未涵盖其他AWS Products & Services内可用的所有(新)API操作,但它们通常会在几个月后推出。
不幸的是,尽管SNS Delivery Retry Policies for HTTP/HTTPS Endpoints已经introduced in December 2011,但截至今天仍然不支持此功能。
您或许可以通过专用的CustomResource类型实现CloudFormation的变通方法,这些类型是特殊的AWS CloudFormation资源,为模板开发人员提供了一种在AWS CloudFormation中包含资源的方法由Amazon Web Services以外的源提供的堆栈。 - AWS CloudFormation Custom Resource Walkthrough可以很好地概述这是什么,它是如何工作的以及实现自己需要什么。
您的自定义资源需要通过明确调用SetSubscriptionAttributes或SetTopicAttributes API操作以及明显无文档的DeliveryPolicy
属性来实现对交付重试策略的缺失支持>那里显示了样本请求,例如:
{
"healthyRetryPolicy":
{
"minDelayTarget": <int>,
"maxDelayTarget": <int>,
"numRetries": <int>,
"numMaxDelayRetries": <int>,
"backoffFunction": "<linear|arithmetic|geometric|exponential>"
},
"throttlePolicy":
{
"maxReceivesPerSecond": <int>
}
}
答案 1 :(得分:0)
我能够通过首先使用CDK部署AWS SNS主题来做到这一点。然后,我不得不创建一个Lambda函数来设置主题的属性。
我在以下存储库中创建了如何执行此操作的示例: https://github.com/Milan9805/cdk-set-topic-attributes
存储库中有一个GitHub操作,该操作使用cdk部署主题和lambda。然后,它调用lambda来设置主题属性。