Cloud Shell エディタで Cloud Code と Cloud Run functions を使用して、Cloud Functions の HTTP 関数の作成、デプロイ、呼び出し、ダウンロードを行う方法について説明します。
このタスクを Cloud Shell エディタで直接行う際のガイダンスについては、「ガイドを表示」をクリックしてください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Google Cloud に接続する
このセクションでは、Cloud Shell エディタを起動して Google Cloud に接続し、Google Cloud プロジェクトを選択します。
Google Cloud に接続するには、次の手順を行います。
Cloud Shell エディタを起動する
認証情報を使用して Google Cloud API を呼び出すことを Cloud Code に承認するよう求められたら、利用規約に同意する場合は [承認] をクリックします。
まだ Google Cloud に接続していない場合は、Cloud Code のステータスバーで [Google Cloud に接続] をクリックします。
認証情報を使用して Google Cloud API 呼び出しを行うことを Cloud Code に承認するよう求められたら、利用規約に同意する場合は [承認] をクリックします。
Google Cloud プロジェクトをまだ選択していない場合は、Cloud Code のステータスバーで [Google Cloud プロジェクトを選択] をクリックします。
すでに Google Cloud プロジェクトが選択されている場合は、Cloud Code のステータスバーにプロジェクト名が表示され、関数の作成に進むことができます。
表示された [Google Cloud プロジェクトを選択] クイック選択メニューで、Google Cloud プロジェクトを選択します。
プロジェクトが読み込まれ、Cloud Shell エディタでアクティブなプロジェクトになります。このプロジェクトは、Cloud Code のステータスバーでアクティブなプロジェクト名をクリックし、別のプロジェクトを選択することで、いつでも切り替えることができます。
関数を作成する
Cloud Shell エディタを環境として使い、関数を作成してデプロイします。このエディタには、クラウド開発に必要なツールがプリロードされています。
サンプルを使用して新しい関数を作成するには、次の手順に従います。
Cloud Code のステータスバーで、[Cloud Code] をクリックします。
表示されたクイック選択メニューで、[新しいアプリケーション] を選択します。
サンプル アプリケーションの種類として [Cloud Functions application] を選択します。
サンプルの Cloud Run 関数アプリのリストから、[Node.js: Hello World] を選択します。
アプリを配置するフォルダを選択して、[Create New Application] をクリックします。
Cloud Shell エディタの新しいワークスペースにアプリが読み込まれます。再読み込みすると、エクスプローラ ビューでアプリにアクセスできるようになります。
.vscode
フォルダにあるlaunch.json
ファイルには、関数に必要な構成が含まれています。{ "configurations": [ { "name": "Deploy Cloud Function", "type": "cloudcode.cloudfunctions", "request": "launch", "functionName": "function-hello-world", "gen": "GEN_2", "entryPoint": "helloHttp", } ] }
1 つのワークスペースに複数の関数を作成する方法については、Shell ワークスペースで関数を管理するをご覧ください。
関数をデプロイする
関数を作成したので、次の手順で Cloud Shell に関数をデプロイできます。
Cloud Code をクリックし、Cloud Functions エクスプローラを展開します。
関数をクリックして、
[Deploy function] をクリックします。Quickpick メニューで、関数をデプロイする先の Google Cloud プロジェクトを選択します。
関数のデプロイ先のリージョンを選択します。
[Node.js 20] を選択します。
関数のデプロイには数分かかる場合があります。進行中の場合は、
進行状況アイコンが表示されます。完了すると、次のいずれかが表示されます。成功した場合は 成功アイコン、失敗した場合は エラーアイコン、またはデプロイが失敗し、以前に成功したデプロイに戻った場合は 警告アイコンです。デプロイが失敗した場合は、[Output]([View] > [Output])ビューでエラー メッセージを確認します。リンクをクリックすると、Google Cloud コンソールにビルドログが表示され、エラーの詳細を確認できます。
(省略可)関数がデプロイされたら、次の操作を行うことができます。
デプロイされた関数の読み取り専用ファイルを表示するには、関数を展開してから、[Source Code] フォルダを展開します。ここでは、
.vscode
の下にlaunch.json
、デプロイされたコード、およびpackage.json
を表示できます。Google Cloud コンソールで関数を表示するには、関数を右クリックして [Open in Cloud Console] を選択し、プロンプトが表示されたら [Open] を選択します。
関数のメタデータを編集するには、関数を右クリックして [Edit metadata in Cloud Console] を選択します。
デプロイされた関数のログを表示するには、関数を右クリックして [ログを表示] を選択します。
関数を呼び出す
関数を呼び出すと、Cloud Shell エディタのターミナルから Google Cloud コンソールでデプロイされた関数を実行できます。関数を呼び出す手順は次のとおりです。
関数を右クリックし、[HTTP 経由で関数を呼び出す] を選択します。
表示される [HTTP 経由のトリガー関数] クイックメニューで、[引数なしで呼び出す] を選択します。
ターミナルが IDE で開き、Google Cloud で関数を実行するコマンドを実行します。
省略可: 既存の関数を新しいワークスペースにダウンロードする
既存の関数を新しいワークスペースにダウンロードするには、次の手順に従います。
[Cloud Code] をクリックし、[Cloud Functions] エクスプローラを展開します。
Google Cloud プロジェクト スニペットを開き、ダウンロードする関数を右クリックして、[新しいワークスペースにダウンロード] を選択します。
プロンプトが表示されたら、新しいアプリケーションの名前を入力して、[新規アプリケーションを作成] をクリックします。
関数がローカルマシンにダウンロードされ、Cloud Shell エディタの新しいワークスペースで開きます。
クリーンアップ
このクイックスタート用に作成した関数のみを削除するには:
[Cloud Functions] エクスプローラで、関数名を右クリックして [Cloud Console で開く] を選択します。
[削除] をクリックし、[削除] をクリックします。
プロジェクト(および関連リソース)を削除するには:
Google Cloud コンソールの [プロジェクト] ページに移動します。
このクイックスタート用に作成したプロジェクトを選択し、[削除] をクリックします。
プロジェクト ID を入力して確定し、[シャットダウン] をクリックします。
プロジェクトがシャットダウンし、プロジェクト削除のスケジュールが決定されます。
次のステップ
- Cloud Run Functions を操作するの概要で、ワークスペースの管理やローカル開発環境の設定の詳細について学習する。