选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

教程:在管道中使用 AWS Step Functions 调用操作

聚焦模式
教程:在管道中使用 AWS Step Functions 调用操作 - AWS CodePipeline

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

您可以使用 AWS Step Functions 创建和配置状态机。本教程介绍如何将调用操作添加到管道以便从管道激活状态机执行。

重要

作为创建管道的一部分,CodePipeline 将使用客户提供的 S3 构件存储桶来存放构件。(这与用于 S3 源操作的存储桶不同。) 如果 S3 构件存储桶所在的账户与您的管道账户不同,请确保 S3 构件存储桶归 AWS 账户所有,并且安全可靠。

在本教程中,您将执行以下任务:

  • 在 AWS Step Functions 中创建标准状态机。

  • 直接输入状态机输入 JSON。还可以将状态机输入文件上传到 Amazon Simple Storage Service (Amazon S3) 桶。

  • 通过添加状态机操作来更新管道。

先决条件:创建或选择简单管道

在本教程中,您将向现有管道添加调用操作。您可以使用在教程:创建一个简单的管道(S3 存储桶)教程:创建一个简单的管道(CodeCommit 存储库)中创建的管道。

您可以将现有管道与一个源操作和至少一个两阶段结构结合使用,但在此示例中不使用源构件。

注意

您可能需要通过添加运行此操作所需的其他权限来更新管道所使用的服务角色。要执行此操作,请打开 AWS Identity and Access Management (IAM) 控制台,找到该角色,然后向该角色的策略添加权限。有关更多信息,请参阅 向 CodePipeline 服务角色添加权限

步骤 1:创建示例状态机

在 Step Functions 控制台中,使用 HelloWorld 示例模板创建状态机。有关说明,请参阅 AWS Step Functions 开发者指南 中的创建状态机

步骤 2:将 Step Functions 调用操作添加到管道

将 Step Functions 调用操作添加到管道,如下所示:

  1. 通过以下网址登录AWS Management Console并打开 CodePipeline 控制台:http://console.aws.amazon.com/codesuite/codepipeline/home

    将会显示所有与您的 AWS 账户关联的管道的名称。

  2. Name 中,选择您要编辑的管道的名称。这将打开管道的详细视图,包括管道每个阶段中每个操作的状态。

  3. 在管道详细信息页中,选择编辑

  4. 在简单管道的第二个阶段,选择 Edit stage (编辑阶段)。选择删除。这将立即删除您不再需要的第二个阶段。

  5. 在示意图底部,选择 + 添加阶段

  6. Stage name (阶段名称) 中,输入阶段的名称,例如 Invoke,然后选择 Add stage(添加阶段)

  7. 选择 + 添加操作组

  8. Action name (操作名称) 中,输入名称,例如 Invoke

  9. 操作提供程序中,选择 AWS Step Functions。允许区域默认为管道区域。

  10. Input artifacts (输入构件) 中,选择 SourceArtifact

  11. State machine ARN (状态机 ARN) 中,选择之前创建的状态机的 Amazon 资源名称 (ARN)。

  12. (可选)在 Execution name prefix (执行名称前缀) 中,输入要添加到状态机执行 ID 的前缀。

  13. Input type (输入类型) 中,选择 Literal (文本)

  14. Input (输入) 中,输入 HelloWorld 示例状态机所需的输入 JSON。

    注意

    状态机执行的“输入”与 CodePipeline 中用来描述操作的输入构件的“输入”意义不同。

    在此示例中,输入以下 JSON:

    {"IsHelloWorldExample": true}
  15. 选择完成

  16. 在所编辑的阶段上,选择 Done (完成)。在 AWS CodePipeline 窗格中,选择保存,然后选择警告消息上的保存

  17. 要提交所做的更改并开始管道执行,请选择发布更改,然后选择发布

  18. 在已完成的管道上,选择调用操作中的 AWS Step Functions。在 AWS Step Functions 控制台中,查看您的状态机执行 ID。ID 显示您的状态机名称 HelloWorld 和带有前缀 my-prefix 的状态机执行 ID。

    arn:aws:states:us-west-2:account-ID:execution:HelloWorld:my-prefix-0d9a0900-3609-4ebc-925e-83d9618fcca1
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。