使用 apigee-access 模块

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

借助 apigee-access 模块,您可以从 Node.js 应用代码访问 API 代理流变量和缓存。该模块包含在 Apigee Edge 平台中;您无需像安装其他 Node.js 模块一样安装该模块。

获取 apigee-access

apigee-access 模块集成在 Apigee Edge 平台中。将 Node.js 代码部署到 Edge 时,您可以使用此模块。您只需在您部署的任何 Node.js 代码中要求使用它即可。例如:

var access=require('apigee-access');

访问流变量

将 Node.js 应用部署到 Edge 时,您可以访问任何受支持的“开箱即用”流变量、由政策创建的流变量,以及您在 Node.js 代码中自行创建的任何流变量。流变量创建于 Edge 上运行的 API 代理的上下文中。如需了解详情,请参阅在 Node.js 中访问流变量

访问缓存

借助 apigee-access 模块,您可以从 Node.js 代码访问 Apigee Edge 分布式缓存。如需了解详情,请参阅在 Node.js 中访问缓存

使用配额服务

借助 apigee-access 模块,您可以从 Node.js 代码访问 Apigee Edge 配额服务。如需了解详情,请参阅在 Node.js 中访问配额服务

访问键值对映射

借助 apigee-access 模块,您可以从 Node.js 代码访问 Apigee Edge 键值对映射 (KVM)。如需了解详情,请参阅在 Node.js 中访问键值对映射

在本地模式与部署模式下运行

为了支持本地开发和测试,apigee-access 模块以本地模式运行,不依赖于 Apigee Edge;但是,当该模块与部署到 Edge 的 API 代理一起使用时,“本地”功能将被原生 Edge 功能取代。例如,可以在部署模式下访问流变量的完整补充,而在本地运行 Node.js 应用时只有一小部分可用。如需查看这些本地模式变量的列表,请参阅在本地模式下运行

确定在哪种模式下运行模块

如需确定要在哪种模式下运行 apigee-access,请执行以下操作:

var access = require('apigee-access')
console.log('The deployment mode is ' + access.getMode());

getMode() 的返回值将告知您 Node.js 应用是部署到 Apigee Edge 还是以独立模式运行。该方法会返回以下两个字符串结果之一:

  • apigee - Node.js 应用正在 Apigee Edge 上运行,并且所有功能均受支持。
  • standalone - Node.js 应用在 Apigee Edge 环境之外运行,并且文档顶部描述的默认功能生效。

在部署模式下运行

部署到 Edge 后,由政策设置的变量对 apigee-access 可见,并且由此模块方法添加或修改的变量对代理流中的后续政策可见。

您可以在变量参考中找到受支持变量的链接。这些变量以及您使用自己的名称创建的任何变量均对 apigee-access 可见。请注意,有些变量是只读的。变量参考中介绍了这些变量。

在本地模式下运行

在“本地模式”下,您将在 Apigee Edge 环境中运行 Node.js 代码。在此模式下,大多数预定义的数据流变量都无法在 Node.js 代码中访问。下表显示了一小部分可用的流变量。此处支持这些变量,以便为 Apigee Edge 的 Node.js 应用本地开发和测试提供支持。

变量 只读 类型 备注
client.received.start.time 字符串 收到请求的时间
client.received.end.time 字符串 收到请求的时间
client.received.start.timestamp 整数 收到请求的时间
client.received.end.timestamp 整数 收到请求的时间

同样,Apigee Edge 平台支持更多的预定义变量。如需查看完整的列表,请参阅 Apigee Edge 变量参考