

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

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

# 示例：调用 Lambda 函数
<a name="lam-invoke-action-example-workflow"></a>

以下示例工作流包括 **AWS Lambda 调用**操作以及部署操作。该工作流程会发出 Slack 通知，表明部署已开始，然后 AWS 使用模板部署应用程序。 CloudFormation 工作流包含以下按顺序运行的构造块：
+ **触发器** – 当您将更改推送到源存储库时，此触发器会自动启动工作流运行。有关触发器的更多信息，请参阅[使用触发器自动启动工作流运行](workflows-add-trigger.md)。
+ **AWS Lambda 调用**操作（`LambdaNotify`）– 此操作在触发后将调用指定的 AWS 账户和区域（`my-aws-account` 和 `us-west-2`）中的 `Notify-Start` Lambda 函数。此 Lambda 函数一经调用，就会发送一条 Slack 通知，表明部署已开始。
+ **部署 CloudFormation 堆栈**操作 (`Deploy`)-**AWS Lambda 调用**操作完成后，**部署 CloudFormation 堆栈**操作将运行模板 (`cfn-template.yml`) 来部署您的应用程序堆栈。有关 “**部署 CloudFormation 堆栈**” 操作的更多信息，请参阅[部署 CloudFormation 堆栈](deploy-action-cfn.md)。

**注意**  
以下工作流示例仅用于说明目的，如果不执行附加配置，则无法运行。

**注意**  
在接下来的 YAML 代码中，如果需要，可以省略 `Connections:` 部分。如果您省略这些部分，则必须确保在您的环境中 Defa **ult IAM 角色**字段中指定的角色包含**AWS Lambda 调用**和**部署 CloudFormation 堆栈**操作所需的权限和信任策略。有关使用默认 IAM 角色设置环境的更多信息，请参阅[创建环境](deploy-environments-creating-environment.md)。有关**AWS Lambda 调用**和**部署 CloudFormation 堆栈**操作所需的权限和信任策略的更多信息，请参阅[“AWS Lambda 调用”操作 YAML](lam-invoke-action-ref.md)和中对`Role`属性的描述['部署 CloudFormation 堆栈'动作 YAML](deploy-action-ref-cfn.md)。

```
Name: codecatalyst-lamda-invoke-workflow
SchemaVersion: 1.0

Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  LambdaNotify:
    Identifier: aws/lambda-invoke@v1
    Environment:
      Name: my-production-environment
      Connections:
        - Name: my-aws-account
          Role: codecatalyst-lambda-invoke-role
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Function: Notify-Start
      AWSRegion: us-west-2
        
  Deploy:
    Identifier: aws/cfn-deploy@v1
    Environment:
      Name: my-production-environment
      Connections:
        - Name: my-aws-account
          Role: codecatalyst-deploy-role
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      name: my-application-stack
      region: us-west-2
      role-arn: arn:aws:iam::111122223333:role/StackRole
      template: ./cfn-template.yml
      capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
```