呼び出し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に保存されているファイルに新しいメタデータを適用する。