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

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

部署和订阅事件存储与备份管道

对于事件归档和分析,Amazon SNS 现在建议使用其与 Amazon Kinesis Data Firehose 的本机集成。您可以为 Kinesis Data Firehose 传输流订阅 SNS 主题,它允许您向归档和分析终端节点发送通知,例如 Amazon Simple Storage Service (Amazon S3) 存储桶、Amazon Redshift 表、Amazon Elasticsearch Service (Amazon ES) 等。将 Amazon SNS 与 Kinesis Data Firehose 交付流结合使用是一种完全托管且无代码的解决方案,不需要您使用Amazon Lambda函数。有关更多信息,请参阅 扇出到 Kinesis Data Firehose 传输流

此页显示如何部署事件存储与 Backup 管道并将其订阅到 Amazon SNS 主题。此过程会自动将Amazon SAM模板转换到Amazon CloudFormation堆栈,然后将堆栈部署到 Amazon Web Services 账户 。此过程还会创建和配置构成事件存储与备份管道的资源集,包括以下内容:

  • Amazon SQS 队列

  • Lambda 函数

  • Kinesis Data Firehose 传输流

  • Amazon S3 备份bucket

有关将 S3 存储桶配置为目标流的更多信息,请参阅S3DestinationConfiguration中的Amazon Kinesis Data Firehose API 参考

有关转换事件以及配置事件缓冲、事件压缩和事件加密的详细信息,请参阅创建 Amazon Kinesis Data Firehose 传输流中的Amazon Kinesis Data Firehose 开发人员指南

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

  1. 登录到 Amazon Lambda 控制台

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

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

    1. 选择浏览无服务器应用程序库公有应用程序显示创建自定义 IAM IAM 角色或资源策略的应用

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

  4. fork-event-storage-backup-pipeline 页面上,执行以下操作:

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

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

    2. (可选)对于 BucketArn,输入传入事件加载到的 S3 存储桶的 ARN。如果您不输入值,则在 Amazon 账户中创建新的 S3 存储桶。

    3. (可选)DataTransformationFunctionArn中,输入 Lambda 函数(通过此函数转换传入事件)的 ARN。如果您不输入值,则将禁用数据转换。

    4. (可选)输入以下内容之一:日志级别设置来执行应用程序的 Lambda 函数:

      • DEBUG

      • ERROR

      • INFO (默认值)

      • WARNING

    5. 适用于TopicArn中,输入要为此分支管道实例订阅的 Amazon SNS 主题的 ARN。

    6. (可选)对于 StreamBufferingIntervalInSecondsStreamBufferingSizeInMBs,输入用于配置传入事件的缓冲的值。如果您不输入任何值,则使用 300 秒和 5 MB。

    7. (可选)输入用于压缩传入事件的下列 StreamCompressionFormat 设置之一:

      • GZIP

      • SNAPPY

      • UNCOMPRESSED (默认值)

      • ZIP

    8. (可选)对于 StreamPrefix,输入字符串前缀来为存储在 S3 备份存储桶中的文件命名。如果您不输入值,则不使用任何前缀。

    9. (可选)SubscriptionFilterPolicy中,以 JSON 格式输入要用于筛选传入事件的 Amazon SNS 订阅筛选策略。筛选策略决定将哪些事件存储在 S3 备份存储桶中。如果您不输入值,则不使用筛选(存储所有事件)。

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

在存储库的的部署状态my-app页面上,Lambda 将显示正在部署您的应用程序状态。

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

部署完成时,Lambda 将显示您的应用程序已部署状态。

发布到 Amazon SNS 主题的消息将存储在由事件存储与 Backup 管道自动预置的 S3 备份存储桶中。