Cloud Run functions は、オペレーティング システムのバージョンに加えて、アドオン パッケージ、言語サポート、お使いの関数をサポートして呼び出す Go Functions Framework ライブラリで構成される環境で実行されます。この環境は言語バージョンで識別され、ランタイム ID として知られています。
関数の準備
関数は、 Google Cloud コンソールから直接準備することも、ローカルマシンで作成してアップロードすることもできます。Go 開発用にローカルマシンを準備するには、Go 開発環境を設定するをご覧ください。
ランタイムの選択
Cloud Run functions は、サポートされている言語ランタイムとベースイメージのページに記載されている複数のバージョンの Go をサポートしています。デプロイ時に、関数に使用する Go ランタイムを選択できます。
gcloud
Cloud Run functions を使用して gcloud CLI で HTTP 関数をデプロイするには、Google Cloud CLI を使用してデプロイするをご覧ください。
Console
Google Cloud コンソールを使用している場合は、関数を作成してデプロイするときにランタイムを選択します。詳しい手順については、Google Cloud コンソール クイックスタートをご覧ください。
ソースコードの構造
Cloud Run functions が関数の定義を見つけるには、ソースコードが特定の構造に従っている必要があります。詳細については、Cloud Run functions の関数を作成するをご覧ください。
依存関係を指定する
Go の Cloud Run functions では、Go モジュールと go.mod
ファイル、または vendor
ディレクトリのいずれかで、すべての依存関係を指定する必要があります。詳細については、Go で依存関係を指定するをご覧ください。
環境変数
Go ランタイムは、必要に応じて関数で使用する特定の環境変数を自動的に設定します。詳細については、環境変数を構成するをご覧ください。
Context
タイプ
Go の context
パッケージは Context
型を定義します。この型は、API の境界を越えてプロセス間で期限、キャンセル シグナル、その他のリクエスト スコープ値を保持します。
次のコードでは、Pub/Sub クライアントによるコンテキスト アクセスの例を示します。