メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Function リクエストのフロー

Twilio Functionの動作を理解する最良の方法は、HTTPリクエストのフローと、Twilioが最終的に開発者のコードを実行する方法の理解から始めることです。 Twilio FunctionsはWebアプリケーションを形づくるインフラ作業を可能な限り多く処理するようデザインされています。 Twilio Functionsでは、この作業はまずFunctionに対するHTTPリクエストの処理から始まり、パイプラインは開発者のコードまで続きます。

Functionsのリクエストフロー

  1. すべてのFunctionsのリクエストは、開発者のTwilio Functionsに対してリクエストを発行するHTTPクライアントから始まります。 ほとんどのFunctionsでは、HTTPクライアントは着信通話またはテキストメッセージに対して応答するTwilio VoiceまたはMessaging APIです。
  2. Twilio Functionゲートウェイはこのリクエストを受信し、その検証を試みます。 Twilio Functionで署名の検証がオンになっている場合、Functionゲートウェイは署名の検証を試みます。リクエストまたはTwilioの署名が無効な場合は、リクエストは適切なHTTP 400レスポンスを伴って拒否されます。
  3. Twilio FunctionゲートウェイがHTTPリクエストを受け入れた後は、開発者のTwilio Function用のペイロードにリクエストが標準化されます。 標準化されたリクエストは開発者のTwilio Functionにcontextとeventという2つの引数として提供されます。 いったん作成されたペイロードは、開発者のTwilio Functionの呼び出しに使用されます。
  4. Twilio Functionの呼び出しで、開発者の指定したコードの実行が始まります。 Twilio Functionの実行が完了すると、指定されたcallbackメソッドを使用してレスポンスをエミットできます。 エミットされたレスポンスはTwilio Functionsゲートウェイに送信されます。
  5. 結果をTwilio Functionから受信する際、Twilio FunctionゲートウェイはHTTPレスポンスを組み立て、それをHTTPクライアントに返します。

サポートされるリクエスト

現在、Twilio FunctionsはHTTPリクエストのみをサポートします。 Twilio Functionsは4つの主要なHTTP動詞、すなわちGET、POST、PUT、そしてDELETEに対してレスポンスを行います。

POSTリクエストについては、Twilio Functionsではapplication/jsonおよびapplication/x-www-form-urlencodedがネイティブでサポートされます。 これはJSONボディーおよびフォームパラメーターはイベントパラメーターとして標準化されるということです。

リクエストの制限事項

Twilio Functionsには、アプリケーション設計の際に考慮すべきいくつかの重要な制限事項があります。

  • 実行時間: Twilio Functionsはおよそ5秒間実行されます。 5秒の制限を超えて実行されるTwilio Functionは終了させられ、クライアントはHTTP 504 ゲートウェイタイムアウトのレスポンスを受信します。
  • パスパラメーターのサポート: Twilio Functionsはパスパラメーターのサポートを提供しません。 つまり、URLを使用して開発者のアプリケーションに情報を渡すことができないということです。 GETまたはPOSTパラメーターのいずれかの使用が推奨されます。
  • 最大レスポンスサイズ: Twilio Functionsのレスポンスサイズは4MBに制限されます。
Rate this page:

ヘルプが必要ですか?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.