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