Cloud Run 関数は、オペレーティング システムのバージョンに加えて、アドオン パッケージ、言語サポート、お使いの関数をサポートして呼び出す Java Functions Framework ライブラリで構成される環境で実行されます。この環境は言語バージョンで識別され、ランタイム ID として知られています。
関数の準備
関数は、 Google Cloud コンソールから直接準備することも、ローカルマシンで作成してアップロードすることもできます。Java 開発用にローカルマシンを準備するには、Java 開発環境を設定するをご覧ください。
サポートされている Java ランタイムとベースイメージ
| ランタイム | ランタイム ID | スタック | ランタイム ベースイメージ | 
|---|---|---|---|
| Java 21 | java21 |  |  | 
| Java 17 | java17 |  |  | 
| Java 11 | java11 | google-18-full | google-18-full/java11 | 
ランタイムを選択する
デプロイ時に、関数にサポートされている Java ランタイムのいずれかを選択できます。
ランタイム バージョンは、 Google Cloud コンソールまたは gcloud CLI を使用して選択できます。使用するツールのタブをクリックして、手順を確認してください。
gcloud
関数をデプロイするときに、--base-image フラグを使用して関数の Java ベースイメージを指定します。例:
gcloud run deploy FUNCTION \
    --source . \
    --function FUNCTION_ENTRYPOINT \
    --base-image java21
次のように置き換えます。
- FUNCTION: デプロイする関数の名前。このパラメータは省略できますが、省略すると名前の入力を求められます。 
- FUNCTION_ENTRYPOINT: ソースコード内の関数のエントリ ポイント。これは、関数の実行時に Cloud Run が実行するコードです。このフラグには、ソースコード内に存在する関数名または完全修飾クラス名を指定する必要があります。 
gcloud CLI を使用して関数をデプロイする手順については、Cloud Run で関数をデプロイするをご覧ください。
コンソール
ランタイム バージョンは、 Google Cloud コンソールで Cloud Run functions の関数を作成または更新するときに選択できます。関数の詳細なデプロイ手順については、Cloud Run で関数をデプロイするをご覧ください。
関数を作成するときに Google Cloud コンソールでランタイムを選択する手順は次のとおりです。
- Google Cloud コンソールで、[Cloud Run] ページに移動します。 
- [関数を作成] をクリックします。 
- [ランタイム] リストで、Java ランタイム バージョンを選択します。 
- [作成] をクリックし、Cloud Run がプレースホルダ リビジョンを使用してサービスを作成するのを待ちます。 
- コンソールの [ソース] タブにリダイレクトされ、関数のソースコードが表示されます。[保存して再デプロイ] をクリックします。 
関数のデプロイ後にランタイム バージョンを更新する手順については、新しいソースコードを再デプロイするをご覧ください。
ソースコードの構造
Cloud Run functions が関数の定義を見つけるには、ソースコードが特定の構造に従っている必要があります。詳細については、Cloud Run functions の関数を作成するをご覧ください。
依存関係の指定
Maven または Gradle を使用して、関数の依存関係を指定できます。詳しくは、Java で依存関係を指定するをご覧ください。
環境変数
Java ランタイムは、関数が必要に応じて使用する、特定の環境変数を自動的に設定します。詳細については、環境変数を構成するをご覧ください。
実行 ID
functions-framework バージョン 1.4.0 以降を使用する Java 関数では、ロギングクラス java.util.logging.Logger を使用して、ログ出力に一意の実行 ID を追加できます。stdout または stderr(System.println() など)を使用しても、実行 ID は追加されません。
次のことに注意してください。
- Cloud Functions v2 API を使用して関数を作成した場合( - gcloud functions、REST API、Terraform を使用)、この実行 ID は自動的に追加されます。
- Cloud Run Admin API を使用して関数を作成した場合( Google Cloud コンソール、 - gcloud run、REST API、Terraform などを使用する場合)、この機能を使用するには、- LOG_EXECUTION_ID環境変数を- trueに設定する必要があります。