You're viewing Apigee Edge documentation.
Go to the
Apigee X documentation. info
The apigee-access
module lets you access API proxy flow variables and caches from
within Node.js application code. The module is included with the Apigee Edge platform; you do not
need to install it as you would with other Node.js modules.
Obtaining apigee-access
The apigee-access
module is integrated into the Apigee Edge platform. When you
deploy Node.js code to Edge, this module is available to you. You simply need to require it in
any Node.js code that you deploy. For example:
var access=require('apigee-access');
Accessing flow variables
When you deploy a Node.js application to Edge, you can access any of the supported "out-of-the-box" flow variables, flow variables created by policies, and any flow variables that you create yourself from within your Node.js code. Flow variables are created and exist within the context of an API proxy running on Edge. For detailed information, see Accessing flow variables in Node.js.
Accessing the cache
The apigee-access
module lets you access the Apigee Edge distributed cache from
your Node.js code. For detailed information, see Accessing the cache in Node.js.
Using the quota service
The apigee-access
module lets you access the Apigee Edge quota service from your
Node.js code. For detailed information, see
Accessing the quota service in
Node.js.
Accessing Key Value Maps
The apigee-access
module lets you access Apigee Edge key value maps (KVMs) from
your Node.js code. For detailed information, see
Accessing key value maps in
Node.js.
Running in local mode vs deployed mode
To support local development and testing, the apigee-access
module
works in a local mode with no dependencies on Apigee Edge; however,
when the module is used with an API proxy that is deployed to
Edge, the "local" functionality is replaced by native Edge functionality. For example, the
full compliment of flow variables are accessible in deployed mode, while only a small subset are
available when you run the Node.js application locally. For a list of these local-mode variables,
see Running in local mode.
Determining the mode in which the module is running
To determine which mode you are running apigee-access in:
var access = require('apigee-access') console.log('The deployment mode is ' + access.getMode());
The return value of getMode() tells you whether or not the Node.js application is deployed to Apigee Edge or is running in standalone mode. The method returns one of these two string results:
apigee
- The Node.js application is running on Apigee Edge and all functionality is supported.standalone
- The Node.js application is running outside the Apigee Edge environment, and the default functionality described at the top of the document takes effect.
Running in deployed mode
When deployed to Edge, variables set by policies are visible to apigee-access
,
and variables added or modified by this module's methods are visible to subsequent policies in
the proxy flow.
You can find the link of supported variables in the
Variables Reference. These variables,
and any that you create with your own names, are visible to apigee-access
. Note
that some variables are read-only. They are identified in the
Variables Reference.
Running in local mode
In "local mode," you are running your Node.js code outside the context of Apigee Edge. In this mode, most of the pre-defined flow variables are not accessible within your Node.js code. This table shows the small subset of flow variables that are available. These variables are supported here in order to support local development and testing of Node.js applications for Apigee Edge.
Variable | Read-Only | Type | Notes |
client.received.start.time |
Yes | String | Time at which the request was received |
client.received.end.time |
Yes | String | Time at which the request was received |
client.received.start.timestamp |
Yes | Integer | Time at which the request was received |
client.received.end.timestamp |
Yes | Integer | Time at which the request was received |
Again, on the Apigee Edge platform, a much larger set of pre-defined variables is supported. Refer to the Apigee Edge Variables Reference for the complete list.