【问题标题】:Configuring SNS Delivery Retry Policies配置 SNS 传递重试策略
【发布时间】:2013-08-18 06:09:42
【问题描述】:

我想知道是否可以配置 通过 cloudFormation 的 SNS 传递重试策略。

我在任何在线文档中都找不到它。如果这样的配置是可能的, 如果有人可以发布一个 sn-p 来展示如何做,我将不胜感激。

提前致谢,

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation amazon-sns


    【解决方案1】:

    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 很好地概述了这一切、它是如何工作的以及实现您自己的需要什么。

    您的自定义资源需要通过显式调用 SetSubscriptionAttributesSetTopicAttributes API 操作来实现对传递重试策略的缺失支持,并根据示例请求显然也未记录的 DeliveryPolicy 属性> 显示在那里,例如:

    {
        "healthyRetryPolicy": 
        {
            "minDelayTarget":  <int>,
            "maxDelayTarget": <int>,
            "numRetries": <int>,
            "numMaxDelayRetries": <int>,
            "backoffFunction": "<linear|arithmetic|geometric|exponential>"
        },
        "throttlePolicy":
        {
            "maxReceivesPerSecond": <int>
        }
    }
    

    【讨论】:

      【解决方案2】:

      我能够通过首先使用 CDK 部署 AWS SNS 主题来做到这一点。然后我必须创建一个 Lambda 函数来设置主题的属性。

      我在以下存储库中创建了一个如何执行此操作的示例: https://github.com/Milan9805/cdk-set-topic-attributes

      仓库中有一个使用 cdk 部署主题和 lambda 的 GitHub 操作。然后它调用 lambda 来设置主题属性。

      【讨论】:

        猜你喜欢
        • 2015-08-25
        • 1970-01-01
        • 2017-10-13
        • 2017-04-27
        • 1970-01-01
        • 2021-07-22
        • 2017-12-14
        • 1970-01-01
        • 2020-06-18
        相关资源
        最近更新 更多