使用 apigee-access 模块

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

借助 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 Variables Reference