apigee-access モジュールの使用

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 の変数リファレンスをご覧ください。