在 Cloud Code for IntelliJ 中管理 Cloud API 和库

借助 Cloud API,您可以通过自己的代码访问 Google Cloud 产品和服务。这些 Cloud API 提供了一个简单的 JSON REST 接口,您可以通过客户端库调用该接口。

本文介绍如何启用 Cloud API 并将 Cloud 客户端库添加到您的项目中。

浏览 Cloud API

如需浏览您的 IDE 中所有可用的 Google Cloud API,请按照以下步骤操作:

  1. 依次选择工具 > Google Cloud Code > Cloud API

  2. 管理 Google Cloud API 窗口会按类别对 Cloud API 进行分组。您 还可以使用搜索 API 搜索栏来查找特定 API。

    显示 Cloud API 列表的 Cloud API Explorer。

  3. 点击某个 API 以查看更多详细信息,例如其状态、相应客户端库的特定语言的安装说明以及相关文档。

启用 Cloud API

要使用 API 详细信息为项目启用 Cloud API,请按以下步骤操作:

  1. Cloud API 详细信息视图中,选择一个需要 您要启用 Cloud API 的对象

  2. 点击启用 API

    启用 API 后,系统会显示一条消息来确认更改。

添加 Cloud 客户端库

如需在 IntelliJ 中向项目添加库,请按照以下步骤操作:

对于 Java Maven 项目

  1. 前往工具 >Google Cloud Code > Cloud API
  2. 管理 Google Cloud API 对话框中的安装客户端库部分会显示支持的库。

  3. 选择偏好的库类型:Google Cloud 客户端库(适用于大多数项目)或 Java Spring Google Cloud(如果您的项目使用 Java Spring,则推荐此选项)。
  4. 按照 IDE 中安装客户端库中的其余说明操作(如果适用)。
  5. 完成后,点击关闭

对于其他所有项目

  1. 前往工具 >Google Cloud Code >云 API
  2. 管理 Google Cloud API 对话框中的安装客户端库部分会显示支持的库。

  3. 如需安装该 API,请按照 API 详细信息页面上针对您的首选语言列出的安装说明进行操作。

    如果您要开发 Java 应用,则还需要指定库偏好设置:Google Cloud 客户端库(推荐)或 Java Spring Google Cloud

  4. 完成后,点击关闭

使用 API 代码示例

如需在 API 浏览器中搜索并使用每个 API 的代码示例,请按以下步骤操作:

  1. 导航到工具 > Google Cloud Code > Cloud API

  2. 如需打开详细信息视图,请点击 API 的名称。

  3. 如需查看 API 的代码示例,请点击代码示例标签页。

  4. 如需过滤示例列表,请输入要搜索的文本,或者从语言下拉菜单中选择编程语言。

设置身份验证

启用所需的 API 并添加必要的客户端库后,您需要对应用进行配置,以便成功通过身份验证。您的配置取决于您的开发类型和运行所在的平台。

完成相关身份验证步骤后,您的应用即可进行身份验证并准备好部署。

本地开发

本地机器

如果您通过 IDE 登录到 Google Cloud,则 Cloud Code 可确保您已设置应用默认凭据 (ADC)。如果 如果您未使用 Cloud Code 登录,请手动运行 gcloud auth application-default login

minikube

  1. 如果您通过 IDE 登录到 Google Cloud,则 Cloud Code 可确保您已设置应用默认凭据 (ADC)。如果 如果您未使用 Cloud Code 登录,请手动运行 gcloud auth application-default login
  2. 使用 minikube start --addons gcp-auth 启动 minikube。此操作会将您的 ADC 装载到 pod 中。如需详细了解 Google Cloud 的 minikube 身份验证指南,请参阅 minikube gcp-auth 文档

其他本地 K8s 集群

  1. Cloud Code 可确保您将应用默认值 在您通过 IDE 登录 Google Cloud 时设置的凭据 (ADC)。如果您不是使用 Cloud Code 登录,请手动运行 gcloud auth application-default login
  2. 通过在 Pod 或部署清单中修改 Pod 规范,在 Kubernetes Pod 中装载本地 gcloud 目录,以便 Google Cloud 客户端库能够找到您的凭据。Kubernetes Pod 配置示例:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

Cloud Code 可确保您将应用默认值 在您通过 IDE 登录 Google Cloud 时设置的凭据 (ADC)。如果您不是使用 Cloud Code 登录,请手动运行 gcloud auth application-default login

远程开发

Google Kubernetes Engine


