本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Step Functions 和 Amazon Redshift 运行ETL/ELT工作流程 API
此示例项目演示了如何使用 Step Functions 和 Amazon Redshift 数据API来运行将数据加载到 Amazon Redshift 数据仓库的ETL/ELT工作流程。
在此项目中,Step Functions 使用 AWS Lambda 函数和 Amazon Redshift 数据API来创建所需的数据库对象并生成一组示例数据,然后并行执行两个执行加载维度表的任务,然后执行一个事实表。两个维度加载任务成功结束后,Step Functions 将执行事实数据表的加载任务,运行验证作业,然后暂停 Amazon Redshift 集群。
注意
您可以修改ETL逻辑以接收来自其他来源的数据,例如 Amazon S3,Amazon S3 可以使用COPY命令将数据从 Amazon S3 复制到 Amazon Redshift 表。
有关 Amazon Redshift 和 Step Functions 服务集成的更多信息,请参阅以下指南:
有关 Lambda 和 Amazon Redshift IAM 政策的更多信息,请参阅以下指南:
注意
此示例项目可能会产生费用。
对于新 AWS 用户,可以使用免费使用套餐。在此套餐中,低于某种使用水平的服务是免费的。有关 AWS
成本和免费套餐的更多信息,请参阅 AWS Step Functions 定价
第 1 步:创建状态机
-
打开 Step Functions 控制台
,然后选择创建状态机。 -
查找并选择要使用的入门模板。选择下一步以继续。
-
选择 “运行演示” 以创建只读和 ready-to-deploy工作流程,或者选择 “在其上构建” 以创建可编辑的状态机定义,您可以在此基础上构建并稍后部署。
-
选择使用模板继续进行选择。
后续步骤取决于之前的选择:
-
运行演示 — 您可以先查看状态机,然后再创建只读项目,并将资源部署 AWS CloudFormation 到您的 AWS 账户。
可以查看状态机定义,准备就绪后,选择部署并运行来部署项目并创建资源。
部署可能需要最长 10 分钟来创建资源和权限。可以在 AWS CloudFormation中使用堆栈 ID 链接来监控进度。
部署完成后,应该在控制台中看到新的状态机。
-
构建依据:可以查看和编辑工作流程定义。在尝试运行自定义工作流程之前,可能需要为示例项目中的占位符设置值。
注意
部署到您的账户的服务可能会收取标准费用。
第 2 步:运行状态机
在状态机页面上,选择您的示例项目。
在示例项目页面上,选择启动执行。
在启动执行对话框中,执行以下操作:
-
(可选)输入自定义执行名称,以便覆盖生成的默认执行名称。
非ASCII姓名和日志
Step Functions 接受状态机、执行、活动和包含非ASCII字符的标签的名称。由于此类字符不适用于亚马逊 CloudWatch,因此我们建议您仅使用ASCII字符,以便您可以跟踪中的指标 CloudWatch。
-
(可选)在输入框中,将输入值输入为JSON。如果您正在运行演示,则可以跳过此步骤。
-
选择启动执行。
Step Functions 控制台将引导您进入执行详细信息 页面,在该页面中,您可以在图表视图中选择状态来浏览步骤详细信息窗格中的相关信息。
-
恭喜您!
现在,您应该有一个正在运行的演示或者一个可以自定义的状态机定义。