发布于: Aug 12, 2022
想要通过 Amazon CloudFormation 部署自动化数据管道,首先,您要使用 Amazon Web Services CloudFormation 模板创建所有必要的资源。这消除了手动出错的机会、提高了效率并确保配置保持一致。
使用以下“启动堆栈”按钮启动 Amazon Web Services CloudFormation 模板。
请务必选择 “美国东部(弗吉尼亚北部)”区域 (us-east-1) ** 。然后,输入合适的堆栈名称、电子邮件地址和 Amazon Web Services Glue 爬网程序名称以创建数据目录。添加 Amazon Web Services Glue 数据库名称以保存元数据表。如以下屏幕截图所示确认 IAM 资源的创建,然后选择创建** 。
注意 :请务必输入您的有效电子邮件地址,以确保在 ETL 作业完成时能够收到通知。
此 Amazon Web Services CloudFormation 模板在您的 Amazon Web Services 账户中创建以下资源:
- 两个 Amazon S3 存储桶,分别用来存储原始数据和已处理的 Parquet 数据。
- 两个 Amazon Web Services Lambda 函数:一个用来创建 Amazon Web Services Glue 数据目录,另一个用来将主题发布到 Amazon SNS。
- 一个 Amazon Simple Queue Service (Amazon SQS) 队列,用来维持重试逻辑。
- 一个 Amazon SNS 主题,用来通知您数据已成功处理。
- 两条 CloudWatch Events 规则:一条与 Amazon Web Services Glue 爬网程序有关,另一条与 Amazon Web Services Glue ETL 作业有关。
- 多个 Amazon Web Services Identity and Access Management (IAM) 角色,用于访问 Amazon Web Services Glue、Amazon SNS、Amazon SQS 和 Amazon S3。
在 Amazon Web Services CloudFormation 堆栈准备就绪时,检查您的电子邮件并确认 SNS 订阅。选择 资源 选项卡并查找详细信息。
按照以下步骤验证您的电子邮件订阅,以便在 ETL 作业完成时立即收到电子邮件提醒。
1. 在 Amazon SNS 控制台上,在导航窗格中选择 主题 。名为 SNSProcessedEvent 的 SNS 主题会出现在屏幕上。
2. 选择 ARN。此时会显示“主题详细信息”页,并会将电子邮件订阅列出为 等待确认 。请务必确认通过 终端节点 列中提供的电子邮件地址进行了订阅。
如果没有看到电子邮件地址,或者链接在电子邮件中显示为无效,请选择相应的订阅终端节点。然后,选择 请求确认 以确认订阅。请务必检查垃圾邮件文件夹中是否有请求确认链接。
配置 Amazon S3 存储桶事件触发器
在此部分中,您将在原始 S3 存储桶上配置一个触发器。配置后,如果有新数据放入该存储桶,就会触发已在 Amazon Web Services CloudFormation 部署中创建的 GlueTriggerLambda。
要配置通知,请执行以下操作:
- 打开 Amazon S3 控制台。
- 选择源存储桶。在本例中,存储桶名称包含 raws3bucket,例如 -raws3bucket-1k331rduk5aph 。
- 转到 属性 选项卡,在 高级设置 下选择 事件 。
4. 选择 添加通知 ,然后按照以下设置来配置通知:
- 名称 – 输入您选择的名称。在本例中,名称是 crawlerlambdaTrigger
- 事件 – 选中所有对象创建事件复选框,以在您上传文件时创建 Amazon Web Services Glue 数据目录。
- 发送到 – 选择 Lambda 函数。
- Lambda – 选择已在部署部分中创建的 Lambda 函数。您的 Lambda 函数应包含字符串 GlueTriggerLambda 。 请查看以下屏幕截图,了解所有设置。完成时,选择 保存 。
相关文章