イベントルールを使用して、イベントをフィルター処理し、Function Compute にルートできます。このトピックでは、カスタムイベントを例として、前提条件、手順、および結果の検証方法について説明します。
前提条件
ステップ 1: カスタムイベントソースの追加
EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[イベントバス] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。[イベントバス] ページで、管理するカスタムイベントバスの名前をクリックします。
左側のナビゲーションウィンドウで、[イベントソース] をクリックし、[イベントソースの追加] をクリックします。
[カスタムイベントソースの追加] パネルで、[名前] と [説明] を入力し、[イベントプロバイダー] を [カスタムアプリケーション] に設定して、OK をクリックします。
ステップ 2: イベントルールの作成
イベントターゲットとイベントルールは同じリージョンにある必要があります。
EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[イベントバス] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。[イベントバス] ページで、管理するイベントバスの名前をクリックします。
左側のナビゲーションウィンドウで、[イベントルール] をクリックします。表示されたページで、[ルールの作成] をクリックします。
[ルールの作成] ページで、次の手順を実行します。
[基本情報の設定] ステップで、[名前] テキストボックスにルール名を入力し、[説明] テキストボックスに説明を入力します。[次へ] をクリックします。
[イベントパターンの設定] ステップで、[イベントソースタイプ] を [カスタムイベントソース] に設定します。[イベントソース] をステップ 1 で追加したカスタムイベントソースに設定します。[イベントパターンコンテンツ] コードボックスにイベントパターンを入力し、[次へ] をクリックします。
詳細については、「イベントパターン」をご参照ください。
[ターゲットの設定] ステップで、イベントターゲットを設定し、[作成] をクリックします。
説明イベントルールには最大 5 つのターゲットを追加できます。
パラメーター
説明
サービスタイプ
ドロップダウンリストから Function Compute を選択します。
関数
ドロップダウンリストから作成した関数を選択します。
イベント
イベントタイプを選択します: [イベント全体]、[イベントの一部]、[固定値]、または [テンプレート]。このトピックでは、[テンプレート] を例として使用します。詳細については、「イベント変換」をご参照ください。
次のコードは、[変数] と [テンプレート] の例を示しています。
サンプル変数:
{ "source":"$.source", "type":"$.type" }サンプルテンプレート:
イベントは ${source} からのもので、イベントタイプは ${type} です。バージョンとエイリアス
関数のバージョンまたはエイリアスを指定します:
[バージョンの指定] を選択した場合は、関数の特定のバージョンを選択します。
[エイリアスの指定] を選択した場合は、関数の特定のエイリアスを選択します。
呼び出しモード
呼び出しモードを選択します。詳細については、「同期呼び出し」および「非同期呼び出しの概要」をご参照ください。
同期: 関数がイベントを処理した直後に結果が返されます。
非同期: Function Compute が非同期呼び出しリクエストを受信すると、リクエストを永続化し、リクエストの実行が完了するのを待たずにすぐに応答を返します。
配信方法
2 つの配信方法が利用可能です:
オブジェクト形式: イベントをオブジェクトとしてダウンストリーム関数に配信します。
ObjectList 形式: イベントをオブジェクトの配列としてダウンストリーム関数に配信します。
説明これはオプションのパラメーターです。配信方法を選択しない場合、イベントはデフォルトで [オブジェクト形式] で配信されます。
リトライポリシーとデッドレターキュー
このパラメーターの設定方法については、「リトライポリシーとデッドレターキュー」をご参照ください。
ステップ 3: イベントの公開
EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[イベントバス] をクリックします。
- 上部のナビゲーションバーで、リージョンを選択します。
[イベントバス] ページで、ターゲットバスを見つけ、操作 列の イベントのパブリッシュ をクリックします。
説明EventBridge コンソールでは、カスタムイベントバスにのみイベントを公開できます。
[カスタムイベントバスへのイベントの公開] パネルで、カスタムイベントソース ドロップダウンリストから既存のカスタムイベントソースを選択し、イベント本体 フィールドにイベントの内容を入力して、OK をクリックします。
イベントパラメーターの詳細については、「概要」をご参照ください。
失敗したイベントをリトライするには、Function Compute 関数の例外処理を定義する必要があります。EventBridge が関数からの例外を検出すると、Function Compute へのイベントの公開を自動的にリトライします。
結果の検証
Function Compute コンソールのダッシュボードでデータメトリックを表示できます。
Function Compute コンソールにログインします。
左側のナビゲーションウィンドウで、[関数] をクリックします。上部のナビゲーションバーから、ターゲットリージョンを選択します。
[関数] ページで、ターゲットの関数名をクリックします。
ターゲットの [関数の詳細] ページで、[ログ] タブをクリックし、[関数ログ] をクリックして関数のログを表示します。

よくある質問
イベントの公開に失敗した場合、どのように問題を特定できますか?
イベントの公開に失敗した場合、公開リクエストへの応答を表示してトラブルシューティングを行うことができます。EventBridge コンソールに移動し、[イベントトレース] メッセージの [イベント配信] セクションで関連情報を表示します。次に、返された応答に基づいて適切な措置を講じます。
イベントが Function Compute に公開されず、応答で「[500]ConnectErrorconnectiontimedout」エラーが返された場合はどうすればよいですか?
- Function Computeコンソールにログインします。イベントがルートされる関数を実行し、実行時間を確認します。
- 実行時間が 15 秒を超える場合は、ネットワーク接続を確認します。実行時間が 15 秒未満の場合は、イベントがルートされるサービスがデプロイされているリージョンのエンドポイントにアクセスできるかどうかを確認します。
- Function Compute がデプロイされているリージョンのエンドポイントにアクセスできない場合は、Function Compute のエンジニアにお問い合わせください。