创建 API
前提条件
在 API Gateway 上创建 API 之前,请确保您已经:
- 按照配置开发环境中的说明准备开发环境。
API ID 要求
下面显示的许多 gcloud
命令都要求您指定 API 的 ID,格式为 API_ID。API Gateway 对 API ID 实施以下要求:
- 长度不得超过 63 个字符。
- 只能包含小写字母、数字或短划线。
- 不能以短划线开头。
- 不得包含下划线。
创建 API
要创建 API,请执行以下操作:
验证下面的命令返回的项目 ID,以确保不会在错误的项目中创建服务。
gcloud config list project
如果需要更改默认项目,请运行以下命令并将 PROJECT_ID 替换为要在其中创建服务的 Google Cloud 项目 ID:
gcloud config set project PROJECT_ID
如果您的项目 ID 包含英文冒号 (
:
),请参阅网域级项目,详细了解如何在项目中创建 API。查看
apis create
命令的相关帮助:gcloud api-gateway apis create --help
运行以下命令以创建 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 会将信息输出到终端。
成功完成后,您可以使用以下命令查看有关新 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,请执行以下操作:
确定与 API 关联的 API 配置列表:
gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
删除与 API 关联的每个 API 配置:
gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
删除 API:
gcloud api-gateway apis delete API_ID --project=PROJECT_ID