--- title: "カスタムイベントリスナー" url: https://docs.catalyst.zoho.com/ja/cloud-scale/help/event-listeners/custom-event-listeners/ description: "Catalystは、コンポーネントまたはカスタムソースで発生する特定のイベントをリッスンし、イベント発生時に独自のロジックを実行できるコンポーネントイベントリスナーとカスタムイベントリスナーを提供します。" last_updated: 2026-08-17T12:16:04Z service: Cloud Scale type: general --- # カスタムイベントリスナー ### はじめに > **注意:** Catalystは、**Signals**と呼ばれる新しいイベントバスサービスを提供しています。このサービスは、現在の*Cloud Scale Event Listeners*コンポーネントの大幅なアップグレードです。Catalyst Signalsサービスの詳細については、[こちら](https://docs.catalyst.zoho.com/ja/signals/)を参照してください。 カスタムイベントリスナーは、エンドユーザーによってURLが呼び出されるたびに、ターゲット関数またはCircuitにデータを渡すために使用されます。コンポーネントで発生するイベントをカスタムイベントリスナーに関連付けることはできません。Catalystで作成するイベントリスナーは、コンポーネントイベントリスナーがデフォルトで存在するため、カスタムイベントリスナーになります。 > **注意:** 1つのプロジェクトに最大4つのカスタムおよびZohoイベントリスナーを作成できます。Catalystでは、各カスタムイベントリスナーに最大50のルールを作成できます。この上限の引き上げをご希望の場合は、[**support@zohocatalyst.com**](mailto:support@zohocatalyst.com)までサポートにお問い合わせください。各リクエストはケースバイケースで対応いたします。 カスタムイベントリスナーの動作を論理的な順序で理解しましょう: 1. カスタムイベントリスナーを作成すると、URLが生成されます。すべてのイベントルールに同じURLが使用されます。このURLをアプリケーションのコードに含めたり、必要に応じて使用できます。 2. カスタムイベントリスナーの各ルールを異なるターゲット関数またはCircuitに関連付けることができます。また、各ルールに対してイベントリスナーのURLのリクエストボディで異なるデータを送信することもできます。つまり、イベントリスナーのURL呼び出しは、毎回各ルールに対して異なる関数またはCircuitをトリガーし、異なるデータを送信するよう設定できます。 3. 複数のルールを同じターゲット関数またはCircuitに関連付け、毎回同じ関数またはCircuitに異なるデータを送信することもできます。これにより、異なるニーズに同じ関数またはCircuitを使用できます。 4. カスタムイベントリスナーのURLが呼び出されたときにどのルールをトリガーするかを識別するために、ルールには**ルール識別子**と呼ばれる変数が含まれています。カスタムイベントリスナーでルールを作成する際、識別子として一意の値を指定する必要があります。このルール識別子はそのルールにのみ関連付けられ、ターゲット関数またはCircuitをルールに関連付けます。 5. カスタムイベントリスナーはすべてのルールに同じURLを持つため、URLのリクエストボディにルール識別子の値を渡すことで、どのルールを呼び出すかを示すことができます。リクエストボディはJSON(_application/JSON_形式)で、キーを`rule\_identifier`としたキーバリューペアとしてこの情報を含む必要があります。必要に応じてリクエストボディに追加の情報を渡すこともできます。 6. URLはHTTP `POST`メソッドでのみ呼び出すことができます。他のメソッドはリクエストのメッセージボディ内にフォームデータを含めることをサポートしていないためです。 7. イベントリスナーのURLが呼び出されると、Catalystはリクエストボディで指定されたルール識別子を、コンソールで設定されたそのイベントリスナーのルールと照合します。照合が成功すると、Catalystはそのルールをトリガーし、イベントデータをそのルールに関連付けられた関数またはCircuitに渡します。その後、イベントデータはターゲットCircuitまたはイベント関数内で処理され、必要なタスクを実行できます。照合が成功しない場合、失敗イベントとなります。 カスタムイベントリスナーの機能を例を使ってより理解しましょう: CatalystプロジェクトでカスタムイベントリスナーをCatalystプロジェクトに作成するとします。イベントリスナーのURLは自動的に生成されます。ルール(_rule\_1_)を作成し、ルール識別子の値を_ID1_とします。このルールはトリガーされるとターゲット関数_Func_を実行します。次に、ルール識別子が_ID2_の2番目のルール(_rule\_2_)を作成し、トリガーされると同じ関数_Func_を実行します。つまり、_rule\_1_と_rule\_2_は同じ呼び出しURLを持ち、同じ関数を実行します。このURLをアプリケーションのロジック内の2つの異なる場所で使用します。 **使用例1:** ユーザーがクライアントのホームページのフォーム(_Form 1_)からデータを送信し、URLが呼び出されます。URLのボディのフォームデータでルール識別子をID1として指定します。 **使用例2:** ユーザーが別のフォーム(_Form 2_)でデータを送信し、同じURLが呼び出されます。URLのボディのフォームデータでルール識別子を_ID2_として指定します。 CatalystイベントリスナーはこのURLの呼び出しをリッスンしています。ユーザーが_Form 1_を通じてデータを送信すると、URLが呼び出されます。HTTPリクエストのボディには、以下のようにルール識別子を含むフォームデータが含まれます: ```json { "data": "Sample data from Form 1", "rule_identifier": "ID1" } ``` Catalystがこのイベントをキャプチャすると、ルール識別子_ID1_をプロジェクトで設定された_rule\_1_と照合します。照合が成功すると、関数_Func_をトリガーします。その後、以下のサンプルデータパターンでイベントデータを関数に渡します: ```json { "project_details": { "id": 57*************, "project_name": "Eventbus" }, "event_bus_details": { "name": "ThirdPartyBus", "id": 13************* }, "data": "Sample data 1", "current_project": { "id": 57*************, "project_name": "Eventbus" }, "action": "Produce", "source_entity_id": 570000000003015, "rule_identifier": "com.abc", "source": "Custom", "event_time": 1568192053790 } ``` ユーザーが_Form 2_を通じてデータを送信すると、リクエストボディの`rule\_identifier`の値が_ID2_として同じURLが呼び出されます。Catalystがこのイベントをキャプチャし、_ID2_を_rule\_2_に関連付けると、関連するデータが_Func_に渡されます。データパターンはすべてのカスタムイベントリスナーのルールで同じです。 それでは、カスタムイベントリスナーを作成して設定しましょう。 ### カスタムイベントリスナーの作成 カスタムイベントリスナーを作成するには: 1. Catalystコンソールの_Amplify_にある_Event Listeners_セクションから**Create Event Listener**をクリックします。 ![catalyst_event_listener_add_event](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_el_page.webp) 2. カスタムイベントリスナーの名前と説明を入力します。タイプとして**Custom Events**を選択します。 ![catalyst_event_listener_create_custom_rule](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_create_custom_rule.webp) 3. **Create**をクリックします。 カスタムイベントリスナーが作成され、IDとコンポーネントイベントリスナーと同じ[パフォーマンス統計](https://docs.catalyst.zoho.com/ja/cloud-scale/help/event-listeners/terminology/)とともにEvent Listenersページに表示されます。 ![catalyst_event_listener_tile_view](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_tile_view.webp) タイルの**View**をクリックしてイベントリスナーの詳細を確認できます。このページからイベントリスナーのURLにもアクセスできます。 ![catalyst_event_listener_custom_empty](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_empty.webp) カスタムイベントリスナーのURLは以下の形式です: ```json https://api.catalyst.zoho.com/baas/v1/project/project_id/event-bus/event_listener_id_/produce?ZCFKEY=_zcf_key ``` [Project ID](https://docs.catalyst.zoho.com/ja/getting-started/set-up-a-catalyst-project/general-settings/)、[Event Listener ID](https://docs.catalyst.zoho.com/ja/cloud-scale/help/event-listeners/terminology/)、および一意のZCF Keyの値が入力されます。 #### カスタムイベントリスナーでルールを作成する カスタムイベントリスナーでルールを作成するには: 1. _Event Listeners_ページからカスタムイベントリスナーをクリックして開きます。 2. **Create Rule**をクリックします。 ![catalyst_event_listener_custom_create_rule_highlight](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_create_rule_highlight.webp) 3. ルールの名前、説明、および[ルール識別子](https://docs.catalyst.zoho.com/ja/cloud-scale/help/event-listeners/custom-event-listeners/#Custom)を入力します。 ![catalyst_event_listener_custom_create_rule](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_create_rule.webp) ターゲット関数またはCircuitに渡されるデータのサンプル構造がページに表示されます。 4. *Target Point*として**Function**または**Circuit**を選択します: * **Functions**をトリガーする場合: ドロップダウンリストからアクションとターゲットイベント関数を選択します。現在、ターゲット関数にデータを渡すために**Produce**のみ選択できます。複数のターゲット関数を選択できます。 ![catalyst_event_listener_custom_create_rule_2](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_create_rule_2.webp) * **Circuit**をトリガーする場合: ドロップダウンリストからターゲットCircuitを選択します。現在、ターゲットCircuitにデータを渡すために**Produce**のみ選択できます。複数のターゲットCircuitを選択できます。 ![catalyst_event_listener_custom_circuit_multi_select](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_circuit_multi_select.webp) > **注意:** * ターゲットとしてイベント関数を選択した場合、ドロップダウンには[イベント関数](https://docs.catalyst.zoho.com/ja/serverless/help/functions/event-functions/)のみが一覧表示されます。 * ターゲットとしてCircuitを選択した場合、ドロップダウンには以前に作成したすべてのCircuitが一覧表示されます。 * イベントリスナーの設定前にイベント関数またはCircuitを作成していない場合は、ドロップダウンの**Create New**をクリックすると、[イベント関数](https://docs.catalyst.zoho.com/ja/serverless/help/functions/event-functions/#introduction)または[Circuit](https://docs.catalyst.zoho.com/ja/serverless/help/circuits/implementation/#create-a-circuit)を作成するための各コンポーネントセクションに移動します。 5. **Create**をクリックします。 ルールがカスタムイベントリスナーに作成されます。イベントリスナーのページにその詳細とともに一覧表示されます。カスタムイベントリスナーのソースは常に「**custom**」です。 ![catalyst_event_listener_custom_queue_events_button_highlight](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_queue_events_button_highlight.webp) 一覧からルール名をクリックすると、ルールの詳細とデータパターンが表示されます。 ![catalyst_event_listener_custom_rule_dets](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_rule_dets.webp) > **注意:** [Catalystコンポーネントイベント](https://docs.catalyst.zoho.com/ja/cloud-scale/help/event-listeners/component-event-listeners/#configure-alerts-for-catalyst-component-listeners)セクションでアラートを設定したのと同じ方法で、カスタムイベントのApplication Alertsを設定できます。 イベントリスナーのルール管理や処理済みイベントについて説明する前に、カスタムイベントリスナーの編集と削除について簡単に説明します。 #### カスタムイベントリスナーの編集 カスタムイベントリスナーの名前変更や説明の編集は以下の方法で行えます: 1. *Event Listeners*ページからカスタムイベントリスナーを開きます。 2. ページ上部の省略記号メニューをクリックし、**Edit**をクリックします。 ![catalyst_event_listener_custom_edit_listener_highlight](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_edit_listener_highlight.webp) 3. イベントリスナーの詳細を更新し、**Save**をクリックします。 ![catalyst_event_listener_custom_edit_event_lis](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_edit_event_lis.webp) #### カスタムイベントリスナーの削除 カスタムイベントリスナーを削除するには: 1. *Event Listeners*ページからカスタムイベントリスナーを開きます。 2. ページ上部の省略記号メニューをクリックし、**Delete**をクリックします。 ![catalyst_event_listener_custom_delete_highlight](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_event_listener_custom_delete_highlight.webp) 3. 確認ポップアップで**Yes, Proceed**をクリックします。 ![catalyst_el_custom_delete_confirmation](https://catalyst-docs-development.zohostratus.in/images/help/event-listeners/catalyst_el_custom_delete_confirmation.webp)