このチュートリアルでは、BigQuery にクエリを送信する Cloud Run functions の HTTP 関数を作成する方法について説明します。
アプリケーションを準備する
ローカルマシンにサンプル アプリケーション リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
または、zip ファイルとしてサンプルをダウンロードし、ファイルを解凍します。
サンプルコードが入っているディレクトリに移動します。
cd nodejs-docs-samples/functions/v2/helloBigQuery
サンプルコードを見てみましょう。このサンプルは、指定したデータセットで 400 回以上発生した単語をクエリし、結果を返します。
関数をデプロイする
HTTP トリガーを使用して関数をデプロイするには:
サンプルコードを含むディレクトリで次のコマンドを実行します。
gcloud run deploy FUNCTION \ --source . \ --function FUNCTION_ENTRYPOINT \ --base-image BASE_IMAGE \ --region REGION \ --allow-unauthenticated
次のように置き換えます。
FUNCTION は、デプロイする関数の名前に置き換えます(
my-bigquery-function
など)。このパラメータは省略できますが、省略すると名前の入力を求められます。FUNCTION_ENTRYPOINT: ソースコード内の関数のエントリ ポイント。これは、関数の実行時に Cloud Run が実行するコードです。このフラグには、ソースコード内に存在する関数名または完全修飾クラス名を指定する必要があります。サンプル関数に指定するエントリ ポイントは
helloBigQuery
です。BASE_IMAGE は、関数のベースイメージ環境に置き換えます(例:
nodejs22
)。ベースイメージと各イメージに含まれるパッケージの詳細については、ランタイム ベースイメージをご覧ください。REGION は、関数をデプロイする Google Cloud リージョンに置き換えます。例:
europe-west1
。
オプション:
- 公開 HTTP 関数(Webhook など)を作成する場合は、
--allow-unauthenticated
フラグを指定します。このフラグは、Cloud Run IAM 起動元ロールを特別な IDallUser
に割り当てます。サービスの作成後に、IAM を使用してこの設定を編集できます。
関数をテストする
関数のデプロイが完了したら、
uri
プロパティをコピーします。ブラウザでこの URI にアクセスします。
クエリ条件に一致する単語のリストと、各単語がターゲット データセットに出現する回数が表示されます。