合并程序化代码

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

您可以采用 JavaScript、Java 和 Python 等程序化语言添加代码,然后从 API 代理的其他部分调用该代码。对程序化代码的支持旨在让您更轻松地实现流变量、故障以及请求和响应正文的复杂处理。

利用程序化代码,您可以:

  • 创建或操纵复杂的正文值,例如请求和响应值。
  • 重写网址,例如屏蔽目标端点网址。
  • 添加包含的政策中未提供的其他逻辑。

运作方式

您可以使用特定于某种语言的政策,从代理流调用包含的代码。对于每种受支持的语言,Apigee Edge 都包含单独的政策:JavaScript 政策JavaCallout 政策PythonScript 政策

下文简要介绍了工作原理。如需了解更多详情,请务必查看政策参考文档。

  1. 在一个单独的文件中,编写您要使用的代码。
  2. 在代码中,将代码处理结果放入 Apigee Edge 流变量中。

    您可以在 API 代理中的其他位置检索变量值。如需详细了解流变量,请参阅使用流变量管理代理状态

  3. 将您的文件(或 JAR)作为资源文件添加到 API 代理。

    如需详细了解资源文件,请参阅资源文件

  4. 添加与您使用的语言相对应的政策。

    配置政策,以便从 API 代理流的所需位置调用您的代码。

  5. 使用政策从流变量中检索代码值。

限制

Apigee Edge 安全模型不允许系统调用,例如网络 I/O、文件系统读取/写入、当前用户信息、进程列表和 CPU/内存利用率。尽管有些此类调用可能正常工作,但不受支持,并且可能随时会被主动停用。为了实现前向兼容性,您应该避免在代码中进行此类调用。

每种支持的语言都可能存在其他限制,如该语言对应的政策参考文档中所述。

支持的语言

JavaScript

对 JavaScript 的支持包含完整的对象模型,用于处理特定于 API 代理的变量和值。如需了解详情,请参阅 JavaScript 对象模型

如需了解政策参考信息和示例,请参阅 JavaScript 政策使用 JavaScript 编程 API 代理。如需查看示例代码,请在示例列表中搜索包含 JavaScript 的示例。

Java

使用 JavaCallout 政策从代理的流中调用 Java 代码。政策参考主题包括示例。

您可能还对以下主题感兴趣:

如需查看示例代码,请搜索示例列表中具有包含的 Java 的示例。

Python

使用 PythonScript 政策调用 Python 代码。

如需查看示例代码,请搜索示例列表中具有包含的 Python 的示例。