メニュー

Expand
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のコードの呼び出しプロセスは極めてシンプルです。 元来からTwilio Functionの軽量な環境は、開発者に必要なすべての柔軟性を提供します。 このまま読み進めて、Twilioが開発者のコードを実行する仕組みを習得してください。

Functionの呼び出しフロー

呼び出しの過程で、以下のステップが行われます:

  1. 環境のブートストラップ - Twilio Function環境がブートストラップされ、Functionのコードが依存する可能性のあるリソースが迅速に初期化されます。
  2. ハンドラーの実行 - Twilio Environmentはexports.handler()メソッドを実行し、context、event、およびcallbackパラメーターを渡します。
  3. Response Emitted - When your Twilio Function code has completed, you call the callback() method to emit your response. After executing the callback() method, your Twilio Function execution will be terminated. This includes any asynchronous processes that may still executing.

ハンドラーメソッド

ハンドラーメソッドはTwilio Functionsと開発者のアプリケーションロジックとのインターフェイスです。 ハンドラーメソッドは、アプリケーションへのエントリーポイントとみなすことができます。 これはいくぶん、Javaにおけるmain()関数や、Pythonにおける__init__に例えることができるでしょう。

Twilio Functionsは、開発者のアプリケーションロジックに実行の制御を移す準備が整った際にハンドラーメソッドを実行します。 開発者のFunctionコードにハンドラーメソッドが含まれていないと、Twilio Functionsはロジックを実行することができず、HTTP 500をエミットします。

ハンドラー引数

