自动将数据从 AWS Data Exchange 摄取至 Amazon S3
Adnan Alvee 和 Manikanta Gona,Amazon Web Services
摘要
此模式提供了一个 CloudFormation 模板,使您能够自动将数据从 AWS Data Exchange 摄取至 Amazon Simple Storage Service(Amazon S3)的数据湖。
AWS Data Exchange 是一项可在 AWS 云 中轻松安全地交换基于文件的数据集的服务。AWS Data Exchange 数据集基于订阅。作为订阅用户,您还可以在提供程序发布新数据时访问数据集修订版。
CloudFormation 模板在 Amazon CloudWatch Events 中创建事件并创建 AWS Lambda 函数。该事件将监视您所订阅的数据集是否有任何更新。如果有更新,CloudWatch 启动 Lambda 函数,该函数会将数据复制到您指定的 S3 存储桶。成功复制数据后,Lambda 将向您发送 Amazon Simple Notification Service(Amazon SNS) 通知。
先决条件和限制
先决条件
一个活跃的 AWS 账户
在 AWS Data Exchange 中订阅数据集
限制
必须为 AWS Data Exchange 中订阅的每个数据集单独部署 CloudFormation 模板。
架构
目标技术堆栈
AWS Lambda
Amazon S3
AWS Data Exchange
Amazon CloudWatch
Amazon SNS
目标架构

自动化和扩缩
对于要导入数据湖的数据集,您可多次使用 CloudFormation 模板。
工具
AWS Data Exchange 可让 AWS 客户在 AWS 云 中轻松而安全地交换基于文件的数据集。作为订阅用户,您可查找和订阅来自合格数据提供商的数百种产品。然后,您可快速下载数据集或将其复制到 Amazon S3,以便在各种 AWS 分析和机器学习服务中使用。任何拥有 AWS 账户 的人都可以成为 AWS Data Exchange 订阅者。
利用 AWS Lambda,您可以运行代码而无需预配置或管理服务器。只有在需要时 Lambda 才运行您的代码,并且能自动扩缩,从每天几个请求扩展到每秒数千个请求。您只需按消耗的计算时间付费;代码未运行时不产生费用。借助 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,并且不必进行任何管理。Lambda 可在高可用性计算基础设施上运行代码,管理所有计算资源,其中包括服务器和操作系统维护、容量预调配和自动扩缩、代码监控和日志记录。
Amazon S3 提供面向互联网的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。
Amazon CloudWatch Events 提供几乎实时的系统事件流,这些事件描述 AWS 资源的更改。通过使用可快速设置的简单规则,您可以匹配事件并将事件路由到一个或多个目标函数或流。CloudWatch Events 随着运营变化的发生而发现。其可响应这些操作更改并在必要时采取纠正措施,方式是发送消息以响应环境、激活函数、进行更改并捕获状态信息。您还可以使用 CloudWatch Events 来计划使用 cron 或 rate 表达式在某些时间自行发起的自动化操作。
Amazon Simple Notification Service(Amazon SNS)让应用程序、终端用户和设备可以即时发送和接收来自云的通知。Amazon SNS 为高吞吐量、基于推送的多对多消息提供主题(通信渠道)。使用 Amazon SNS 主题,发布者可以向大量订阅用户分发消息以进行并行处理,包括 Amazon Simple Queue Service(Amazon SQS)队列、Lambda 函数以及 HTTP/S 网络钩子。您还可以使用 Amazon SNS,通过移动推送、SMS 和电子邮件向最终用户发送通知。
操作说明
| 任务 | 描述 | 所需技能 |
|---|---|---|
订阅数据集。 | 在 AWS Data Exchange 控制台中,订阅数据集。有关说明,请参阅 AWS 文档中的在 AWS Data Exchange 上订阅数据产品。 | 常规 AWS |
注意数据集的属性。 | 记下数据集的 AWS 区域、ID 和修订版 ID。在下一步中,您需要将此用于 CloudFormation 模板。 | 常规 AWS |
| 任务 | 描述 | 所需技能 |
|---|---|---|
创建 S3 存储桶和文件夹。 | 如果您在 Amazon S3 中已有数据湖,请创建文件夹,以存储要从 AWS Data Exchange 摄取的数据。如果您要为测试部署模板,请创建新的 S3 存储桶,并记下存储桶名称和文件夹前缀,以供下一步使用。 | 常规 AWS |
部署 CloudFormation 模板。 | 部署作为此模式附件提供的 CloudFormation 模板。有关说明,请参阅 CloudFormation 文档。 配置以下参数以对应您的 AWS 账户、数据集和 S3 存储桶设置:数据集 AWS 区域、数据集 ID、修订版 ID、S3 存储桶名称(例如, | 常规 AWS |
相关资源
在 AWS Data Exchange 上订阅数据产品(AWS Data Exchange 文档)
附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip