Cloud Run 関数は、オペレーティング システムのバージョンに加えて、アドオン パッケージ、言語サポート、お使いの関数をサポートして呼び出す .NET Functions Framework ライブラリで構成される環境で実行されます。この環境は言語バージョンで識別され、ランタイム ID として知られています。
関数の準備
関数は、Google Cloud コンソールから直接準備することも、ローカルマシンで作成してアップロードすることもできます。.NET 開発用にローカルマシンを準備するには、.NET 開発環境を設定するをご覧ください。
サポートされている .NET ランタイムとベースイメージ
ランタイム | ランタイム ID | スタック | ランタイム ベースイメージ |
---|---|---|---|
.NET Core 8 | dotnet8 |
|
|
.NET Core 6 | dotnet6 |
|
|
.NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |
テンプレート パッケージ
テンプレート パッケージを使用すると、新しい関数を簡単に作成できます。使用方法は次のとおりです。
.NET SDK をインストールします。
テンプレート パッケージをインストールします。
dotnet new install Google.Cloud.Functions.Templates
C#(デフォルト)、F#、Visual Basic の 3 種類の関数用のテンプレートが用意されています。テンプレートから新しいプロジェクトを作成するときは、-lang f#
を指定して F# プロジェクトを作成するか、-lang vb
を指定して Visual Basic プロジェクトを作成します。
ランタイムの選択
関数をデプロイするときに、ターゲット フレームワークに対応する .NET ランタイムをプロジェクト ファイル(MyFunction.csproj
など)に指定する必要があります。デプロイ時に、関数にサポートされている .NET ランタイムのいずれかを選択できます。
ランタイム バージョンを選択するには、Google Cloud コンソールまたは gcloud CLI を使用します。使用するツールのタブをクリックして、手順を確認してください。
gcloud
関数をデプロイするときに、--base-image
フラグを使用して関数の .NET ベースイメージを指定します。次に例を示します。
gcloud run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image dotnet8
次のように置き換えます。
FUNCTION: デプロイする関数の名前。このパラメータは省略できますが、省略すると名前の入力を求められます。
FUNCTION_ENTRYPOINT: ソースコード内の関数のエントリ ポイント。これは、関数の実行時に Cloud Run が実行するコードです。このフラグには、ソースコード内に存在する関数名または完全修飾クラス名を指定する必要があります。
gcloud CLI を使用して関数をデプロイする手順については、Cloud Run で関数をデプロイするをご覧ください。
コンソール
ランタイム バージョンは、Google Cloud コンソールで Cloud Run 関数を作成または更新するときに選択できます。関数のデプロイ手順については、Cloud Run で関数をデプロイするをご覧ください。
関数を作成するときに Google Cloud コンソールでランタイムを選択する手順は次のとおりです。
Google Cloud コンソールで [Cloud Run] ページに移動します。
[関数を作成] をクリックします。
[ランタイム] リストで、.NET ランタイム バージョンを選択します。
[作成] をクリックし、Cloud Run がプレースホルダ リビジョンを使用してサービスを作成するのを待ちます。
コンソールの [ソース] タブにリダイレクトされ、関数のソースコードが表示されます。[保存して再デプロイ] をクリックします。
関数のデプロイ後にランタイム バージョンを更新する手順については、新しいソースコードを再デプロイするをご覧ください。
ソースコードの構造
Cloud Run functions が関数の定義を見つけるには、ソースコードが特定の構造に従っている必要があります。詳細については、Cloud Run 関数を作成するをご覧ください。
依存関係の指定
.NET Cloud Run functions は、ビルドとデプロイ プロセスの中核となる Microsoft Build Engine(MSBuild)プロジェクト ファイルを使用します。関数の依存関係は、プロジェクト ファイルで指定できます。C# の場合、ファイル拡張子は .csproj
、F# の場合は .fsproj
、Visual Basic の場合は .vbproj
になります。
依存関係やその他の種類のカスタマイズの詳細については、Functions スタートアップ クラスを使用したカスタマイズをご覧ください。