本教程演示了如何编写将查询提交到 BigQuery 的 HTTP Cloud Run functions 函数。
目标
- 编写将查询提交到 BigQuery 的 HTTP Cloud Run functions 函数。
费用
在本文档中,您将使用 Google Cloud 的以下收费组件:
- Cloud Run functions
- Cloud Build
- Artifact Registry
For details, see Cloud Run functions pricing.
准备工作
- 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.
-
Enable the Cloud Functions, Cloud Build, and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
Enable the Cloud Functions, Cloud Build, and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
准备开发环境。
如果您已经安装 gcloud CLI,请运行以下命令进行更新:
gcloud components update
准备应用
将示例应用代码库克隆到本地机器:
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
或者,您也可以下载该示例的 zip 文件并将其解压缩。
切换到包含 Cloud Run functions 函数示例代码的目录:
cd nodejs-docs-samples/functions/v2/helloBigQuery
查看示例代码。该示例会提交针对指定数据集中至少出现 400 次的字词的查询,并返回结果。
部署函数
如需使用 HTTP 触发器部署函数,请在包含示例代码的目录中运行以下命令:
gcloud functions deploy nodejs-bq-function \ --gen2 \ --runtime=nodejs20 \ --region=REGION \ --source=. \ --entry-point=helloBigQuery \ --trigger-http \ --allow-unauthenticated
您可以使用 --runtime
标志的以下值来指定偏好的 Node.js 版本:
nodejs18
(推荐)nodejs16
nodejs14
nodejs12
nodejs10
通过 --allow-unauthenticated
标志,您可以在不进行身份验证的情况下访问函数。如需进行身份验证,请省略此标志。
触发函数
当函数完成部署时,请记下
uri
属性,或使用以下命令查找该属性:gcloud functions describe nodejs-bq-function --gen2 --region=REGION --format="value(serviceConfig.uri)"
在浏览器中访问此 URI。您应该会看到符合查询条件的字词列表,以及每个字词在目标数据集中出现的次数。
清理
为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。
删除项目
为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
要删除项目,请执行以下操作:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
删除函数
删除 Cloud Run functions 不会移除存储在 Cloud Storage 中的任何资源。
如需删除您在本教程中创建的函数,请运行以下命令:
gcloud functions delete nodejs-bq-function --gen2 --region REGION
您也可以通过 Google Cloud 控制台删除 Cloud Run functions。