

Amazon 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`和 ) 中叫用 `Notify-Start` Lambda 函數`us-west-2`。叫用時，Lambda 函數會傳送 Slack 通知，指出已開始部署。
+ **部署 CloudFormation 堆疊**動作 (`Deploy`) – 完成**AWS Lambda 調用**動作時，**部署 CloudFormation 堆疊**動作會執行範本 (`cfn-template.yml`) 來部署應用程式堆疊。如需**部署 CloudFormation 堆疊**動作的詳細資訊，請參閱 [部署 CloudFormation 堆疊](deploy-action-cfn.md)。

**注意**  
下列工作流程範例僅供說明之用，如果沒有其他組態，將無法運作。

**注意**  
在接下來的 YAML 程式碼中，您可以視需要省略這些`Connections:`區段。如果您省略這些區段，您必須確保環境中**預設 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
```