このトピックでは、EventBridge コンソールで API ゲートウェイ タイプのカスタムイベントソースを作成する方法について説明します。
前提条件
EventBridge がアクティブ化されており、必要な権限が Resource Access Management (RAM) ユーザーに付与されていること。詳細については、「EventBridge をアクティブ化し、RAM ユーザーに権限を付与する」をご参照ください。
カスタムイベントバスが作成されていること。詳細については、「カスタムイベントバスを作成する」をご参照ください。
手順 1:バックエンドサービスを作成する
API ゲートウェイコンソール にログオンします。左側のナビゲーションペインで、 を選択します。
[バックエンドサービス] ページの右上隅にある [バックエンドサービスの作成] をクリックします。[バックエンドサービスの作成] ダイアログボックスで、バックエンドサービスの名前を入力し、EventBridge[タイプ] ドロップダウンリストから 確認 を選択して、 をクリックします。
バックエンドサービスリストで、作成したバックエンドサービスを見つけ、バックエンドサービスを構成し、関連付けられた API を表示する[アクション] 列の をクリックします。
[バックエンドサービスの定義] ページで、[本番環境] タブをクリックします。[基本情報] セクションで、[作成] をクリックします。
[バックエンドサービスの定義] ページで、[リージョン] ドロップダウンリストからカスタムイベントバスが作成されたリージョンを選択し、[イベントバス] ドロップダウンリストからカスタムイベントバスの名前を選択し、イベントソースの名前と説明を指定して、[公開] をクリックします。
手順 2:API グループを作成する
左側のナビゲーションペインで、
を選択します。[API グループ] ページの右上隅にある [グループの作成] をクリックし、[インスタンス] ドロップダウンリストからインスタンスを選択し、[グループ名] パラメーターを設定して、[確認] をクリックします。
重要作成する API グループは、「前提条件」セクションで作成したカスタムイベントバスと同じリージョンに存在する必要があります。
手順 3:API を作成して承認する
[API グループ] ページで、手順 2 で作成した API グループを見つけ、[アクション] 列の [API の管理] をクリックします。
[API] ページで、[API の作成] をクリックします。
[基本情報] ステップで、パラメーターを設定し、[次へ] をクリックします。
[API リクエストの定義] ステップで、パラメーターを設定し、[次へ] をクリックします。
説明このステップでは、EventBridge が API を呼び出す方法を定義できます。リクエストタイプ、プロトコル、リクエストパス、HTTP メソッド、リクエストモード、およびリクエストパラメーターを指定する必要があります。
[バックエンドサービスの定義] ステップで、[バックエンドサービスタイプ] パラメーターと [バックエンドサービス] パラメーターを設定し、[次へ] をクリックします。
(オプション) [レスポンスの定義] タブで、[レスポンスの例] パラメーターと [エラーレスポンスの例] パラメーターを設定して API ヘルプドキュメントを生成し、[作成] をクリックします。
API が作成された後、[アクション] 列の [公開] をクリックして、API を本番環境に公開します。
[API] ページで、管理する API を見つけ、[アクション] 列の
アイコンをクリックします。次に、[承認] をクリックします。
[承認] パネルで、承認の有効期間と承認するアプリを指定します。次に、[確認] をクリックします。
手順 5:API をデバッグする
[API] ページで、手順 3:API を作成して承認する で作成した API を見つけ、デバッグ[アクション] 列の をクリックします。
[API のデバッグ] ページで、デバッグ環境として [本番環境] を選択し、[検証方法] パラメーターを [appcode を使用する] に設定し、リクエストパラメーターを設定して、[リクエストの送信] をクリックします。
イベントの詳細を表示する
EventBridge コンソール にログオンします。左側のナビゲーションペインで、[イベントバス] をクリックします。
[イベントバス] ページで、管理するカスタムイベントバスの名前をクリックします。
左側のナビゲーションペインで、[イベント追跡] をクリックし、[時間範囲でクエリ] タブまたは [イベント ID でクエリ] タブを選択し、対応するパラメーターを設定して、[クエリ] をクリックします。
[操作] 列の [イベントの詳細] をクリックして、イベントの内容を表示します。
次のサンプルコードは、クエリされたイベントの例を示しています。
{ "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 パラメーターの内容は除きます。