本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
订阅事件存储与备份管道并将其部署到 Amazon SNS
| 对于事件归档和分析,Amazon SNS 现在建议使用其与 Amazon Data Firehose 的本机集成。您可以订阅 Firehose 传输流到 SNS 主题,这使您能够向存档和分析端点 [如 Amazon Simple Storage Service(Amazon S3)存储桶、Amazon Redshift 表、Amazon OpenSearch Service(OpenSearch Service)等] 发送通知。将 Amazon SNS 与 Firehose 传输流结合使用是一种完全托管且无代码的解决方案,不需要您使用 Amazon Lambda 函数。有关更多信息,请参阅 扇出到 Firehose 传输流。 |
本教程说明如何部署事件存储与备份管道并为该管道订阅 Amazon SNS 主题。此过程自动将与管道关联的 Amazon SAM 模板转换为 Amazon CloudFormation 堆栈,然后将该堆栈部署到您的Amazon Web Services 账户。此过程还会创建和配置构成事件存储与备份管道的资源集,包括以下内容:
-
Amazon SQS 队列
-
Lambda 函数
-
Firehose 传输流
-
Amazon S3 备份存储桶
有关将流配置为以 Amazon S3 存储桶作为目标的更多信息,请参阅 Amazon Data Firehose API Reference 中的 S3DestinationConfiguration。
有关转换事件以及配置事件缓冲、事件压缩和事件加密的详细信息,请参阅 Amazon Data Firehose 开发人员指南中的创建传输流。
有关筛选事件的更多信息,请参阅本指南中的 Amazon SNS 订阅筛选策略。
-
在导航面板上,选择 Functions (函数),然后选择 Create function (创建函数)。
-
在 Create function (创建函数) 页面上,执行以下操作:
-
依次选择 Browse serverless app repository(浏览无服务器应用程序存储库)、Public applications(公共应用程序)、Show apps that create custom roles or resource policies(显示创建 IAM 角色或资源策略的应用程序)。
-
搜索
fork-event-storage-backup-pipeline,然后选择该应用程序。
-
-
在 fork-event-storage-backup-pipeline 页面上,执行以下操作:
-
在 Application settings (应用程序设置) 部分中,输入 Application name (应用程序名称)(例如,
my-app-backup)。注意
-
对于每个部署,应用程序名称必须唯一。如果您重用应用程序名称,则部署将仅更新之前部署的 Amazon CloudFormation 堆栈(而不是创建新堆栈)。
-
-
(可选)对于 BucketArn,输入传入事件加载到的 Amazon S3 存储桶的 ARN。如果您不输入值,则在 Amazon 账户中创建新的 Amazon S3 存储桶。
-
(可选)对于 DataTransformationFunctionArn,输入用于转换传入事件的 Lambda 函数的 ARN。如果您不输入值,则将禁用数据转换。
-
(可选)输入以下 LogLevel 设置之一以执行应用程序的 Lambda 函数:
-
DEBUG -
ERROR -
INFO(默认值) -
WARNING
-
-
对于 TopicArn,输入要为此分支管道实例订阅的 Amazon SNS 主题的 ARN。
-
(可选)对于 StreamBufferingIntervalInSeconds 和 StreamBufferingSizeInMBs,输入用于配置传入事件的缓冲的值。如果您不输入任何值,则使用 300 秒和 5 MB。
-
(可选)输入用于压缩传入事件的下列 StreamCompressionFormat 设置之一:
-
GZIP -
SNAPPY -
UNCOMPRESSED(默认值) -
ZIP
-
-
(可选)对于 StreamPrefix,输入字符串前缀来为存储在 Amazon S3 备份存储桶中的文件命名。如果您不输入值,则不使用任何前缀。
-
(可选)对于 SubscriptionFilterPolicy,以 JSON 格式输入要用于筛选传入事件的 Amazon SNS 订阅筛选策略。筛选策略决定在 OpenSearch Service 索引中为哪些事件编制索引。如果您不输入值,则不使用筛选(为所有事件编制索引)。
-
(可选)对于 SubscriptionFilterPolicyScope,请输入字符串
MessageBody或MessageAttributes以启用基于有效负载或基于属性的消息筛选。 -
选择 I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications (我确认此应用程序创建自定义 IAM 角色和资源策略并部署嵌套应用程序),然后选择 Deploy (部署)。
-
在 Deployment status for my-app(my-app 的部署状态)页面上,Lambda 显示 Your application is being deployed(正在部署您的应用程序)状态。
在 Resources (资源) 部分中,Amazon CloudFormation 开始创建堆栈并显示每个资源的 CREATE_IN_PROGRESS 状态。在此过程完成后,Amazon CloudFormation 将显示 CREATE_COMPLETE 状态。
部署完成后,Lambda 将显示 Your application has been deployed (您的应用程序已部署完成)状态。
发布到您的 Amazon SNS 主题的消息将存储在由事件存储与备份管道自动预置的 Amazon S3 备份存储桶中。