例: 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 CloudFormation スタックのAWS Lambda 呼び出しアクションとデプロイアクションに必要なアクセス許可と信頼ポリシーの詳細については、「」および「」の「 Roleプロパティの説明AWS Lambda 「呼び出し」アクション YAML」を参照してください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