すべてのプロダクト
Search
ドキュメントセンター

EventBridge:API ゲートウェイタイプのカスタムイベントソースを作成する

最終更新日:Jan 11, 2025

このトピックでは、EventBridge コンソールで API ゲートウェイ タイプのカスタムイベントソースを作成する方法について説明します。

前提条件

手順 1:バックエンドサービスを作成する

  1. API ゲートウェイコンソール にログオンします。左側のナビゲーションペインで、[API の管理] > [バックエンドサービス] を選択します。

  2. [バックエンドサービス] ページの右上隅にある [バックエンドサービスの作成] をクリックします。[バックエンドサービスの作成] ダイアログボックスで、バックエンドサービスの名前を入力し、EventBridge[タイプ] ドロップダウンリストから 確認 を選択して、 をクリックします。

    12Kka09sbi

  3. バックエンドサービスリストで、作成したバックエンドサービスを見つけ、バックエンドサービスを構成し、関連付けられた API を表示する[アクション] 列の をクリックします。

  4. [バックエンドサービスの定義] ページで、[本番環境] タブをクリックします。[基本情報] セクションで、[作成] をクリックします。

  5. [バックエンドサービスの定義] ページで、[リージョン] ドロップダウンリストからカスタムイベントバスが作成されたリージョンを選択し、[イベントバス] ドロップダウンリストからカスタムイベントバスの名前を選択し、イベントソースの名前と説明を指定して、[公開] をクリックします。

手順 2:API グループを作成する

  1. 左側のナビゲーションペインで、[API の管理] > [API グループ] を選択します。

  2. [API グループ] ページの右上隅にある [グループの作成] をクリックし、[インスタンス] ドロップダウンリストからインスタンスを選択し、[グループ名] パラメーターを設定して、[確認] をクリックします。

    SYIFxEn5sG

    重要

    作成する API グループは、「前提条件」セクションで作成したカスタムイベントバスと同じリージョンに存在する必要があります。

手順 3:API を作成して承認する

  1. [API グループ] ページで、手順 2 で作成した API グループを見つけ、[アクション] 列の [API の管理] をクリックします。

  2. [API] ページで、[API の作成] をクリックします。

    1. [基本情報] ステップで、パラメーターを設定し、[次へ] をクリックします。

      bmVHlylxnB

    2. [API リクエストの定義] ステップで、パラメーターを設定し、[次へ] をクリックします。

      EVRUdrh91I

      説明

      このステップでは、EventBridge が API を呼び出す方法を定義できます。リクエストタイプ、プロトコル、リクエストパス、HTTP メソッド、リクエストモード、およびリクエストパラメーターを指定する必要があります。

    3. [バックエンドサービスの定義] ステップで、[バックエンドサービスタイプ] パラメーターと [バックエンドサービス] パラメーターを設定し、[次へ] をクリックします。

      aURupKIZw0

    4. (オプション) [レスポンスの定義] タブで、[レスポンスの例] パラメーターと [エラーレスポンスの例] パラメーターを設定して API ヘルプドキュメントを生成し、[作成] をクリックします。

  3. API が作成された後、[アクション] 列の [公開] をクリックして、API を本番環境に公開します。

  4. [API] ページで、管理する API を見つけ、[アクション] 列の image アイコンをクリックします。次に、[承認] をクリックします。

  5. [承認] パネルで、承認の有効期間と承認するアプリを指定します。次に、[確認] をクリックします。

    677dXHeo82

手順 5:API をデバッグする

  1. [API] ページで、手順 3:API を作成して承認する で作成した API を見つけ、デバッグ[アクション] 列の をクリックします。

  2. [API のデバッグ] ページで、デバッグ環境として [本番環境] を選択し、[検証方法] パラメーターを [appcode を使用する] に設定し、リクエストパラメーターを設定して、[リクエストの送信] をクリックします。

    IpYBZq1PhH

イベントの詳細を表示する

  1. EventBridge コンソール にログオンします。左側のナビゲーションペインで、[イベントバス] をクリックします。

  2. [イベントバス] ページで、管理するカスタムイベントバスの名前をクリックします。

  3. 左側のナビゲーションペインで、[イベント追跡] をクリックし、[時間範囲でクエリ] タブまたは [イベント ID でクエリ] タブを選択し、対応するパラメーターを設定して、[クエリ] をクリックします。

  4. [操作] 列の [イベントの詳細] をクリックして、イベントの内容を表示します。

    次のサンプルコードは、クエリされたイベントの例を示しています。

    {
        "datacontenttype": "application/json",
        "aliyunaccountid": "1431999136******",
        "data": {
            "headers": {
                "Authorization": "APPCODE 0624849af6ab4020a272fe9f7b******",
                "Proxy-Uid": "X-Ca-e605e437-b65d-4e52-9f8c-515c55******",
                "X-Ca-Stage": "RELEASE",
                "User-Agent": "Apache-HttpClient/4.5.6 (Java/1.8.0_172)",
                "Accept-Encoding": "gzip,deflate",
                "Content-Type": "text/html"
            },
            "path": "/test/eb/1",
            "pathParameters": {},
            "method": "GET",
            "queryParameters": {}
            "body": ""  // HTTP リクエストボディ
        },
        "aliyunoriginalaccountid": "143199913******",
        "source": "time-source-ad2a0405-9a2a-4f86-87f1-c0ef89******",
        "type": "eventbridge:Events:ApiGateway",
        "aliyunpublishtime": "2024-11-14T07:11:33.287Z",
        "specversion": "1.0",
        "aliyuneventbusname": "ad2a0405-9a2a-4f86-87f1-c0ef89******",
        "id": "324213ab-cae5-4049-89a4-560ead******",
        "time": "2024-11-14T07:11:33.000Z",
        "aliyunregionid": "cn-hangzhou",
        "aliyunpublishaddr": "172.20.XX.XX"
    }

    CloudEvents 仕様で定義されているパラメーターの詳細については、「概要」をご参照ください。

    次の表は、data フィールドに含まれるパラメーターについて説明しています。

    パラメーター

    必須

    説明

    headers

    マップ

    {
        "Authorization": "APPCODE b6e439f27045443ca58e9136ef20****",
        "X-Ca-Dashboard-Uid": "115964845466****",
        "X-Ca-Dashboard-Action": "DEBUG",
        "X-Ca-Stage": "RELEASE",
        "X-Ca-Dashboard-Role": "USER",
        "User-Agent": "Apache-HttpClient/4.5.6 (Java/1.8.0_172)",
        "Accept-Encoding": "gzip,deflate",
        "Content-Type": "text/html; charset=utf-8"
    }

    HTTP リクエストヘッダー。

    path

    文字列

    /test/eb/1

    HTTP リクエストパス。

    pathParameters

    マップ

    なし

    パスパラメーター。

    body

    文字列/マップ

    なし

    HTTP リクエストボディ。Content-Type パラメーターの値が application/json の場合、HTTP リクエストボディは JSON オブジェクトとして解析されます。それ以外の場合、HTTP リクエストボディは通常の文字列として解析されます。

    method

    文字列

    GET

    HTTP リクエストメソッド。

    queryParameters

    マップ

    なし

    HTTP リクエストの query パラメーターの値。token パラメーターの内容は除きます。