从 Cloud Run functions 连接到 Cloud SQL for PostgreSQL
了解如何使用 Google Cloud 控制台和客户端应用在连接到 PostgreSQL 实例的 Cloud Run functions 上部署示例应用。
假设您及时完成所有步骤,则本快速入门中所创建资源的费用通常不会超过 1 美元 (USD)。
准备工作
- 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.
-
启用在 Cloud Run functions 上运行 Cloud SQL 示例应用所需的 Cloud API。
点击启用 API 以启用本快速入门所需的 API。
这将启用以下 API:
- Cloud Run Functions API
- Cloud SQL Admin API
- Cloud Run Admin API
- Cloud Build API
- Artifact Registry API
- Eventarc API
- Compute Engine API
- Service Networking API
- Cloud Logging API
点击以下按钮打开 Cloud Shell,以通过命令行直接在浏览器中访问 Google Cloud 资源。 Cloud Shell 可用于运行本快速入门中介绍的
gcloud
命令。使用 Cloud Shell 运行以下
gcloud
命令:gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com
此命令会启用以下 API:
- Cloud Run functions API
- Cloud SQL Admin API
- Cloud Run API
- Cloud Build API
- Artifact Registry API
- Eventarc API
- Compute Engine API
- Service Networking API
- Cloud Logging API
向用户添加 Cloud Run Functions Invoker IAM 角色。
设置 Cloud SQL
创建 Cloud SQL 实例
公共 IP
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击创建实例。
- 点击选择 PostgreSQL。
- 确保已选择企业 Plus 版作为实例的 Cloud SQL 版本。
- 在实例 ID 字段中,输入
quickstart-instance
。 - 在密码字段中,输入 postgres 用户的密码。保存此密码以供将来使用。
- 在选择区域和可用区的可用性部分中,选择单个可用区。
- 点击显示配置选项菜单。
- 展开机器配置节点。
- 在机器类型区域中,选择 4 个 vCPU、32 GB 类型。
- 点击创建实例,然后等待实例初始化并启动。
按照以下方式运行命令之前,请将 DB_ROOT_PASSWORD 替换为数据库用户的密码。
(可选)修改以下参数的值:
- --database-version:数据库引擎类型和版本。如果未指定,则使用 API 默认值。请参阅 gcloud 数据库版本文档,以查看当前可用版本。
- --cpu:机器中所需的核心数。
- --memory:表示机器所需内存数量的整数。应该提供大小单位(例如 3072MB 或 9GB)。如果未指定单位,则假定为 GB。
- --region:实例的区域位置(例如 asia-east1、us-east1)。如果未指定,则使用默认值
us-central
。
运行 gcloud
sql instances create
命令以创建 Cloud SQL 实例。
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD
专用 IP
分配 IP 地址范围并创建专用连接,以便为 Cloud SQL 配置专用服务访问通道
-
在 Google Cloud 控制台中,转到 VPC 网络页面。
- 选择
default
VPC 网络。 - 选择专用服务连接标签页。
- 选择为服务分配的 IP 范围标签页。
- 点击分配 IP 范围。
- 对于已分配的范围的名称,请指定
google-managed-services-default
。 - 选择 IP 地址范围的自动选项,并将前缀长度指定为
16
。 - 点击分配以创建分配的范围。
- 选择
default
VPC 网络的连到服务的专用连接标签页。 - 点击创建连接以在您的网络与服务提供方之间创建专用连接。
- 对于指定的分配范围,请选择
google-managed-services-default
。 - 点击连接以创建连接。
创建具有专用 IP 地址且启用了 SSL 的实例
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击创建实例。
- 点击选择 PostgreSQL。
- 确保已选择企业 Plus 版作为实例的 Cloud SQL 版本。
- 在实例 ID 字段中,输入
quickstart-instance
。 - 在密码字段中,输入 postgres 用户的密码。保存此密码以供将来使用。
- 在选择区域和可用区的可用性部分中,选择单个可用区。
- 点击显示配置选项菜单。
- 展开机器配置节点。
- 在机器类型区域中,选择 4 个 vCPU、32 GB 类型。
- 展开连接节点。
- 取消选中公共 IP 复选框以创建仅使用专用 IP 地址的实例。
- 选中专用 IP 复选框。
- 从网络菜单中,选择默认。
- 点击创建实例,然后等待实例初始化并启动。
- 点击连接。
- 在安全性部分中,选择仅允许 SSL 连接以启用 SSL 连接。
- 在仅允许 SSL 连接对话框中,点击保存,然后等待实例重启。
分配 IP 地址范围并创建专用连接,以便为 Cloud SQL 配置专用服务访问通道
-
运行
gcloud compute addresses create
命令以分配 IP 地址范围。gcloud compute addresses create
google-managed-services-default \ --global --purpose=VPC_PEERING --prefix-length=16 \ --description="peering range for Google" --network=default -
运行
gcloud services vpc-peerings connect
命令以创建与分配的 IP 地址范围的专用连接。将 YOUR_PROJECT_ID 替换为您的项目 ID。gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \ --ranges=
google-managed-services-default --network=default \ --project=YOUR_PROJECT_ID
创建具有专用 IP 地址且启用了 SSL 的实例
-
按照以下方式运行命令之前,请将 DB_ROOT_PASSWORD 替换为数据库用户的密码。
- --database-version:数据库引擎类型和版本。如果未指定,则使用 API 默认值。请参阅 gcloud 数据库版本文档,以查看当前可用版本。
- --cpu:机器中的核心数。
- --memory:指示机器要包括多少内存的整数。可以提供大小单位(例如 3072MB 或 9GB)。如果未指定单位,则假定为 GB。
- --region:实例的区域位置(例如 asia-east1、us-east1)。如果未指定,则使用默认值
us-central1
。 请参阅区域的完整列表。 运行
gcloud sql instances patch
命令来为实例启用仅允许 SSL 连接。
(可选)修改以下参数的值:
运行 gcloud
sql instances create
命令以创建具有专用 IP 地址的 Cloud SQL 实例。
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
创建数据库
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 选择
quickstart-instance
。 - 从 SQL 导航菜单中选择数据库。
- 点击创建数据库。
- 在新建数据库对话框的数据库名称字段中,输入
quickstart-db
。 - 点击创建。
运行 gcloud
sql databases create
命令以创建数据库。
gcloud sql databases createquickstart-db --instance=quickstart-instance
创建用户
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 从 SQL 导航菜单中选择用户。
- 点击添加用户账号。
- 在 quickstart-instancequickstart-instance 的添加用户账号页面中,添加以下信息:
- 在用户名字段中,输入
quickstart-user
。 - 在密码字段中,指定数据库用户的密码。记下此密码,以便在本快速入门的后续步骤中使用。
- 在用户名字段中,输入
- 点击添加。
在运行以下命令之前,请先进行以下替换:
- 将 DB_PASS 替换为您的数据库用户密码。记下此密码,以便在本快速入门的后续步骤中使用。
运行 gcloud sql users create
命令以创建用户。
gcloud sql users createquickstart-user \ --instance=quickstart-instance \ --password=DB_PASS
Cloud SQL 和本地 PostgreSQL 的用户名长度限制一样。
配置 Cloud Run functions 服务账号
-
在 Google Cloud 控制台中,转到 IAM 页面。
- 对于名为 Compute Engine 默认服务账号的服务账号,点击铅笔图标。
- 点击添加其他角色
- 添加名为 Cloud SQL Client 的角色。
- 点击保存。
-
运行以下
gcloud
命令以获取项目的服务账号列表:gcloud iam service-accounts list
- 复制 Compute Engine 服务账号的电子邮件地址。
- 运行以下命令,将 Cloud SQL Client 角色添加到 Compute Engine 服务账号:
gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL " \ --role="roles/cloudsql.client"
创建一个函数
-
在 Google Cloud 控制台中,前往 Cloud Run 函数页面。
- 点击创建函数。
- 在环境中选择第 2 代。
- 在函数名称字段中,输入
quickstart-function
。 - 在身份验证区域,选择允许未通过身份验证的调用。
- 点击下一步。
- 从运行时菜单中,选择以下语言之一:
- 在源代码菜单中,验证选择了内嵌编辑器。在此步骤中,您将使用编辑器中提供的默认函数。
语言 | 版本号 |
---|---|
Go | 1.20 |
Java | 17 |
Node.js | 18 |
Python | 3.10 |
部署该函数
- 在 Cloud Run functions 页面底部,点击部署。 Google Cloud 控制台会将您重定向到函数的详细信息页面。
- 函数部署完成后,点击网址链接,以查看显示
Hello, World!
消息的网络浏览器。
部署 Cloud SQL 示例应用作为函数
您将在 Cloud Run functions 中配置和部署 Cloud SQL 示例应用作为函数。首先,使用 Cloud Shell 配置和构建示例应用。然后,使用 Cloud Run functions 部署示例应用。
您可以通过两种方式配置、构建和部署应用,具体取决于您是创建具有公共 IP 还是专用 IP 的 Cloud SQL for PostgreSQL 实例。
配置 Cloud SQL 示例应用
公共 IP
对于公共 IP 路径,Cloud Run functions 提供加密功能,并通过 Unix 套接字使用 Cloud SQL Auth 代理进行连接。- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID - 如果看到为 Cloud Shell 提供授权 对话框,请点击授权。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
gcloud builds submit
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID - 如果看到为 Cloud Shell 提供授权 对话框,请点击授权。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
mvn
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID - 如果看到为 Cloud Shell 提供授权 对话框,请点击授权。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
gcloud builds submit
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID - 如果看到为 Cloud Shell 提供授权 对话框,请点击授权。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
gcloud builds submit
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
专用 IP
对于专用 IP 路径,您的应用会通过无服务器 VPC 访问通道直接连接到您的实例。此方法使用 TCP 套接字直接连接到 Cloud SQL 实例,而无需使用 Cloud SQL Auth 代理。创建和下载 SSL 服务器和客户端证书
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击
quickstart-instance
以查看其概览页面 - 点击连接标签页。
- 在安全部分下,点击创建客户端证书。
- 在创建客户端证书对话框中,输入
quickstart-key
作为名称,然后点击创建。 在已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建使用 SSL 证书的示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID - 如果看到为 Cloud Shell 提供授权 对话框,请点击授权。
-
将 SSL 证书文件上传到 certs 文件夹。
- 在 Cloud Shell Editor 中右键点击 certs 文件夹,然后选择上传文件。
- 在本地机器上选择以下文件:
client-key.pem
client-cert.pem
server-ca.pem
- 选择三个 SSL 证书文件后,点击打开以完成将文件上传到 Cloud Shell Editor 的过程。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
gcloud builds submit
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
创建和下载 SSL 服务器和客户端证书
对于 Java 用户,该连接器已提供一个安全连接,因此无需创建和下载 SSL 服务器和客户端证书。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID - 如果看到为 Cloud Shell 提供授权 对话框,请点击授权。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
mvn
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
创建和下载 SSL 服务器和客户端证书
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击
quickstart-instance
以查看其概览页面 - 点击连接标签页。
- 在安全部分下,点击创建客户端证书。
- 在创建客户端证书对话框中,输入
quickstart-key
作为名称,然后点击创建。 在已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建使用 SSL 证书的示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID -
将 SSL 证书文件上传到 certs 文件夹。
- 在 Cloud Shell Editor 中右键点击 certs 文件夹,然后选择上传文件。
- 在本地机器上选择以下文件:
client-key.pem
client-cert.pem
server-ca.pem
- 选择三个 SSL 证书文件后,点击打开以完成将文件上传到 Cloud Shell Editor 的过程。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
gcloud builds submit
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
创建和下载 SSL 服务器和客户端证书
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击
quickstart-instance
以查看其概览页面 - 点击连接标签页。
- 在安全部分下,点击创建客户端证书。
- 在创建客户端证书对话框中,输入
quickstart-key
作为名称,然后点击创建。 在已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建使用 SSL 证书的示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
- 在 Cloud Shell Editor 的下半部分屏幕中,在 Cloud Shell 命令提示符处运行以下命令来激活您的项目。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud config set project
YOUR_PROJECT_ID -
将 SSL 证书文件上传到 certs 文件夹。
- 在 Cloud Shell Editor 中右键点击 certs 文件夹,然后选择上传文件。
- 在本地机器上选择以下文件:
client-key.pem
client-cert.pem
server-ca.pem
- 选择三个 SSL 证书文件后,点击打开以完成将文件上传到 Cloud Shell Editor 的过程。
-
在 Cloud Shell 中运行以下
gcloud artifacts repositories create
命令,在 Artifact Registry 中创建名为quickstart-repo
的代码库,并且其与 Cloud SQL 实例位于同一区域。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
按照以下方式在 Cloud Shell 中运行
gcloud builds submit
命令,以构建 Docker 容器并将其发布到 Artifact Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID,将 YOUR_REGION_NAME 替换为您的区域名称。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
在 Cloud Run functions 的
gen2
中,不支持自动配置和运行 Cloud SQL Auth 代理。使用 Cloud Run 支持此功能。您必须使用--add-cloudsql-instances
标志手动修改底层 Cloud Run 服务,以使用该服务配置并运行 Cloud SQL Auth 代理。将 INSTANCE_CONNECTION_NAME 替换为实例的连接名称。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
部署示例应用
将示例部署到 Cloud Run functions 的步骤取决于您分配给 Cloud SQL 实例的 IP 地址类型。
公共 IP
-
在 Google Cloud 控制台中,前往 Cloud Run 函数页面。
- 选择您在本快速入门的上一步中创建的
quickstart-function
。 - 在函数详情页面中,点击由 Cloud Run 提供支持窗格中的链接以访问底层 Cloud Run functions 服务。
- 点击修改和部署新修订版本。
- 在容器映像网址字段中,点击选择。
- 选择 Artifact Registry 标签页,然后展开
quickstart-repo
节点。 - 展开
function-sql
容器,然后选择您在上一步中创建的容器映像。 - 点击选择。
- 点击环境变量部分中的添加变量,创建以下环境变量:
- INSTANCE_UNIX_SOCKET:设置为
/cloudsql/YOUR_PROJECT_ID:YOUR_REGION_NAME:quickstart-instance
。 - DB_NAME:设置为
quickstart-db
。 - DB_USER:设置为
quickstart-user
。 - DB_PASS:设置为您在之前的创建用户快速入门步骤中指定的
quickstart-user
的密码。 -
启用连接到 Cloud SQL:
- 在 Cloud SQL 连接部分,点击添加连接。
- 选择实例的连接名称。
- 点击页面底部的部署。
- 部署 quickstart-function 后,quickstart-function页面会显示正在运行的服务的网址。点击网址链接以查看连接到 Cloud SQL 的已部署 Cloud Run functions 示例应用。应用应类似如下所示:
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
-
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 - 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run functions 示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
-
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 - 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run functions 示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
-
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 - 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run functions 示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
-
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 - 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run functions 示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
专用 IP
-
在 Google Cloud 控制台中,前往 Cloud Run 函数页面。
- 选择您在本快速入门的上一步中创建的
quickstart-function
。 - 在函数详情页面中,点击由 Cloud Run 提供支持窗格中的链接以访问底层 Cloud Run functions 服务。
- 点击修改和部署新修订版本。
- 在容器映像网址字段中,点击选择。
- 选择 Artifact Registry 标签页,然后展开
quickstart-repo
节点。 - 展开
function-sql
容器,然后选择您在上一步中创建的容器映像。 - 点击选择。
- 点击环境变量部分中的添加变量,创建以下环境变量:
DB_NAME
:设置为quickstart-db
。DB_USER
:设置为quickstart-user
。DB_PASS
:设置为您在之前的创建用户快速入门步骤中指定的quickstart-user
的密码。INSTANCE_CONNECTION_NAME
:设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称。DB_PORT
:设置为5432
。INSTANCE_HOST
:设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址。DB_ROOT_CERT
:设置为certs/server-ca.pem
。DB_CERT
:设置为certs/client-cert.pem
。DB_KEY
:设置为certs/client-key.pem
。PRIVATE_IP
:设置为TRUE
。-
启用连接到 Cloud SQL:
- 在 Cloud SQL 连接部分,点击添加连接。
- 选择实例的连接名称。
- 从 VPC 网络下拉菜单中选择
default: Serverless VPC Access Connector "quickstart-connector"
。 - 选择通过 VPC 连接器路由所有流量选项。
- 点击页面底部的部署。
- 部署 quickstart-function 后,quickstart-function页面会显示正在运行的服务的网址。点击网址链接以查看连接到 Cloud SQL 的已部署 Cloud Run functions 示例应用。应用应类似如下所示:
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
- 将 PRIVATE_IP_ADDRESS 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的 Cloud SQL 实例的专用 IP 地址。
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 -
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
- 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run 函数示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java 用户应按如下所示运行 gcloud functions deploy
命令且不使用 INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
和 PRIVATE_IP
标志来创建 Cloud Run functions 函数,因为 Java 连接器已提供安全连接:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
- 将 PRIVATE_IP_ADDRESS 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的 Cloud SQL 实例的专用 IP 地址。
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 -
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
- 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run 函数示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java 用户应按如下所示运行 gcloud functions deploy
命令且不使用 INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
和 PRIVATE_IP
标志来创建 Cloud Run functions 函数,因为 Java 连接器已提供安全连接:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
- 将 PRIVATE_IP_ADDRESS 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的 Cloud SQL 实例的专用 IP 地址。
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 -
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
- 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run 函数示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java 用户应按如下所示运行 gcloud functions deploy
命令且不使用 INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
和 PRIVATE_IP
标志来创建 Cloud Run functions 函数,因为 Java 连接器已提供安全连接:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- 如需将
gen2
函数部署到 Cloud Run functions,请运行以下gcloud functions deploy
命令。在运行该命令之前,请更新以下变量: - 将 YOUR_REGION_NAME 替换为您的区域名称
- 将 PRIVATE_IP_ADDRESS 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的 Cloud SQL 实例的专用 IP 地址。
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码 -
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
- 如果您看到确认消息,表明已部署 Cloud Run functions,请点击消息中的服务网址链接,以查看连接到 Cloud SQL 的已部署 Cloud Run 函数示例应用。
按如下所示运行 gcloud functions deploy
命令来创建 Cloud Run functions 函数:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java 用户应按如下所示运行 gcloud functions deploy
命令且不使用 INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
和 PRIVATE_IP
标志来创建 Cloud Run functions 函数,因为 Java 连接器已提供安全连接:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 选择
quickstart-instance
实例以打开实例详情页面。 - 在页面顶部的图标栏中,点击删除。
- 在删除实例对话框中,输入
quickstart-instance
,然后点击删除以删除该实例。 -
在 Google Cloud 控制台中,前往 Cloud Run 函数页面。
- 选中
quickstart-function
服务名称旁边的复选框。 - 点击 Cloud Run functions 页面顶部的删除。
可选的清理步骤
如果您未使用分配给 Compute Engine 服务账号的 Cloud SQL client 角色,则可以将其移除。
-
在 Google Cloud 控制台中,转到 IAM 页面。
- 点击名为 Compute Engine 默认服务账号的 IAM 账号对应的修改图标(铅笔图案)。
- 删除 Cloud SQL client 角色。
- 点击保存。
如果您没有使用在本快速入门中启用的 API,则可以将其停用。
- 在本快速入门中启用的 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
在 Google Cloud 控制台中,转到 API 页面。
选择您要停用的任何 API,然后点击停用 API 按钮。
后续步骤
您可以根据自己的需求详细了解如何创建 Cloud SQL 实例。您还可以了解如何为 Cloud SQL 实例创建 PostgreSQL 用户和数据库。
如需详细了解价格,请参阅 Cloud SQL for PostgreSQL 价格。
详细了解以下内容:
此外,您还可以了解如何从其他 Google Cloud 应用连接到 Cloud SQL 实例: