示例Amazon事件分叉管道使用案例 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

示例Amazon事件分叉管道使用案例

以下场景描述了事件驱动的无服务器电子商务应用程序,该应用程序使用Amazon事件分叉管道。您可以使用此电子商务应用示例中的Amazon Serverless Application Repository,然后将其部署到 Amazon Web Services 账户 使用Amazon Lambda控制台,您可以在其中测试它并在 GitHub 中检查其源代码。

此电子商务应用程序通过由 API Gateway 托管的 RESTful API 来获取买方的订单,并由Amazon LambdafunctionCheckoutApiBackendFunction。此函数将收到的所有订单发布 Amazon SNS 名为CheckoutEventsTopic其中,反过来,球迷出来的订单四个不同的管道。

第一个管道是由电子商务应用程序的拥有者设计和实现的常规结算处理管道。此管道具有 Amazon SQS 队列CheckoutQueue缓冲所有接收到的订单,Amazon Lambda命名的函数CheckoutFunction用于轮询队列以处理这些订单,以及 DynamoDB 表CheckoutTable,可以安全地保存所有下达的订单。

应用Amazon事件分叉管道

电子商务应用程序的组件处理核心业务逻辑。但是,电子商务应用程序拥有者还需满足:

  • 合规性— 安全的、压缩的静态加密备份,清理敏感信息

  • 恢复能力— 在执行过程中断的情况下重播最近的订单

  • 可搜索— 运行分析并生成已下订单的指标

应用程序拥有者可为订阅,而不是实施此事件处理逻辑Amazon事件分叉管道到CheckoutEventsTopicAmazon SNS 主题

在事件搜索与分析管道的配置中设置以下 JSON 筛选策略。它仅匹配总金额为 100 美元或更多的传入订单。有关更多信息,请参阅 Amazon SNS 消息筛选

{ "amount": [{ "numeric": [ ">=", 100 ] }] }

使用Amazon事件分支管道模式,电子商务应用程序拥有者可以避免在编写用于事件处理的一致逻辑后经常产生的开发开销。相反,她可以部署Amazon事件分叉管道直接从Amazon Serverless Application Repository进入她 Amazon Web Services 账户 。