修改 API 代理(创建代理修订版本)

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

使用 Apigee 界面或 API 修改 API 代理。修改 API 代理时,您可以通过产生的更改决定执行以下哪项操作:

  1. 将更改保存到服务器上,但不创建新的修订版本。当您不想部署已保存的更改,只想如果您结束会话它们不会丢失时,可以执行此操作。

    OR

  2. 创建新的 API 代理修订版本并将它部署到集群。如果不创建新的修订版本,则无法将更改部署到 API 代理。

新版代理编辑器

如需使用新版代理编辑器修改 API 代理并保存更改,请执行以下操作:

  1. 如果您使用的是 Cloud 控制台中的 Apigee 界面:选择代理开发 > API 代理

    如果您使用的是经典版 Apigee 界面:请选择开发 > API 代理,然后在代理窗格中,选择代理的环境。

  2. 从代理列表中选择要修改的代理。该界面会在代理编辑器中显示该代理的概览标签页。

    代理编辑器中的“概览”标签页
  3. 点击开发标签页。
  4. 使用代理编辑器更改代理。完成更改后,您可以执行以下任一操作:
    • 如需保存更改但不创建新修订版本,请点击保存按钮。(您应该定期执行此操作,以确保在结束会话时更改不会丢失)。
    • 如需将更改保存为新修订版本(当您准备好部署和测试时),请点击保存按钮旁边的下拉菜单,然后选择另存为新修订版本

      在“保存”菜单中将更改保存为新修订版本。

      Apigee 界面会保存您的更改,并为您生成代理的新修订版本。它不会将新的软件包部署到运行时;您必须明确执行部署操作,如部署 API 代理中所述。

经典版代理编辑器

如需使用经典版代理编辑器修改 API 代理并保存更改,请执行以下操作:

  1. 登录 Apigee 界面
  2. 在主视图中点击 API 代理

    或者,您也可以在左侧导航菜单中依次选择开发 > API 代理

  3. 选择包含您要修改的代理的环境。

    Apigee 界面会显示所选环境的 API 代理列表:

    所选环境的代理列表。

  4. 点击要修改的代理。该界面会在代理编辑器中显示该代理的概览标签页:

    代理编辑器中的“概览”标签页。

  5. 点击视图右上角中的开发标签页。
  6. 使用代理编辑器更改代理。完成更改后,您可以执行以下任一操作:
    • 保存更改,但不创建新的修订版本(最常见的情况;您应该定期执行此操作,以确保如果您结束会话更改不会丢失)。
    • 将您的更改保存为新的修订版本(当您准备好部署和测试时)。
  7. 如需进行保存但不创建新修订版本,请点击界面右上角中的保存

    “保存”按钮。

    Apigee 界面会保存您的更改,使得您可以离开页面并可在稍后继续工作。

  8. 如需将更改保存为新的修订版本,请点击保存旁边的下拉箭头,然后选择另存为新修订版本

    点击“另存为新修订版本”

    Apigee 界面会保存更改并为您生成新的代理软件包。它不会将新的软件包部署到运行时;您必须明确执行部署操作,如部署 API 代理中所述。

    该界面会显示已保存新修订版本消息:

    该界面中显示的“已保存新修订版本”消息。

    在您创建新的修订版本后,通常会将它部署到集群。如部署 API 代理中所述。

Apigee API

通过向以下资源发出 POST 请求,修改 API 代理以在 Apigee 组织中创建修订版本:

https://apigee.googleapis.com/v1/organizations/$ORG/apis

您必须使用 name 查询参数定义 API 代理的名称。将名称中使用的字符限制为以下字符:A-Za-z0-9._\-$ %

您也可以通过执行以下步骤导入 API 代理配置软件包:

  • action 查询参数设置为 import
  • Content-type 标头设置为 multipart/form-data
  • 传递本地文件系统上的 API 代理配置软件包的名称

以下示例演示了如何通过使用 API 导入本地文件系统上的 API 代理配置软件包 (helloworld-config.zip) 来修改 API 代理。

export TOKEN=$(gcloud auth print-access-token)
export ORG=ORGANIZATION_NAME
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apis?name=helloworld&action=import" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F "file=@helloworld-config.zip"

按照获取 OAuth 2.0 访问令牌中的说明,将 $TOKEN 设置为您的 OAuth 2.0 访问令牌。如需了解此示例中使用的 curl 选项,请参阅使用 curl。如需了解所使用的环境变量,请参阅为 Apigee API 请求设置环境变量

以下提供了一个响应输出示例:

{
  "basepaths": [
    "/helloworld"
  ],
  "configurationVersion": {
    "majorVersion": 4
  },
  "createdAt": "1559145292799",
  "displayName": "helloworld",
  "entityMetaDataAsProperties": {
    "bundle_type": "zip",
    "subType": "Proxy",
    "lastModifiedAt": "1559145292799",
    "createdAt": "1559145292799"
  },
  "lastModifiedAt": "1559145292799",
  "name": "helloworld",
  "policies": [
    "verify-api-key",
    "remove-query-param-apikey",
    "OAuth-v20-1"
  ],
  "proxies": [
    "default"
  ],
  "proxyEndpoints": [
    "default"
  ],
  "resourceFiles": {},
  "targetEndpoints": [
    "default"
  ],
  "targets": [
    "default"
  ],
  "type": "Application",
  "revision": "1",
  "description": "Hello world"
}

如需详细了解如何修改 API 代理,请参阅 Apigee API 中的 apis.create 方法。如需查看 API 代理可用的所有方法,请参阅 API 代理 API