部署和订阅事件重播管道 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

部署和订阅事件重播管道

本教程说明如何部署事件重播管道并为该管道订阅 Amazon SNS 主题。此过程自动将与管道关联的 Amazon SAM 模板转换为 Amazon CloudFormation 堆栈,然后将该堆栈部署到您的Amazon Web Services 账户。此过程还会创建和配置构成事件重播管道的资源集,包括一个 Amazon SQS 队列和一个 Lambda 函数。

有关筛选事件的更多信息,请参阅本指南中的 Amazon SNS 订阅筛选策略

  1. 登录 Amazon Lambda 控制台

  2. 在导航面板上,选择 Functions (函数),然后选择 Create function (创建函数)

  3. Create function (创建函数) 页面上,执行以下操作:

    1. 依次选择 Browse serverless app repository(浏览无服务器应用程序存储库)Public applications(公共应用程序)Show apps that create custom roles or resource policies(显示创建 IAM 角色或资源策略的应用程序)

    2. 搜索 fork-event-replay-pipeline,然后选择该应用程序。

  4. fork-event-replay-pipeline 页面中,执行以下操作:

    1. Application settings (应用程序设置) 部分中,输入 Application name (应用程序名称)(例如,my-app-replay)。

      注意

      对于每个部署,应用程序名称必须唯一。如果您重用应用程序名称,则部署将仅更新之前部署的 Amazon CloudFormation 堆栈(而不是创建新堆栈)。

    2. (可选)输入以下LogLevel设置之一以执行应用程序的 Lambda 函数:

      • DEBUG

      • ERROR

      • INFO(默认值)

      • WARNING

    3. (可选 ReplayQueueRetentionPeriodInSeconds)输入 Amazon SQS 重播队列保留消息的时间长度(以秒为单位)。如果您不输入值,则使用 1209600 秒(14 天)。

    4. 对于 TopicArn,输入要订阅此分叉管道实例的 Amazon SNS 主题的 ARN。

    5. 对于 DestinationQueueName,输入 Lambda 重播函数向其转发消息的 Amazon SQS 队列的名称。

    6. (可选)对于 SubscriptionFilterPolicy,输入 JSON 格式的 Amazon SNS 订阅筛选策略,用于筛选传入的事件。筛选策略决定缓冲哪些事件以进行重播。如果您不输入值,则不使用筛选(缓冲所有事件以进行重播)。

    7. 选择 I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications (我确认此应用程序创建自定义 IAM 角色和资源策略并部署嵌套应用程序),然后选择 Deploy (部署)

在 “部署状态 my-app-replay” 页面上,Lambda 会显示 “您的应用程序正在部署中” 状态。

Resources (资源) 部分中,Amazon CloudFormation 开始创建堆栈并显示每个资源的 CREATE_IN_PROGRESS 状态。在此过程完成后,Amazon CloudFormation 将显示 CREATE_COMPLETE 状态。

部署完成后,Lambda 将显示 Your application has been deployed (您的应用程序已部署完成)状态。

将在由事件重播管道自动预置的 Amazon SQS 索引中缓冲发布到您的 Amazon SNS 主题的消息以进行重播。

注意

默认情况下,禁用重播。要启用重播,请导航到 Lambda 控制台上的函数页面,展开 Designer 部分,选择 SQS 磁贴,然后在 SQS 部分中,选择 Enabled(启用)