Cookie の設定を選択する

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

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

AWS AppSync Amazon EventBridge のルールのターゲット

フォーカスモード
AWS AppSync Amazon EventBridge のルールのターゲット - Amazon EventBridge

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

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

AWS AppSync を使用すると、デベロッパーは、安全でサーバーレス、高性能な GraphQL および Pub/Sub APIs を使用して、アプリケーションとサービスをデータやイベントに接続できます。を使用すると AWS AppSync、GraphQL ミューテーションを使用してアプリケーションにリアルタイムのデータ更新を発行できます。EventBridge は、一致したイベントに対する有効な GraphQL ミューテーション操作の呼び出しをサポートしています。 AWS AppSync API ミューテーションをターゲットとして指定すると、 はミューテーションオペレーションを介してイベント AWS AppSync を処理し、ミューテーションにリンクされたサブスクリプションをトリガーできます。

注記

EventBridge は AWS AppSync パブリック GraphQL APIsをサポートしています。EventBridge は現在 AWS AppSync 、プライベート APIsをサポートしていません。

AWS AppSync GraphQL API ターゲットは、次のユースケースに使用できます。

  • 設定したデータソースへのイベントデータのプッシュ、変換、保存

  • 接続しているアプリケーションクライアントへの通知のリアルタイム送信

注記

AWS AppSync ターゲットは、 AWS_IAM認可タイプを使用した AWS AppSync GraphQL APIsの呼び出しのみをサポートします。

AWS AppSync GraphQL APIs「 AWS AppSync デベロッパーガイド」のGraphQL と AWS AppSync アーキテクチャ」を参照してください。

コンソールを使用して EventBridge ルールの AWS AppSync ターゲットを指定するには
  1. ルールを作成または編集します。

  2. [ターゲット] で、[AWS のサービス][AWS AppSync] の順に選択してターゲットを指定します。

  3. 解析して実行するミューテーション操作を、選択セットと共に指定します。

    • AWS AppSync API を選択し、次に呼び出す GraphQL API ミューテーションを選択します。

    • [パラメータと選択セットの設定] で、選択セットの作成にキーと値のマッピングを使用するか、入力トランスフォーマーを使用するかを選択します。

      Key-value mapping

      キーと値のマッピングを使用して選択セットを作成するには:

      • API パラメータの変数を指定します。各変数は、静的な値でも、イベントペイロードへの動的な JSON パス式でもかまいません。

      • [選択セット] で、レスポンスに含める変数を選択します。

      Input transformer

      入力トランスフォーマーを使用して選択セットを作成するには:

      • 使用する変数を定義する入力パスを指定します。

      • ターゲットに渡す情報を定義およびフォーマットする入力テンプレートを指定します。

      詳細については、「EventBridge でルールを作成するときに入力トランスフォーマーを設定する」を参照してください。

      キーと値のマッピングを使用して選択セットを作成するには:

      • API パラメータの変数を指定します。各変数は、静的な値でも、イベントペイロードへの動的な JSON パス式でもかまいません。

      • [選択セット] で、レスポンスに含める変数を選択します。

  4. [実行ロール] で、新しいロールを作成するか、既存のロールを使用するかを選択します。

  5. ルールの作成または編集を完了します。

例:Amazon EventBridge の AWS AppSync ターゲット

次の例では、EventBridge ルールの AWS AppSync ターゲットを指定する方法について説明します。これには、配信するイベントをフォーマットするための入力変換の定義が含まれます。

次のスキーマで定義された AWS AppSync GraphQL APIEc2EventAPI、 があるとします。

type Event { id: ID! statusCode: String instanceId: String } type Mutation { pushEvent(id: ID!, statusCode: String!, instanceId: String): Event } type Query { listEvents: [Event] } type Subscription { subscribeToEvent(id: ID, statusCode: String, instanceId: String): Event @aws_subscribe(mutations: ["pushEvent"]) }

この API を使用するアプリケーションクライアントは、pushEvent ミューテーションによってトリガーされる subscribeToEvent サブスクリプションにサブスクライブできます。

pushEvent ミューテーションを介して AppSync API にイベントを送信するターゲットを使用して EventBridge ルールを作成できます。ミューテーションを呼び出すと、サブスクライブしているすべてのクライアントがイベントを受信します。

この API を EventBridge ルールのターゲットとして指定するには、次の操作を行います。

  1. ルールターゲットの Amazon リソースネーム (ARN) を Ec2EventAPI API の GraphQL エンドポイント ARN に設定します。

  2. GraphQL ミューテーション操作をターゲットパラメータとして指定します。

    mutation CreatePushEvent($id: ID!, $statusCode: String, $instanceId: String) { pushEvent(id: $input, statusCode: $statusCode, instanceId: $instanceId) { id statusCode instanceId } }

    ミューテーション選択セットには、GraphQL サブスクリプションでサブスクライブするすべてのフィールドを含める必要があります。

  3. 入力トランスフォーマーを設定して、一致したイベントのデータをどのように操作で使用するかを指定します。

    次の “EC2 Instance Launch Successful” サンプルイベントを選択したとします。

    { "version": "0", "id": "3e3c153a-8339-4e30-8c35-687ebef853fe", "detail-type": "EC2 Instance Launch Successful", "source": "aws.autoscaling", "account": "123456789012", "time": "2015-11-11T21:31:47Z", "region": "us-east-1", "resources": ["arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:eb56d16b-bbf0-401d-b893-d5978ed4a025:autoScalingGroupName/sampleLuanchSucASG", "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f"], "detail": { "StatusCode": "InProgress", "AutoScalingGroupName": "sampleLuanchSucASG", "ActivityId": "9cabb81f-42de-417d-8aa7-ce16bf026590", "Details": { "Availability Zone": "us-east-1b", "Subnet ID": "subnet-95bfcebe" }, "RequestId": "9cabb81f-42de-417d-8aa7-ce16bf026590", "EndTime": "2015-11-11T21:31:47.208Z", "EC2InstanceId": "i-b188560f", "StartTime": "2015-11-11T21:31:13.671Z", "Cause": "At 2015-11-11T21:31:10Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1. At 2015-11-11T21:31:11Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1." } }

    ターゲット入力トランスフォーマーの入力パスを使用して、テンプレートで使用する以下の変数を定義できます。

    { "id": "$.id", "statusCode": "$.detail.StatusCode", "EC2InstanceId": "$.detail.EC2InstanceId" }

    入力トランスフォーマーテンプレートを作成して、EventBridge が AWS AppSync ミューテーションオペレーションに渡す変数を定義します。テンプレートは JSON として評価される必要があります。入力パスを指定すると、次のテンプレートを作成できます。

    { "id": <id>, "statusCode": <statusCode>, "instanceId": <EC2InstanceId> }

このページの内容

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