本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範例:叫用 Lambda 函數
下列範例工作流程包含AWS Lambda 叫用動作,以及部署動作。工作流程會傳送 Slack 通知,指出部署已開始,然後使用 AWS AWS CloudFormation 範本將應用程式部署到 。工作流程包含下列依次執行的建置區塊:
-
觸發條件 – 當您將變更推送至來源儲存庫時,此觸發條件會自動啟動工作流程執行。關於觸發條件的詳細資訊,請參閱 使用觸發器啟動工作流程自動執行。
-
AWS Lambda 調用動作 (
LambdaNotify
) – 在觸發時,此動作會調用指定 AWS 帳戶和區域中的Notify-Start
Lambda 函數 (my-aws-account
和us-west-2
)。調用時,Lambda 函數會傳送 Slack 通知,指出已開始部署。 -
部署 AWS CloudFormation 堆疊動作 (
Deploy
) – 完成AWS Lambda 調用動作時,部署 AWS CloudFormation 堆疊動作會執行範本 (cfn-template.yml
) 來部署應用程式堆疊。如需部署 AWS CloudFormation 堆疊動作的詳細資訊,請參閱部署 AWS CloudFormation 堆疊。
注意
下列工作流程範例僅供說明之用,如果沒有其他組態,將無法運作。
注意
在後續的 YAML 程式碼中,您可以視需要省略這些Connections:
區段。如果您省略這些區段,您必須確保環境中預設 IAM 角色欄位中指定的角色包含AWS Lambda 叫用和部署 AWS CloudFormation 堆疊動作所需的許可和信任政策。如需使用預設 IAM 角色設定環境的詳細資訊,請參閱 建立環境。如需AWS Lambda 叫用和部署 AWS CloudFormation 堆疊動作所需的許可和信任政策的詳細資訊,請參閱 'AWS Lambda 調用' 操作 YAML和 中的 Role
屬性描述「部署 AWS CloudFormation 堆疊」動作 YAML。
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