引数 Type 概要
コンテキスト オブジェクト 現在の実行環境の情報が含まれます
イベント オブジェクト Twilio Functionに渡されたリクエストパラメーターが含まれます
コールバック 関数 実行の完了とレスポンスのエミットに使用される関数です
        
        
        
        
        Twilio Functionのハンドラーメソッドのひな形

        ハンドラーメソッドのひな形

        Twilio Functionのハンドラーメソッドのひな形

        Contextオブジェクト

        Twilio Functionsはcontextオブジェクトを、現在の実行環境とハンドラーメソッドとのインターフェイスとして提供します。 contextオブジェクトは環境変数、そして実行時にアクセス可能なヘルパーメソッドへのアクセスを提供します。

        ヘルパーメソッド

        contextオブジェクトはアプリケーションの開発時に便利な初期化済みの一般的なユーティリティーとクライアントであるヘルパーメソッドを提供しています。 これらのヘルパーメソッドは必要な全構成を環境変数から展開します。

        Method Type 概要
        getTwilioClient() Twilio RESTヘルパー アカウントのクレデンシャルをFunction内にインクルードしている場合、初期化済みのTwilio RESTヘルパーライブラリーを返します。 もしFunctionでアカウントのクレデンシャルをインクルードしていない場合、このメソッドの呼び出しはエラーとなります。 コード内でこのエラーをキャッチしない場合、HTTP 500レスポンスとなります。
              
              
              
              
              組み込みのTwilio RESTヘルパーの使用例

              既定の環境変数

              contextオブジェクトは既定でいくつかの環境変数を提供しています。 これらの既定の環境変数は一般的にヘルパーメソッドの初期化に必須です。

              プロパティ Type 概要
              ACCOUNT_SID 文字列またはnull アカウントのクレデンシャルをFunctionにインクルードするよう設定している場合、これはFunctionを所有しているアカウントを識別するSIDを返します。 もしアカウントのクレデンシャルをFunctionにインクルードしないよう選択しテイル場合は、nullを返します。
              AUTH_TOKEN 文字列またはnull アカウントのクレデンシャルをFunctionにインクルードするよう設定している場合、これは所有しているアカウントに関連づけられた認証トークンを返します。 もしアカウントのクレデンシャルをFunctionにインクルードしないよう選択しテイル場合は、nullを返します。
              DOMAIN_NAME 文字列 現在Twilio FunctionにアクセスできるRuntimeのドメインです。
                    
                    
                    
                    
                    既定の環境変数にアクセスする方法の例

                    既定の環境変数からRuntimeのドメインを取得する

                    既定の環境変数にアクセスする方法の例

                    環境変数

                    開発者は、環境変数を使用してコードを構成から分離するよう奨励されています。 Twilio Functionsを使用すると、開発者はTwilio Consoleを通じて環境変数を追加、削除、更新できます。 環境変数を使用によって、コードの可搬性が担保され、簡単な構成の変更が迅速に行えるようになります。

                    環境変数

                          
                          
                          
                          
                          環境変数にアクセスする方法の例

                          環境変数を取得する

                          環境変数にアクセスする方法の例

                          Eventオブジェクト

                          eventオブジェクトには、開発者のFunctionに渡されてくるリクエストパラメーターが含まれています。 POSTおよびGETの両パラメーターが同一のオブジェクトにまとめられます。 POSTリクエストについては、フォームエンコーディングされたパラメーターまたはJSONドキュメントを渡すことができ、いずれもeventオブジェクトにまとめられます。

                          Callback関数

                          リクエストの処理の終了時には、callback関数を呼び出してレスポンスをエミットし、実行を完了することが必要です。 callbackメソッドはレスポンスのデータ型を自動的に決定し、その出力を適切にシリアル化します。

                          Functionの実行の完了時には、callbackメソッドを呼び出さなければなりません。 callbackの呼び出しに失敗すると、Functionは5秒間の時間制限まで実行を継続します。 実行の時間制限に達するとFunctionは終了し、クライアントには504 ゲートウェイタイムアウトが返されます。

                          Callbackと非同期についての制限

                          callback関数が呼び出されると、開発者のFunctionのすべての実行が終了することに留意することは重要です。 これにはハンドラー内で実行を開始した任意の非同期プロセスも含まれます。

                          このことから、元来非同期な性質を持つライブラリーを使用している場合は、callback関数の呼び出しをプロミスハンドラーの内側に入れ子にすることが必要です。

                                
                                
                                
                                
                                非同期HTTPリクエストでcallback()を適切に使用する方法の例

                                非同期HTTPリクエストで実行を完了する

                                非同期HTTPリクエストでcallback()を適切に使用する方法の例
                                引数 Type 概要
                                error 文字列またはnull 実行時に発生した問題を示すエラーです。 これによってクライアントは、指定されたペイロードを伴ったHTTP 500レスポンスを受信します。
                                レスポンス 文字列、オブジェクト、またはnull Functionによって生成された成功のレスポンスです。 この引数を渡すことでクライアントは、指定された値を含むHTTP 200レスポンスを受信します。
                                      
                                      
                                      
                                      
                                      空のHTTP 200 OKの返し方の例

                                      シンプルな成功レスポンス

                                      空のHTTP 200 OKの返し方の例
                                            
                                            
                                            
                                            
                                            HTTP 500エラーでエラーメッセージを返す方法の例

                                            エラーレスポンスを返す

                                            HTTP 500エラーでエラーメッセージを返す方法の例
                                                  
                                                  
                                                  
                                                  
                                                  HTTP 200 OKでプレーンテキストを返す例

                                                  プレーンテキストの成功レスポンスを返す

                                                  HTTP 200 OKでプレーンテキストを返す例
                                                        
                                                        
                                                        
                                                        
                                                        HTTP 200 OKでTwiMLを返す方法の例

                                                        TwiMLの成功レスポンスを返す

                                                        HTTP 200 OKでTwiMLを返す方法の例
                                                              
                                                              
                                                              
                                                              
                                                              HTTP 200 OKでJSONを返す方法の例

                                                              JSONの成功レスポンスを返す例

                                                              HTTP 200 OKでJSONを返す方法の例

                                                              レスポンスの組み立て

                                                              場合によっては、Functionがエミットするレスポンスを細かく制御する必要がある可能性があります。 このような場合、既定でFunctionにインクルードされるTwilio Responseオブジェクトを使用できます。

                                                              By using the Twilio Response object, you will be able to specify the status code, headers, and body of your response. You can begin constructing a custom response by creating a new Twilio Response object, like so:

                                                              let response = new Twilio.Response();
                                                              

                                                              Twilio Responseメソッド

                                                              Method リターンタイプ 概要
                                                              setStatusCode(int) self HTTPレスポンスにステータスコードを設定する
                                                              setBody(mixed) self HTTPレスポンスのボディーを設定します。 オブジェクトまたは文字列を引数として取ります。 テキスト以外をボディーに設定する場合は、appendHeader()で対応するContent-Typeヘッダーを設定するようにしてください。
                                                              appendHeader(string, string) self HTTPレスポンスにヘッダーを追加します。 最初の引数ではヘッダーの名前を、2番目の引数ではヘッダーの値をそれぞれ指定します。
                                                              setHeaders(object) self Sets all of the headers for the HTTP response. Takes an object mapping the names of the headers to the respective values.
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    Twilio Responseを使用してステータスコードを設定する例

                                                                    レスポンスにステータスコードを設定する

                                                                    Twilio Responseを使用してステータスコードを設定する例
                                                                          
                                                                          
                                                                          
                                                                          
                                                                          Twilio Responseでプレーンテキストのレスポンスを組み立てる例

                                                                          プレーンテキストのレスポンスを組み立てる

                                                                          Twilio Responseでプレーンテキストのレスポンスを組み立てる例
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                Twilio Responseを使用してJSONレスポンスを組み立てる例

                                                                                JSONレスポンスを組み立てる

                                                                                Twilio Responseを使用してJSONレスポンスを組み立てる例
                                                                                      
                                                                                      
                                                                                      
                                                                                      
                                                                                      Twilio Responseを使用してヘッダーを設定する例

                                                                                      ResponseにHTTPヘッダーを設定する

                                                                                      Twilio Responseを使用してヘッダーを設定する例
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            Twilio Responseに複数のヘッダーを設定する例

                                                                                            Responseに複数のHTTPヘッダーを設定する

                                                                                            Twilio Responseに複数のヘッダーを設定する例
                                                                                            Rate this page:

                                                                                            ヘルプが必要ですか?

                                                                                            誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。