例: Lambda 関数を呼び出す - Amazon CodeCatalyst

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

例: Lambda 関数を呼び出す

次のワークフローの例には、 AWS Lambda 呼び出しアクションとデプロイアクションが含まれています。ワークフローは、デプロイが開始されたことを示す Slack 通知を送信し、 AWS CloudFormation テンプレート AWS を使用して にアプリケーションをデプロイします。ワークフローは、連続して実行される次の構成要素で構成されます。

  • トリガー – このトリガーは、ソースリポジトリに変更をプッシュすると、ワークフローを自動的に開始します。トリガーについての詳細は、「トリガーを使用してワークフローを自動的に開始する」を参照してください。

  • AWS Lambda 呼び出しアクション (LambdaNotify) – トリガー時に、このアクションは指定された AWS アカウントとリージョン (my-aws-account、および) の Notify-Start Lambda 関数を呼び出します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 Lambda 「呼び出し」アクション YAML および のRoleプロパティの説明を参照してくださいAWS CloudFormation 「スタックのデプロイ」アクション YAML AWS CloudFormation

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