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