Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS Serverless Application Model テンプレートを使用して Amazon EventBridge リソースをデプロイする

フォーカスモード
AWS Serverless Application Model テンプレートを使用して Amazon EventBridge リソースをデプロイする - Amazon EventBridge

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

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

EventBridge コンソールでルールの構築とテストを手動で行うことができ、イベントパターンを改良する時の開発プロセスに役立ちます。ただし、アプリケーションをデプロイする準備ができたら、すべてのサーバーレスリソースを一貫して起動できる AWS SAM のようなフレームワークを使用する方が簡単です。

このサンプルアプリケーションを使用して、 AWS SAM テンプレートを使用して EventBridge リソースを構築する方法を確認します。この例の template.yaml ファイルは、4 つのAWS Lambda関数を定義する AWS SAM テンプレートであり、Lambda 関数を EventBridge と統合する 2 つの異なる方法を示しています。

このサンプルアプリケーションのチュートリアルについては、チュートリアル: Amazon EventBridge サンプルアプリケーションを作成する を参照してください。

EventBridge と AWS SAM テンプレートを使用する方法は 2 つあります。1 つのルールによって 1 つの Lambda 関数が呼び出される単純な統合では、[Combined template] (組み合わせテンプレート) アプローチをお勧めします。複雑なルーティングロジックがある場合、または AWS SAM テンプレート外のリソースに接続する場合は、分離されたテンプレートアプローチが適しています。

組み合わせテンプレート

最初のアプローチでは、Events プロパティを使用して、EventBridge ルールを設定します。次のサンプルコードでは、Lambda 関数を呼び出すイベントを定義します。

注記

この例では、すべての AWS アカウントに存在するデフォルトのイベントバスにルールを自動的に作成します。ルールをカスタムイベントバスに関連付けるには、EventBusName をテンプレートに追加します。

atmConsumerCase3Fn: Type: AWS::Serverless::Function Properties: CodeUri: atmConsumer/ Handler: handler.case3Handler Runtime: nodejs12.x Events: Trigger: Type: CloudWatchEvent Properties: Pattern: source: - custom.myATMapp detail-type: - transaction detail: result: - "anything-but": "approved"

この YAML コードは、EventBridge コンソールのイベントパターンと同等です。YAML では、イベントパターンを定義するだけで、必要なアクセス許可を持つ IAM ロール AWS SAM が自動的に作成されます。

分離テンプレート

で EventBridge 設定を定義する 2 番目のアプローチでは AWS SAM、テンプレート内でリソースがより明確に分離されます。

  1. まず、Lambda 関数を定義します。

    atmConsumerCase1Fn: Type: AWS::Serverless::Function Properties: CodeUri: atmConsumer/ Handler: handler.case1Handler Runtime: nodejs12.x
  2. 次に、AWS::Events::Rule リソースを使用してルールを定義します。プロパティはイベントパターンを定義し、ターゲットを指定することもできます。複数のターゲットを明示的に定義できます。

    EventRuleCase1: Type: AWS::Events::Rule Properties: Description: "Approved transactions" EventPattern: source: - "custom.myATMapp" detail-type: - transaction detail: result: - "approved" State: "ENABLED" Targets: - Arn: Fn::GetAtt: - "atmConsumerCase1Fn" - "Arn" Id: "atmConsumerTarget1"
  3. 最後に、EventBridge にターゲットを呼び出すアクセス許可を付与する AWS::Lambda::Permission リソースを定義します。

    PermissionForEventsToInvokeLambda: Type: AWS::Lambda::Permission Properties: FunctionName: Ref: "atmConsumerCase1Fn" Action: "lambda:InvokeFunction" Principal: "events.amazonaws.com" SourceArn: Fn::GetAtt: - "EventRuleCase1" - "Arn"

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.