あるシステム (サブジェクト) が別のシステム (オブザーバー) にデータをポーリングし続ける従来のシステムとは異なり、Webhook を使用すると、イベントが発生するたびにオブザーバーが自動的にデータをサブジェクトのシステムにプッシュできます。
これにより、被験者による常時監視の必要がなくなります。 Webhook は完全にインターネット上で動作するため、システム間のすべての通信は HTTP メッセージの形式で行われる必要があります。
Webhook は、オブザーバーのシステムでイベントが発生したときに通知する必要があるサブジェクトのシステム内の API を指す静的 URL の存在に依存します。 この例としては、ユーザーの Amazon アカウントで行われたすべての注文を収集および管理するように設計された Web アプリが挙げられます。 このシナリオでは、Amazon がオブザーバーとして機能し、Custom Order Management Webapp がサブジェクトとして機能します。
カスタム Web アプリで Amazon API を定期的に呼び出して、作成された注文を確認する代わりに、カスタム Web アプリで作成された Webhook を使用すると、Amazon は登録された URL を介して Web アプリで新しく作成された注文を自動的に送信できます。 したがって、Webhook の使用を有効にするには、サブジェクトはオブザーバーからのイベント通知を受け入れる URL を指定する必要があります。 これにより、イベントが発生した場合にのみ HTTP 呼び出しが XNUMX 者間で行われるため、オブジェクトの負荷が大幅に軽減されます。
サブジェクトの Webhook がオブザーバーによって呼び出されると、サブジェクトはこの新しく送信されたデータに対して適切なアクションを実行できます。 通常、Webhook は特定の URL への POST リクエストを介して実行されます。 POST リクエストを使用すると、オブジェクトに追加情報を送信できます。 さらに、イベントごとに個別の Webhook URL を作成する代わりに、考えられるさまざまなイベントを識別するために使用することもできます。
アプリケーションに受信 Webhook を実装するには、次の基本手順を実行する必要があります。
Webhook と API はどちらも、アプリケーション間の通信を確立することを目的としています。 ただし、アプリケーションの統合を実現するために API ではなく Webhook を使用することには、明確な利点と欠点がいくつかあります。
次の点が実装されたシステムに関連している場合、Webhook はより良いソリューションとなる傾向があります。
他の状況では、Webhook よりも API の使用を優先する必要があります。
Webhook で API を使用する場合に考慮すべき重要な点は次のとおりです。
Webhook がオフラインになったときにサーバーから送信されたデータが失われる可能性に対処するために、イベント メッセージング キューを使用してそれらの呼び出しをアーカイブできます。 このような機能を提供するプラットフォームの例には、次のものがあります。 RabbitMQの o Amazon のシンプル キュー サービス (SQS)。 どちらも、Webhook 呼び出しを見逃す可能性を回避する中間メッセージング ストレージ機能として機能するように設計されています。
Ercole Palmeri
先週の月曜日、フィナンシャル・タイムズ紙はOpenAIとの契約を発表した。 FT は世界クラスのジャーナリズムにライセンスを供与しています…
何百万人もの人々がストリーミング サービスに月額料金を払っています。あなたは…というのが一般的な意見です。