根据您的项目范围,您可以选择在 GKE 上对 Google Cloud 服务进行身份验证的方式:
  • (仅限开发)
    1. 使用以下设置创建 GKE 集群
      • 确保您使用的是 GKE 默认使用的服务账号、Compute Engine 默认服务账号,并且访问权限范围设置为授予对所有 Cloud API 的完整访问权限(这两种设置均可在节点池 > 安全部分中访问)。
        由于 Compute Engine 服务账号由部署在节点上的所有工作负载共享,因此此方法会过度预配权限,并且应该仅用于开发。
      • 确保集群上未启用 Workload Identity(在集群 > 安全部分中)。
    2. 为 Compute Engine 默认服务账号分配必要的角色:
  • (建议用于生产用途)
    1. 使用 Workload Identity 配置 GKE 集群和应用,以对 GKE 上的 Google Cloud 服务进行身份验证。此操作会将您的 Kubernetes 服务账号与您的 Google 服务账号相关联。
    2. 通过在 Kubernetes 部署 YAML 文件中设置 .spec.serviceAccountName 字段,配置 Kubernetes 部署以引用 Kubernetes 服务账号。
      如果您使用的是基于 Cloud Code 模板创建的应用,则此文件位于 kubernetes-manifests 文件夹下。
    3. 如果您尝试访问的 Google Cloud 服务需要其他角色,请为您用于开发应用的 Google 服务账号授予角色。

Cloud Run


  1. 如需创建用于部署 Cloud Run 应用的新唯一服务账号,请在“服务账号”页面上选择存储密文的项目。

    转到“服务账号”页面

  2. 点击创建服务账号
  3. 创建服务账号对话框中,为服务账号输入一个描述性名称。
  4. 服务账号 ID 更改为一个可识别的唯一值,然后点击创建
  5. 如果您尝试访问的 Google Cloud 服务需要其他角色,请授予角色,点击继续,然后点击完成
  6. 如需将 Kubernetes 服务账号添加到部署配置中,请执行以下操作: 依次点击 Run [运行] > Edit Configurations(修改配置),然后 在服务名称字段中指定您的服务账号。

Cloud Run


你可以根据项目范围 在 GKE 上对 Google Cloud 服务进行身份验证:
  • (仅限开发)
    1. 使用以下设置创建 GKE 集群
      • 确保您使用的是 GKE 默认使用的服务账号、Compute Engine 默认服务账号,并且访问权限范围设置为授予对所有 Cloud API 的完整访问权限(这两种设置均可在节点池 > 安全部分中访问)。
        由于 Compute Engine 服务账号由部署在节点上的所有工作负载共享,因此此方法会过度预配权限,并且应该仅用于开发。
      • 确保集群上未启用 Workload Identity(在集群 > 安全部分中)。
    2. 为 Compute Engine 默认服务账号分配必要的角色:
  • (建议用于生产用途)
    1. 使用 Workload Identity 配置 GKE 集群和应用,以对 GKE 上的 Google Cloud 服务进行身份验证。此操作会将您的 Kubernetes 服务账号与您的 Google 服务账号相关联。
    2. 将 Kubernetes 服务账号添加到部署作业中 配置中,导航至运行 > 编辑 Configurations,然后指定您的 Kubernetes 服务 账号(位于服务名称字段中)。
    3. 如果您尝试访问的 Google Cloud 服务需要其他角色,请为您用于开发应用的 Google 服务账号授予角色。

已启用 Secret Manager 权限的远程开发

如果您正在进行远程开发并通过使用服务账号进行身份验证,且您的应用使用密文,则除了 远程开发说明以外,您还需要完成一些其他步骤。以下步骤为您的 Google 服务账号授予访问特定 Secret Manager 密文所需的角色

  1. 如需打开 Secret Manager 工具窗口,请依次点击 Tools > Google Cloud Code > Secret Manager

  2. 选择您希望在代码中访问的密文。

  3. 点击权限标签页,然后点击修改修改权限来配置您的 Secret 权限。

    在 Secret Manager 中选择了“权限”标签页且突出显示了“修改权限”图标

    Google Cloud 控制台会在网络浏览器的新窗口中打开,其中会显示 Secret 的 Secret Manager 配置页面。

  4. 在 Google Cloud 控制台中,点击权限标签页,然后点击 授予访问权限

  5. 新的主账号字段中,输入您的服务账号。

  6. 选择角色下拉字段中,选择 Secret Manager Secret Accessor 角色。

  7. 完成后,点击保存

    您的服务账号有权访问此 Secret。

获取支持

如需在 IntelliJ IDE 中提交反馈或报告问题,请前往工具 > Cloud Code > 帮助/简介 > 提交反馈或报告问题,在 GitHub 上报告问题或在 Stack Overflow 上提问。