使用 Step Functions 和 Amazon Redshift API 运行 ETL/ELT 工作流程 - AWS Step Functions

使用 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 步:创建状态机

  1. 打开 Step Functions 控制台,然后选择创建状态机

  2. 选择从模板创建,然后找到相关的入门模板。选择下一步以继续。

  3. 选择模板使用方式:

    1. 运行演示 — 创建只读状态机。审核后,您可以创建工作流和所有相关资源。

    2. 构建依据 — 提供可编辑的工作流定义,您可借助自有资源对其进行审核、定制并部署。(不会自动创建函数或队列等相关资源。)

  4. 选择使用模板继续进行选择。

    注意

    部署到您的账户的服务将会收取标准费用。

第 2 步:运行演示状态机

如果您选择了运行演示选项,则所有相关资源都将部署并准备好运行。如果您选择了构建依据选项,则可能需要先设置占位符值并创建其他资源,然后才能运行自定义工作流。

  1. 选择部署并运行

  2. 等待 CloudFormation 堆栈部署。这一过程耗时最多 10 分钟。

  3. 出现开始执行选项后,查看输入并选择开始执行

恭喜您!

现在,您应该有了一个正在运行的状态机演示。您可以在图表视图中选择状态来查看输入、输出、变量、定义和事件。