您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
作为服务提供商,您需要开发供客户端应用使用的 API。如需创建、配置和维护 API 代理和 API 产品,您可以使用界面或向 API 发出 HTTP 请求来访问 RESTful 服务,如以下各部分所述。
使用 Edge 界面
Apigee Edge 界面是一款基于浏览器的工具,可用于创建、配置和管理 API 代理和 API 产品。部分任务也只能使用 API 完成。
下表介绍了如何访问 Edge 界面:
| 产品 | 界面名称 | 访问网址 |
|---|---|---|
| Edge | Edge 界面 | 如需访问 Edge 界面,请使用以下网址: https://apigee.com/edge 如需查看有关使用 Edge 界面的教程,请参阅构建您的第一个 API 代理。 |
| Edge for Private Cloud | 经典版 Edge 界面 | 如需访问 Edge for Private Cloud 的 Edge 界面,请使用以下网址: http://ms-ip:9000 其中,ms-ip 是管理服务器节点的 IP 地址或 DNS 名称。 |
使用 Edge 界面,您可以:
- 通过修改代码和跟踪通过代理的请求流来创建 API 代理。
- 创建 API 产品,其中包含用于公开以响应客户端请求的代理。
- 管理开发者和开发者应用。
- 配置测试环境和生产环境。
- 实现 JavaScript 和 Node.js 应用。
下图显示了界面中的 API 代理编辑器,您可以使用该编辑器创建和配置 API 代理:

使用 Edge API
您可以使用 Edge API 来管理 API 资源。 这些 API 还提供对界面未公开的低级别功能的访问权限。
API 端点通常会接收包含配置信息的数据,并且需要您传递身份验证信息(例如用户名和密码)才能访问这些端点。根据 RESTful 原则,您可以对任何 API 资源调用 HTTP GET、POST、PUT 和 DELETE 方法。
如需查看 Apigee Edge API 的完整列表,请参阅 Apigee Edge API 参考文档。
了解 Edge API 基本路径
您将在 API 请求中使用的路径是以下各项的串联:
- 包含组织名称的基本路径。例如:
https://api.enterprise.apigee.com/v1/organizations/org_name - 指向您正在访问的 Edge 资源的端点。
例如,如果您的组织名称为 apibuilders,那么您对 API 的每次调用都将使用以下基本路径:
https://api.enterprise.apigee.com/v1/organizations/apibuilders
如需检索组织中的 API 代理列表,您需要对以下网址调用 GET:
https://api.enterprise.apigee.com/v1/organizations/apibuilders/apis
许多资源都按环境划分范围。默认情况下,系统会提供两个环境:测试和生产。例如,缓存的作用域是环境。默认情况下,每个环境中都包含一个名为“mycache”的共享缓存。
您可以通过对缓存资源调用 GET 来列出缓存,如下所示:
https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/test/caches https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/prod/caches
对访问权限进行身份验证
调用 API 时,您必须向 API 服务器进行身份验证。您可以通过以下方式之一执行此操作:
此外,Apigee 建议您使用双重身份验证,如为 Apigee 账号启用双重身份验证中所述。
Edge API 限额
每个组织的 Edge API 调用速率受以下限制:
- 对于采用付费方案的组织,每分钟调用 10,000 次
- 试用组织每分钟 600 次调用
HTTP 状态代码 401 和 403 不计入此限额。超出这些限制的任何调用都会返回 429 Too Many Requests 状态代码。
使用 Edge API 的提示
本部分介绍了一些可让您更轻松地使用 Edge API 的技巧。
缩写请求网址
在构建 Edge API 的请求网址时,您可以使用以下缩写:
/e = /environments/o = /organizations/r = /revisions
如果您使用缩写,则必须保持一致。也就是说,要么缩写路径中的所有元素(如上所述,如下例所示),要么不缩写。在同一路径中同时使用完整元素和缩写元素会导致错误。
例如:
THIS: https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/environments/prod/apis/helloworld/revisions/1/deployments CAN BE MUCH SHORTER: https://api.enterprise.apigee.com/v1/o/ahamilton-eval/e/prod/apis/helloworld/r/1/deployments
执行 curl 命令
使用 HTTP 客户端向 API 发出请求。文档中的许多示例都提供了使用 curl(一种广泛使用的 HTTP 客户端)的 API 请求示例。如果您需要安装 curl,可以从 http://curl.haxx.se 下载。
对 API 的调用支持对响应进行 gzip 压缩。如果您在 API 调用中设置了 'Accept-Encoding: gzip, deflate',则任何大于 1024 字节的响应都会以 gzip 格式返回。
设置 XML 和 JSON 请求及响应的格式
Edge API 默认以 JSON 格式返回数据。对于许多请求,您可以改为以 XML 格式接收返回的响应。为此,请将 Accept 请求标头设置为 application/xml,如以下示例所示:
curl -H "Authorization: Bearer `get_token`" \ -H "Accept: application/xml" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ | xmllint --format -
响应应如下所示:
<List> <Item>SOAP-Message-Validation-1</Item> <Item>Spike-Arrest-1</Item> <Item>XML-to-JSON-1</Item> </List>
请注意,此示例使用 prettyprint 通过管道将响应传递给 xmllint 来显示结果。
acurl 实用程序不支持 Accept 标头。因此,您只能获得包含 acurl 的 JSON 格式的回答。
如需针对 JSON 响应使用 prettyprint,您可以使用 json.tool Python 库:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ -H "Accept: application/json" \ -H "Authorization: Bearer `get_token`" \ | python -m json.tool
以下提供了一个响应示例:
[ "SOAP-Message-Validation-1", "Spike-Arrest-1", "XML-to-JSON-1" ]
对于 XML,您可以使用 xmllint:
curl https://ahamilton-eval-test.apigee.net/getstarted -u email_address | xmllint --format -
在 XML 中 POST 或 PUT 有效负载时,请使用 Content-type HTTP 标头:
acurl -H "Content-type:text/xml" -X POST -d \ '<XMLPayload> </XMLPayload> ' \ https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u email_address
部署环境
默认情况下,使用 Apigee Edge 的每个组织至少有两个可用于开发、测试和部署 API 的环境:“test”和“prod”。在公开提供 API 之前,请先使用“测试”环境开发和测试 API。只有内部开发者可以访问部署到测试环境的 API。将 API 部署到“prod”环境,以便向应用开发者公开提供这些 API。
调试和测试
Apigee 提供了一个跟踪工具,可用于调试端到端请求和响应流。跟踪结果会显示请求和响应标头及载荷、政策执行情况、变量值以及流程中可能发生的任何错误。
用于问题排查的关键数据点:
- 时间戳:使用时间戳可查看每个步骤的执行时长。 比较时间戳有助于隔离耗时最长的政策,进而减慢 API 调用速度。
- 基本路径:通过验证基本路径,您可以确保政策将消息路由到正确的服务器。
- 政策执行结果:通过这些结果,您可以查看消息是否按预期发生更改,例如消息是否正在从 XML 转换为 JSON,或者消息是否正在缓存。
下图显示了轨迹结果:

每个 Trace 会话都分为以下主要步骤:
- 从客户端收到的原始请求:显示客户端应用发出的请求的 HTTP 方法和 URI 路径、标头、正文数据和查询参数。
- 发送到后端服务的请求:显示 API 代理发送到后端服务的请求消息。
- 后端服务返回的响应:显示后端服务返回的响应标头和载荷。
- 发送给客户端的最终响应:响应流执行完毕后返回给发出请求的客户端应用的响应消息。