[SEO 副标题]
本指南说明了媒体和娱乐(M&E)客户如何利用 AWS 服务来自动化和优化其端到端媒体供应链工作流。通过实施事件驱动型无服务器架构,M&E 企业可以简化资产管理、元数据处理、权限管理、编辑、打包、交付、质量控制和分发等各个领域的流程。该解决方案与多个 AWS 独立软件供应商(ISV)产品集成,实现了无缝、高效的内容管理生命周期。该解决方案主要的优势有:降低运营成本、减少人工任务和错误、缩短上市时间,以及通过创新内容交付模式解锁获利机会。本指南帮助 M&E 企业建立一个可扩展的、具有成本效益的媒体供应链,为全球受众提供高质量的内容体验,同时在动态的媒体环境中保持竞争力。
请注意:[免责声明]
架构图
-
概览
-
从 Amazon SNS FIFO 事件到 Amazon SQS FIFO
-
Amazon EventBridge 事件总线 SaaS
-
Amazon EventBridge 自定义事件总线集成
-
从 Amazon SQS 到 AWS Lambda 集成
-
合作伙伴 Webhook 集成
-
概览
-
此图概述了如何将事件驱动型第三方合作伙伴服务和应用程序集成到 AWS 账户中。随后的选项卡显示了如何将本指南与各种第三方事件集成。
第 1 步
合作伙伴软件即服务(SaaS)应用程序、合作伙伴应用程序、您的应用程序或 AWS 服务会向您的 AWS 账户发送事件。第 2 步
Amazon Simple Queue Service(Amazon SQS)、AWS Lambda、Amazon API Gateway 或 Amazon EventBridge 会接收从第一步生成的事件。
第 3 步
EventBridge 规则将事件路由到 Lambda,对其进行扩充和转换。如果不需要扩充或转换,请跳过此步骤。第 4 步
EventBridge 规则将事件路由到目的地。规则使用事件模式匹配,根据事件内容对事件进行路由。第 5 步
Lambda 向下游服务发送事件数据。如果需要多个步骤,AWS Step Functions 会使用该事件启动多步骤工作流。如果不需要额外处理,请跳过此步骤。
第 6 步
下游服务(例如合作伙伴 SaaS、本地部署的合作伙伴应用程序、您的应用程序、第三方应用程序、AWS 服务或您的数据湖)都会接收事件数据。第 7 步
Amazon SQS 死信队列(DLQ)接收前面步骤中未成功处理的事件。Amazon SQS 将重新驱动和处理这些事件。如果重新驱动的事件不成功,Lambda 会将该事件写入 Amazon DynamoDB 表以供人工审核。 -
从 Amazon SNS FIFO 事件到 Amazon SQS FIFO
-
此图表显示了如何将由 Amazon SNS FIFO(先入先出)主题生成的第三方事件集成到您的 AWS 账户中。这些主题将传送到已订阅的 Amazon SQS FIFO 队列中。
第 1 步
合作伙伴 SaaS 应用程序、合作伙伴应用程序或您的应用程序会向您的 AWS 账户发送事件。第 2 步
Amazon SQS 队列或 Amazon Simple Notification Service(Amazon SNS)主题接收来自第三方服务的事件。使用带有 FIFO 主题的 FIFO(先入先出)队列进行有序处理。确保队列和主题类型匹配,无论是 FIFO 还是标准。第 3 步
EventBridge 规则将事件路由到 Lambda,对其进行扩充和转换。如果不需要扩充或转换,请跳过此步骤。第 4 步
EventBridge 规则将事件路由到目的地。规则使用事件模式匹配,根据事件内容对事件进行路由。第 5 步
Lambda 向下游服务发送事件数据。如果需要多个步骤,Step Functions 会使用该事件启动多步骤工作流。如果不需要额外处理,请跳过此步骤。第 6 步
下游服务(例如合作伙伴 SaaS、本地部署的合作伙伴应用程序、您的应用程序、第三方应用程序、AWS 服务或您的数据湖)都会接收事件数据。第 7 步
Amazon SQS DLQ 接收之前步骤中未成功处理的事件。 Amazon SQS 将重新驱动和处理这些事件。如果重新驱动的事件不成功,Lambda 会将该事件写入 DynamoDB 表以供人工审核。 -
Amazon EventBridge 事件总线 SaaS
-
此图显示了如何集成由 Amazon EventBridge 第三方事件源生成,并传送到您 AWS 账户中 EventBridge 事件总线的第三方事件。
第 1 步
合作伙伴 SaaS 应用程序向您的 AWS 账户发送事件。第 2 步
EventBridge 合作伙伴事件源向您的账户预置 SaaS 合作伙伴事件总线。事件总线接收合作伙伴事件,必要时,EventBridge 规则会将事件路由到 Lambda 进行转换。第 3 步
EventBridge 规则将事件路由到 Lambda,对其进行扩充和转换。如果不需要扩充或转换,请跳过此步骤。第 4 步
EventBridge 规则将事件路由到目的地。规则使用事件模式匹配,根据事件内容对事件进行路由。第 5 步
Lambda 向下游服务发送事件数据。如果需要多个步骤,Step Functions 会使用该事件启动多步骤工作流。如果不需要额外处理,请跳过此步骤。第 6 步
下游服务(例如合作伙伴 SaaS、本地部署的合作伙伴应用程序、您的应用程序、第三方应用程序、AWS 服务或您的数据湖)都会接收事件数据。第 7 步
Amazon SQS DLQ 接收之前步骤中未成功处理的事件。Amazon SQS 将重新驱动和处理这些事件。如果重新驱动的事件不成功,Lambda 会将该事件写入 DynamoDB 表以供人工审核。 -
Amazon EventBridge 自定义事件总线集成
-
此图显示了如何集成由合作伙伴的软件即服务(SaaS)或您的应用程序生成的合作伙伴事件。这些事件将传送到您 AWS 账户中的 Amazon EventBridge 自定义事件总线。
第 1 步
合作伙伴 SaaS 应用程序、合作伙伴应用程序或您的应用程序会向您的 AWS 账户发送事件。第 2 步
AWS 合作伙伴 SaaS 平台或 AWS 合作伙伴自定义应用程序将事件写入到 EventBridge 自定义事件总线。事件总线接收合作伙伴事件,必要时,EventBridge 规则会将事件路由到 Lambda 进行转换。第 3 步
EventBridge 规则将事件路由到 Lambda,对其进行扩充和转换。如果不需要扩充或转换,请跳过此步骤。第 4 步
EventBridge 规则将事件路由到目的地。规则使用事件模式匹配,根据事件内容对事件进行路由。第 5 步
Lambda 向下游服务发送事件数据。如果需要多个步骤,Step Functions 会使用该事件启动多步骤工作流。如果不需要额外处理,请跳过此步骤。第 6 步
下游服务(例如合作伙伴 SaaS、本地部署的合作伙伴应用程序、您的应用程序、第三方应用程序、AWS 服务或您的数据湖)都会接收事件数据。第 7 步
Amazon SQS DLQ 接收之前步骤中未成功处理的事件。Amazon SQS 将重新驱动和处理这些事件。如果重新驱动的事件不成功,Lambda 会将该事件写入 DynamoDB 表以供人工审核。 -
从 Amazon SQS 到 AWS Lambda 集成
-
此图显示了如何将由 Amazon SQS 队列生成的合作伙伴事件与您 AWS 账户中的 AWS Lambda 函数相集成。
第 1 步
合作伙伴 SaaS 应用程序、合作伙伴应用程序或您的应用程序会向您的 AWS 账户发送事件。第 2 步
Lambda 对 AWS 合作伙伴 SaaS 或 AWS 客户应用程序的 Amazon SQS 队列进行轮询。Lambda 接收来自 Amazon SQS 订阅的事件,并执行所需的转换。第 3 步
EventBridge 规则将事件路由到 Lambda,对其进行扩充和转换。如果不需要扩充或转换,请跳过此步骤。第 4 步
EventBridge 规则将事件路由到目的地。规则使用事件模式匹配,根据事件内容对事件进行路由。第 5 步
Lambda 向下游服务发送事件数据。如果需要多个步骤,Step Functions 会使用该事件启动多步骤工作流。如果不需要额外处理,请跳过此步骤。第 6 步
下游服务(例如合作伙伴 SaaS、本地部署的合作伙伴应用程序、您的应用程序、第三方应用程序、AWS 服务或您的数据湖)都会接收事件数据。第 7 步
Amazon SQS DLQ 接收之前步骤中未成功处理的事件。Amazon SQS 将重新驱动和处理这些事件。如果重新驱动的事件不成功,Lambda 会将该事件写入 DynamoDB 表以供人工审核。 -
合作伙伴 Webhook 集成
-
此图显示了如何将合作伙伴 webhook 生成的合作伙伴事件与 Amazon API Gateway 端点集成。
第 1 步
合作伙伴 SaaS 应用程序向您的 AWS 账户发送事件。第 2 步
API Gateway 接收来自第三方应用程序的 HTTP API 调用。 Lambda 接收 HTTP API 调用,处理请求并响应第三方应用程序。第 3 步
EventBridge 规则将事件路由到 Lambda,对其进行扩充和转换。如果不需要扩充或转换,请跳过此步骤。第 4 步
EventBridge 规则将事件路由到目的地。规则使用事件模式匹配,根据事件内容对事件进行路由。第 5 步
Lambda 向下游服务发送事件数据。如果需要多个步骤,Step Functions 会使用该事件启动多步骤工作流。如果不需要额外处理,请跳过此步骤。第 6 步
下游服务(例如合作伙伴 SaaS、本地部署的合作伙伴应用程序、您的应用程序、第三方应用程序、AWS 服务或您的数据湖)都会接收事件数据。第 7 步
Amazon SQS DLQ 接收之前步骤中未成功处理的事件。Amazon SQS 将重新驱动和处理这些事件。如果重新驱动的事件不成功,Lambda 会将该事件写入 DynamoDB 表以供人工审核。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
本指南使用 Amazon SQS、Lambda、API Gateway、EventBridge、Step Functions 和 DynamoDB 等 AWS 托管服务来增强卓越运营。这些服务在区域级别上运行,利用多个可用区来实现高可用性和容错能力。内置的错误处理和死信队列提供了故障的可见性,以便及时发现和缓解故障。这些服务的无服务器性质可简化操作并减少运营开销。
-
安全性
AWS Identity and Access Management(IAM)、Lambda、API Gateway、Amazon SQS 和 DynamoDB 共同为架构的安全做出了贡献。IAM 支持精细访问控制以及针对资源的最低访问权限。API Gateway 授权入站 API 请求,而 Amazon SQS 队列策略管理队列访问权限。DynamoDB 使用由 AWS 托管的密钥对静态数据进行加密。
-
可靠性
EventBridge 会自动重试失败的事件交付,并将未处理的事件发送到死信队列。可将 Lambda 函数配置为将失败的事件发送到 Amazon SQS 死信队列以进行进一步分析和处理。这种容错能力和错误处理可确保可靠地处理事件并防止数据丢失。
-
性能效率
事件驱动型微服务架构采用 Lambda、Amazon SQS 和 EventBridge 等无服务器服务构建,可根据需求自动扩展,确保最佳资源利用率。此外,DynamoDB 支持解耦存储、独立扩展吞吐量和容量以满足性能要求。
-
成本优化
本指南通过有效利用采用即用即付定价模式的 AWS 服务,只对事件处理期间消耗的资源收费,从而优化了成本。例如,Lambda 的无服务器特性支持根据工作负载需求调整计算资源的大小,防止过度配置。Amazon SQS 和 Amazon SNS 通过有效路由和传送事件,最大限度地降低了数据传输成本。 DynamoDB 提供经济实惠的存储和精细的容量预置,支持根据需求独立扩展吞吐量和存储。
-
可持续性
EventBridge、Lambda、API Gateway、Amazon SQS 和 Amazon SNS 通过最大限度地减少非活动资源的使用来促进可持续发展。这些无服务器服务仅在处理事件时处于活动状态,从而减少了能耗和基础设施占用量。采用 Lambda 的事件驱动型微服务架构只运行必要的代码,从而进一步优化了资源利用率,最大限度地减少了对整体环境的影响。
实施资源
提供了在 AWS 账户中进行实验和使用的详细指南。构建指南的每个阶段(包括部署、使用和清理)都将被检查,以便为部署做好准备。
示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。
相关内容
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。