このトピックでは、イベントルールとカスタムイベントを使用して、イベントをフィルター処理し、Function Compute にルーティングする方法について説明します。前提条件、操作手順、結果の確認方法について説明します。
前提条件
ステップ 1:カスタムイベントソースの追加
- EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[イベントバス] をクリックします。
- 上部のナビゲーションバーでリージョンを選択します。[イベントバス] ページで、ターゲットのカスタムイベントバスをクリックします。
- 左側のナビゲーションウィンドウで、[イベントソース] をクリックし、[イベントソースの追加] をクリックします。
-
カスタムイベントソースの追加 パネルで、Name と Description を入力します。イベントプロバイダー には イベントプロバイダー を選択し、OK をクリックします。
ステップ 2:イベントルールの作成
ターゲットサービスとイベントルールは、同じリージョンに存在する必要があります。
- EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[イベントバス] をクリックします。
- 上部のナビゲーションバーでリージョンを選択します。[イベントバス] ページで、ターゲットのイベントバスをクリックします。
- 左側のナビゲーションウィンドウで、[イベントルール] をクリックし、[ルールの作成] をクリックします。
-
ルールの作成 ページで、以下の手順を実行します。
-
基本情報の設定 ウィザードで、Name テキストボックスに ルール の名前を入力し、Description テキストボックスに説明を入力してから、Next をクリックします。
-
イベントパターンの設定 ステップで、イベントソースタイプ を カスタムイベントソース に設定します。イベントソース には、ステップ 1 で作成したカスタムイベントソースを選択します。[パターン内容] エディターにイベントパターンを入力し、Next をクリックします。
詳細については、「イベントパターン」をご参照ください。
-
イベントターゲットの設定 ステップで、イベントターゲットを設定し、Create をクリックします。
説明1 つのイベントルールには最大 5 つのターゲットを設定できます。
パラメーター
説明
サービスタイプ
ドロップダウンリストから Function Compute を選択します。
関数
作成した関数を選択します。
Event
サポートされている変換タイプは 完全なイベント、一部のイベント、固定値、テンプレート です。このトピックでは、テンプレート タイプを例に説明します。詳細については、「イベント変換」をご参照ください。
以下は変数とテンプレートの例です。
変数:
{ "source":"$.source", "type":"$.type" }テンプレート:
The event comes from ${source},event type is ${type}.バージョンとエイリアス
特定の関数バージョンまたはエイリアスをターゲットにできます。
-
バージョンの指定 を選択した場合、特定の関数バージョンを選択する必要があります。
-
エイリアスの指定 を選択した場合、特定の関数エイリアスを選択する必要があります。
実行方法
2 つの呼び出しメソッドがサポートされています。詳細については、「同期呼び出し」および「非同期呼び出しの概要」をご参照ください。
-
同期:関数はイベントを処理し、すぐに結果を返します。
-
非同期:Function Compute はリクエストを受信してキューに入れ、すぐにレスポンスを返します。
配信方法
2 つのイベント形式がサポートされています:
-
Object:この形式を選択すると、イベントはオブジェクトとしてダウンストリーム関数に配信されます。
-
ObjectList:この形式を選択すると、イベントはオブジェクトの配列としてダウンストリーム関数に配信されます。
説明このパラメーターを省略した場合、イベントはデフォルトで Object フォーマット フォーマットで配信されます。
再試行ポリシーとデッドレターキュー
設定手順については、「リトライポリシーとデッドレターキュー」をご参照ください。
-
-
ステップ 3:イベントの発行
- EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[イベントバス] をクリックします。
- 上部のナビゲーションバーでリージョンを選択します。
-
イベントバス ページで、目的のイベントバスを見つけ、操作 列の イベントのパブリッシュ をクリックします。
説明コンソールからイベントを発行できるのは、カスタムイベントバスのみです。
-
カスタムイベントバス {name} にイベントをパブリッシュ パネルで、カスタムイベントソース ドロップダウンリストから作成したカスタムイベントソースを選択します。イベント本体 エディターにイベント内容を入力し、OK をクリックします。
イベントのパラメーターについては、「イベントの概要」をご参照ください。
EventBridge が失敗した配信をリトライするには、ご利用の Function Compute 関数が例外をスローする必要があります。EventBridge はこの例外を検出し、自動的にイベントの再配信を試みます。
結果の確認
Function Compute コンソールで関数のログを確認することで、関数が呼び出されたことを確認できます。
-
Function Compute コンソールにログインします。
-
左側のナビゲーションウィンドウで、関数 をクリックします。上部のナビゲーションバーで、ターゲットリージョンを選択します。
-
関数 ページで、対象の関数の名前をクリックします。
-
関数の詳細 ページで ログ タブをクリックし、次に 関数ログ をクリックして対象関数のログを表示します。
よくある質問
イベント配信失敗のトラブルシューティング
イベントの配信が失敗した場合は、その [イベントトレース] を表示します。[イベントトレース] ページで、[イベント配信] セクションの配信詳細と応答を確認し、応答に基づいてアクションを実行します。
「Connection timed out」エラーのトラブルシューティング
- Function Compute コンソールにログインし、ターゲット関数を実行して、その実行時間を確認します。
- 実行時間が 15 秒を超える場合は、ネットワークの問題を確認します。実行時間が 15 秒未満の場合は、そのリージョンの Function Compute エンドポイントにアクセスできることを確認します。
- 現在のリージョンの Function Compute エンドポイントにアクセスできない場合は、サポートにお問い合わせください。