apigee-access
モジュールにより、Node.js アプリケーション コード内から API プロキシフロー変数とキャッシュにアクセスできます。このモジュールは Apigee Edge プラットフォームに付属しており、他の Node.js モジュールのようにインストールする必要はありません。
apigee-access の取得
apigee-access
モジュールは、Apigee Edge プラットフォームに統合されています。Node.js コードを Edge にデプロイすると、このモジュールが利用可能になります。そのためには、デプロイする Node.js コードで require を指定するだけです。例:
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 での割り当てサービスへのアクセスをご覧ください。
Key-Value マップへのアクセス
apigee-access
モジュールを使用すると、Node.js コードから Apigee Edge Key-Value マップ(KVM)にアクセスできます。詳細については、Node.js で Key-Value マップにアクセスするをご覧ください。
ローカルモードでの実行とデプロイモードでの実行
ローカルでの開発とテストをサポートするため、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 にデプロイされているか、またはスタンドアロン モードで実行されているかを示します。このメソッドは、次の 2 つの文字列のいずれかを結果として返します。
apigee
- Node.js アプリケーションが Apigee Edge で実行されており、すべての機能がサポートされています。standalone
- Node.js アプリケーションが Apigee Edge 環境外で実行されており、この文書の冒頭で説明したデフォルト機能が有効です。
デプロイモードでの実行
Edge にデプロイされると、ポリシーで設定された変数は apigee-access
に表示され、このモジュールのメソッドによって追加または変更された変数は、プロキシのフローの後続のポリシーに表示されます。
サポートされている変数のリンクについては、変数リファレンスをご覧ください。これらの変数と、ユーザーが独自に作成した変数は apigee-access
に表示されます。なお、一部の変数は読み取り専用です。これらは、変数リファレンスで確認できます。
ローカルモードでの実行
「ローカルモード」では、Node.js コードは Apigee Edge のコンテキスト外で実行されています。このモードでは、事前定義されたフロー変数のほとんどは 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 の変数リファレンスをご覧ください。