开发工具

您正在查看 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

您可以使用 Edge API 来管理 API 资源。 这些 API 还提供对界面未公开的低级别功能的访问权限。

API 端点通常会接收包含配置信息的数据,并且需要您传递身份验证信息(例如用户名和密码)才能访问这些端点。根据 RESTful 原则,您可以对任何 API 资源调用 HTTP GETPOSTPUTDELETE 方法。

如需查看 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 状态代码 401403 不计入此限额。超出这些限制的任何调用都会返回 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,或者消息是否正在缓存。

下图显示了轨迹结果:

显示 Edge 界面中 API 代理编辑器内选定的“Trace”标签页。

每个 Trace 会话都分为以下主要步骤:

  • 从客户端收到的原始请求:显示客户端应用发出的请求的 HTTP 方法和 URI 路径、标头、正文数据和查询参数。
  • 发送到后端服务的请求:显示 API 代理发送到后端服务的请求消息。
  • 后端服务返回的响应:显示后端服务返回的响应标头和载荷。
  • 发送给客户端的最终响应:响应流执行完毕后返回给发出请求的客户端应用的响应消息。