配置SNS传送重试策略

问题描述 投票:0回答:3

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

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

提前致谢,

amazon-web-services aws-cloudformation amazon-sns
3个回答
7
投票

AWS CloudFormation 有时并不涵盖其他 AWS 产品和服务中可用的所有(新)API 操作,尽管它们通常会在几个月后引入。

不幸的是,尽管HTTP/HTTPS 端点的 SNS 传输重试策略已于 于 2011 年 12 月推出,但截至目前仍不支持此功能。

解决方法

您仍然可以通过专用的 CustomResource 类型来实现 CloudFormation 的解决方法,这些类型是 特殊的 AWS CloudFormation 资源,为模板开发人员提供了一种将资源包含在 AWS CloudFormation 堆栈中的方法,这些资源由Amazon Web Services 以外的来源。 - AWS CloudFormation 自定义资源演练 很好地概述了这一切、它的工作原理以及实施您自己的资源所需的内容。

您的自定义资源需要通过显式调用 SetSubscriptionAttributesSetTopicAttributes API 操作以及明显未记录的

DeliveryPolicy
属性(根据此处显示的 示例请求)来实现对交付重试策略的缺失支持,例如:

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

1
投票

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

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

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


0
投票

有一个办法。通过 CF 创建订阅资源并根据需要设置重试策略。

希望有帮助:)

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.