呼び出しURL
呼び出しURL
新しいBox Skillsアプリケーションの作成時に、invocation_url
を指定するよう求められます。このURLは、Skillsアプリが監視するフォルダ内にファイルがアップロード、コピー、移動されたときに、Boxからイベント通知ペイロードが送信される公開ウェブアドレスです。
この通知をリッスンしているウェブサイトまたはアプリケーションは、Box上のファイルと、ファイルからインサイトを取得するために使用されている機械学習システムなどのシステムの間のブリッジとして機能します。
要件
- 呼び出しURLは一般公開する必要があります。
localhost
または127.0.0.1
のアドレスにはBoxのサーバーからアクセスできないため、通知を送信できません。 - 呼び出しURLの背後にあるサーバーは、HTTP
POST
リクエストをリッスンしている必要があります。Box Skillsは、JSON
本文を使用したPOST
リクエストを介してイベント通知を送信します。
ホスティングのヒントとテクニック
Boxのサーバーがinvocation_url
として使用できるよう、アプリケーションを公開URLですばやく公開する方法はいくつかあります。
- ローカルトンネル - 開発者のマシン上にあるウェブアプリケーションを公開アドレスに公開する最も簡単な方法の1つは、ローカルトンネルの使用です。一般的なトンネリングツールには、
ngrok
やlocaltunnel
があります。 - サーバーレス関数 - Box Skillを処理できるサーバーを設定するには、サーバーレス関数が役立ちます。Box Skillsは、監視対象のフォルダ内のアクティビティ (の欠如) に応じて生成できる呼び出しの数が異なります。AWS Lambda、Google Cloud Functions、Microsoft Azure Functionsなどのサーバーレス関数は、このような散発的なイベントに適しています。サーバーレス関数は、イベントの処理中にのみ実行され、課金の対象となります。
- 従来のアプリケーションホスティング - サーバーレステクノロジが望ましくない場合、Heroku、Firebase、AWS、GCPなど、従来のアプリケーションホスティングソリューションも使用できます。これらのアプリケーションはそれぞれ固有のサービスでホストされ、アプリケーション用の公開URLが呼び出しURLとして使用されます。
アプリケーションサーバーの詳細
一般に、呼び出しURLの背後にあるアプリケーションは、以下のタスクを実行する必要があります。
- Boxからのイベント通知をキャプチャする。
- Boxファイル (またはそのURL) のバイナリデータを処理サービスに送信する。
- 処理サービスからのレスポンスをリッスンする。
- 処理サービスからのレスポンスをBoxメタデータ形式に変換する。
- Boxに保存されているファイルに新しいメタデータを適用する。