Cloud Functions Node.js エミュレータ

Node.js エミュレータは、Cloud Functions REST および gRPC API を実装する Node.js アプリケーションであり、アプリケーションの管理用のコマンドライン インターフェースを備えています。Node.js エミュレータを使用すると、本番環境の Cloud Functions サービスにデプロイする前に、ローカルマシンで Node.js Cloud Functions のデプロイ実行デバッグを行うことができます。

Node.js エミュレータは、GitHub でホストされているオープンソース プロジェクトです。

スタートガイド

Node.js エミュレータは標準の npm パッケージとして配布されるため、標準の npm インストール コマンドを使用してインストールできます。

npm install -g @google-cloud/functions-emulator

Yarn を使用することもできます。

yarn global add @google-cloud/functions-emulator

Node.js エミュレータの使用

インストール後、グローバル functions コマンドが使用できるようになっているはずです。これを確認するにはターミナル ウィンドウで次のコマンドを入力します。

functions --help

ターミナルにすでに競合する functions コマンドがある場合、Node.js エミュレータのコマンドライン インターフェースには functions-emulator コマンドを使用してアクセスすることもできます。

次のコマンドを実行すると、どのコマンドでもヘルプが表示されます。

functions COMMAND --help

Node.js エミュレータを起動する前に、次のようにプロジェクト ID を入力します。

functions config set projectId YOUR_PROJECT_ID

Node.js エミュレータの起動と停止

関数をデプロイする前に、Node.js エミュレータを起動する必要があります。

functions start

Node.js エミュレータを停止するには、stop を呼び出します。

functions stop

なんらかの理由で Node.js エミュレータが停止しない場合は、kill コマンドを使用すると、基礎となるプロセスを強制終了できます。

functions kill

Node.js エミュレータへの関数のデプロイ

Node.js エミュレータに関数をデプロイするには、gcloud コマンドライン ツールと同じ構文を使用します。

HTTP 関数を Node.js エミュレータにデプロイするには:

functions deploy helloWorld --trigger-http

これにより、現在の作業ディレクトリにある関数がデプロイされます。別の場所からデプロイするには、--local-path フラグを使用します。

functions deploy helloWorld --trigger-http --local-path=~/myFunction

Node.js エミュレータでの関数の呼び出し

Node.js エミュレータにデプロイされた関数を呼び出すには、call コマンドを使用します。

functions call helloWorld

関数にペイロードを送信するには、--data フラグを使います。

functions call helloWorld --data='{"message":"Hello World"}'

デプロイ後に提供される URL にリクエストを送信することで、HTTP トリガーを使用してデプロイされた関数を呼び出すこともできます。

ログの表示

関数から出力されたログは、ローカル ファイル システムに書き込まれます。logs コマンドで表示できます。

functions logs read

また、ローカル ファイル システム上でログファイル自体を表示できます。status コマンドを発行してログファイルの場所を特定することもできます。

functions status

Node.js エミュレータでのデバッグ

標準の Node.js Debugger または V8 Inspector の統合を使用して、Node.js エミュレータで実行されている関数をデバッグできます。標準の Node.js Debugger を使用してデバッグするには、次のコマンドを実行します。

functions debug helloWorld

V8 Inspector 統合を使用してデバッグするには、次のコマンドを実行します。

functions inspect helloWorld

デバッガのポートも構成できます。また、デバッガに接続するまで実行を一時停止することもできます。詳細については、次のコマンドのいずれかを実行してください。

functions debug --help

または

functions inspect --help

デプロイされた関数がデバッグモードに入ると、任意の標準 Node.js デバッグ クライアントをそのデバッガに接続できます。

デバッグモードを解除するには、次のコマンドを実行します。

functions reset helloWorld

あるいは、関数を再起動してデバッグ設定を保持するには、次のコマンドを実行します。

functions reset helloWorld --keep

詳細については、functions reset --help を実行してください。

GitHub ページで、Chrome Devtools、Visual Studio Code、または Webstorm と一緒に Node.js エミュレータを使用してデバッグする方法に関する詳細なドキュメントを見つけることができます。

困ったときは

Node.js エミュレータの詳細なヘルプ表示するには、コマンドに --help フラグを追加します。

functions --help

または

functions COMMAND --help

詳細なドキュメントは GitHub で入手できます。GitHub では、問題の表示や報告を行うことができます。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Functions のドキュメント