创建 API

前提条件

在 API Gateway 上创建 API 之前,请确保您已经:

API ID 要求

下面显示的许多 gcloud 命令都要求您指定 API 的 ID,格式为 API_ID。API Gateway 对 API ID 实施以下要求:

  • 长度不得超过 63 个字符。
  • 只能包含小写字母、数字或短划线。
  • 不能以短划线开头。
  • 不得包含下划线。

创建 API

要创建 API,请执行以下操作:

  1. 验证下面的命令返回的项目 ID,以确保不会在错误的项目中创建服务。

    gcloud config list project

    如果需要更改默认项目,请运行以下命令并将 PROJECT_ID 替换为要在其中创建服务的 Google Cloud 项目 ID:

    gcloud config set project PROJECT_ID

    如果您的项目 ID 包含英文冒号 (:),请参阅网域级项目,详细了解如何在项目中创建 API。

  2. 查看 apis create 命令的相关帮助:

    gcloud api-gateway apis create --help
  3. 运行以下命令以创建 API:

    gcloud api-gateway apis create API_ID --project=PROJECT_ID

    其中:

    • API_ID 指定新 API 的 ID。请参阅 API ID 要求,了解 API 命名准则。
    • PROJECT_ID 指定 Google Cloud 项目 ID。

    在创建 API 时,API Gateway 会将信息输出到终端。

  4. 成功完成后,您可以使用以下命令查看有关新 API 的详细信息:

    gcloud api-gateway apis describe API_ID --project=PROJECT_ID

    此命令会返回以下内容:

    createTime: '2020-02-29T21:52:20.297426875Z'
    displayName: API_ID
    managedService: MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog
    name: projects/PROJECT_ID/locations/global/apis/API_ID
    state: ACTIVE
    updateTime: '2020-02-29T21:52:20.647923711Z'

gcloud 选项

Google Cloud CLI 支持许多选项,包括 gcloud 参考。此外,对于 API Gateway,您可以在创建 API 时设置以下选项:

  • --async:立即将控制权归还给终端,而不等待操作完成。
  • --display-name=NAME:指定 API 的显示名称,即界面中显示的名称。请勿在名称中使用空格。请改用连字符和下划线。默认值为 API_ID
  • --labels=KEY1=VALUE1,KEY2=VALUE2,...:指定与 API 配置关联的标签。
  • --managed-service:指定 API 预先存在的托管式服务(例如现有的 Endpoints 服务)。

网域级项目

如果项目的范围限定在网域内,则项目 ID 将包含域名,后跟一个英文冒号 (:),例如 example.com:my-project。您 在网域范围内创建 API 时,必须提供有效的代管式服务 项目。

如果使用 gcloud,请使用 --managed-service 标志提供托管式服务名称,如 gcloud 选项中所述。

列出 API

如需列出项目中的所有 API,请运行以下命令:

gcloud api-gateway apis list --project=PROJECT_ID

此命令以如下形式返回输出:

NAME                                              DISPLAY_NAME  MANAGED_SERVICE                          STATE
projects/PROJECT_ID/locations/global/apis/API_ID  API_ID        MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog  ACTIVE

使用项目 ID 和 API ID 获取有关 API 的详细信息:

gcloud api-gateway apis describe API_ID --project=PROJECT_ID

更新 API

创建后,您可以更新现有 API 的标签和显示名称。使用以下 gcloud 选项更新现有 API:

  • --display-name
  • --update-labels
  • --clear-labels
  • --remove-labels

例如:

gcloud api-gateway apis update API_ID --project=PROJECT_ID \
  --update-labels=a=1,b=2

使用以下命令查看所有更新选项:

gcloud api-gateway apis update --help

删除 API

要删除 API,您必须执行以下操作:

  • 删除与 API 关联的 API 配置。
  • 删除 API。

要删除 API,请执行以下操作:

  1. 确定与 API 关联的 API 配置列表:

    gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
  2. 删除与 API 关联的每个 API 配置:

    gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
  3. 删除 API:

    gcloud api-gateway apis delete API_ID --project=PROJECT_ID

后续步骤