使用 Step Functions 和 Amazon Redshift API 运行 ETL/ELT 工作流程
此示例项目演示了如何使用 Step Functions 和 Amazon Redshift 数据 API 来运行 ETL/ELT 工作流,该工作流可将数据加载到 Amazon Redshift 数据仓库。
在此项目中,Step Functions 使用一个 AWS Lambda 函数和 Amazon Redshift 数据 API 来创建所需的数据库对象并生成一组示例数据,然后并行执行两个任务,用于执行加载维度表,然后执行一个事实数据表。两个维度加载任务成功结束后,Step Functions 将执行事实数据表的加载任务,运行验证作业,然后暂停 Amazon Redshift 集群。
注意
您可以修改 ETL 逻辑来接收来自其他来源的数据,例如 Amazon S3,后者可以使用 COPY 命令将数据从 Amazon S3 复制到 Amazon Redshift 表。
有关 Amazon Redshift 和 Step Functions 服务集成的更多信息,请参阅以下指南:
有关 Lambda 和 Amazon Redshift 的 IAM 策略的更多信息,请参阅以下指南:
注意
此示例项目可能会产生费用。
为新 AWS 用户提供了免费使用套餐。在此套餐中,低于某种使用水平的服务是免费的。有关 AWS 成本和免费套餐的更多信息,请参阅 AWS Step Functions 定价
第 1 步:创建状态机
-
打开 Step Functions 控制台
,然后选择创建状态机。 -
选择从模板创建,然后找到相关的入门模板。选择下一步以继续。
-
选择模板使用方式:
-
运行演示 — 创建只读状态机。审核后,您可以创建工作流和所有相关资源。
-
构建依据 — 提供可编辑的工作流定义,您可借助自有资源对其进行审核、定制并部署。(不会自动创建函数或队列等相关资源。)
-
-
选择使用模板继续进行选择。
注意
部署到您的账户的服务将会收取标准费用。
第 2 步:运行演示状态机
如果您选择了运行演示选项,则所有相关资源都将部署并准备好运行。如果您选择了构建依据选项,则可能需要先设置占位符值并创建其他资源,然后才能运行自定义工作流。
选择部署并运行。
等待 CloudFormation 堆栈部署。这一过程耗时最多 10 分钟。
出现开始执行选项后,查看输入并选择开始执行。
恭喜您!
现在,您应该有了一个正在运行的状态机演示。您可以在图表视图中选择状态来查看输入、输出、变量、定义和事件。