连接到 Firestore 数据库

使用 Firestore 可为 Cloud Run 服务设置可扩缩的 NoSQL 云数据库。Firestore 是一种灵活且可伸缩的 NoSQL 数据库,适用于进行移动端、Web 和服务器开发。

您可以使用本页面介绍的 Cloud Run 集成将 Cloud Run 服务快速连接到新的 Firestore 数据库。

准备工作

  • 确保您要集成的 Cloud Run 服务已部署完毕。
  • 查看 Firestore 价格页面。您需要为集成中使用的各个资源付费。

所需的角色

如需使用 Cloud Run 集成,您或您的管理员必须向两个不同的主账号授予 IAM 角色

点击查看您的 Google 账号需要的角色

如需获得使用 Cloud Run 集成所需的权限,请让您的管理员向您的 Google 账号授予项目的以下 IAM 角色:

点击查看服务账号需要的角色

如需部署 Cloud Run 服务,您可以使用系统自动创建的 Compute Engine 默认服务账号,也可以指定用户管理的服务账号。服务账号必须具有以下角色:

将服务连接到新的 Firestore 数据库

任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。

您可以使用控制台或命令行将 Cloud Run 服务连接到 Firestore 数据库。

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud Run 页面。

    转到 Cloud Run

  2. 在服务列表中,点击要在此集成中使用的服务。

  3. 点击 Integrations(集成)标签。

  4. 点击添加集成

  5. 点击 Firestore 数据库

  6. 使用默认名称,或者将名称更改为您要使用的值。

    图片

  7. 如果系统提示您启用 API 列表,请点击启用并等待 API 启用。

  8. 资源下,记下此集成后将创建的新资源。

  9. 点击提交,然后等待集成和资源创建完成。此过程最多可能需要 15 分钟。

命令行

  1. 更新到最新的 Google Cloud CLI:

    gcloud components update
  2. 创建集成:

    gcloud beta run integrations create \
    --type=firestore \
    --service=SERVICE \

    您需要在其中:

    • SERVICE 替换为您的 Cloud Run 服务的名称。

    (可选)添加 --service-account=SERVICE_ACCOUNT_EMAIL 标志。

    • SERVICE_ACCOUNT_EMAIL 替换为用于部署服务的用户管理的服务账号电子邮件地址 (PROJECT_NUMBER-compute@developer.gserviceaccount.com)。如果要使用默认计算服务账号 (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com),请省略此标志。

      如需在部署 Cloud Run 集成时继续使用指定的服务账号,请运行以下命令:

      gcloud config set runapps/deployment-service-account
  3. 等待最多 15 分钟,在此期间,系统会创建并连接一个完全配置的 Firestore 数据库。此外,系统还会创建新的 Cloud Run 修订版本,包括用于标识数据库的环境变量。该过程完成后,系统会显示以下消息:

    [firestore] integration [firestore-xxx] has been updated successfully.
    
    To connect to the Firestore database, utilize the environment variable
    `FIRESTORE_DB_NAME`. This variable is added to the Cloud Run
    service for you.

    您可以运行 gcloud beta run integrations describe 来检查状态。

查看 Firestore 数据库集成

如需查看 Cloud Run 服务的 Firestore 数据库集成的当前状态,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud Run 页面。

    转到 Cloud Run

  2. 在服务列表中,点击要在此集成中使用的服务。

  3. 点击 Integrations(集成)标签。

  4. 找到相关 Firestore 数据库集成,然后点击查看详情

命令行

  1. 使用以下命令获取可用集成的列表:

    gcloud beta run integrations list
  2. 使用返回列表中的名称显示它的详细信息:

    gcloud beta run integrations describe INTEGRATION_NAME

    INTEGRATION_NAME 替换为您的 Firestore 数据库集成的名称。

删除 Firestore 数据库集成

如果删除集成,则系统还会删除与该集成关联的所有 Google Cloud 资源,但不会删除 Cloud Run 服务。

如需从 Cloud Run 服务中删除 Firestore 数据库集成,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud Run 页面。

    转到 Cloud Run

  2. 点击要删除集成的服务。

  3. 点击 Integrations(集成)标签。

  4. 找到您感兴趣的 Firestore 数据库集成,点击集成右侧的省略号图标,然后点击删除

命令行

  1. 使用以下命令获取可用集成的列表:

    gcloud beta run integrations list
  2. 使用返回列表中的名称删除集成:

    gcloud beta run integrations delete INTEGRATION_NAME

    您需要在其中:

    • INTEGRATION_NAME 替换为您的 Firestore 数据库集成的名称。

    (可选)您可以使用以下标志选项:

    选项 说明
    --service-account 用于执行删除操作的用户管理的服务账号电子邮件地址。

在代码中访问 Firestore 数据库

完成集成后,Cloud Run 会自动添加环境变量 FIRESTORE_DB_NAME,以便在 Cloud Run 服务代码中使用。

使用 Firestore 的服务示例代码

如需查看 Cloud Run 和 Firestore 代码示例,请参阅 Firestore 文档。

限制