Node.js에서 키-값 맵에 액세스

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

apigee-access 모듈을 사용하여 Node.js 애플리케이션 내에서 Edge 키-값 맵 (KVM) 데이터를 가져올 수 있습니다. 이 KVM 검색 방법은 API 프록시 흐름에서 KVM 데이터를 검색하는 데 키-값 맵 작업 정책을 사용하는 대신 사용할 수 있습니다.

KVM은 런타임 시 검색할 수 있는 임의의 키-값 쌍의 장기 지속성을 제공합니다. 예를 들어 각 배포 환경의 KVM에 할당량 값, OAuth 액세스 토큰 만료 값, OAuth 갱신 토큰 만료 값을 저장한 다음 코드에서 값을 검색할 수 있습니다.

세 가지 범위(organization, environment, apiproxy) 중 하나에서 KVM을 만들 수 있습니다. 예를 들어 'foo' 프록시의 apiproxy 범위에서 KVM을 만들면 'foo' 프록시만 KVM에 액세스할 수 있습니다. 또는 'test' 환경 범위에서 KVM을 만드는 경우 조직의 'test' 환경에 배포된 모든 API 프록시는 KVM에 액세스할 수 있지만 'prod' 환경에 배포된 프록시는 액세스할 수 없습니다.

관리 API, 관리 UI 또는 키-값 맵 작업 정책 (장기 지속성 캐싱 참고)으로 KVM을 만든 후 여기에 있는 함수를 사용하여 데이터를 검색합니다.

훌륭한 KVM 패턴은 https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html을 참고하세요.

apigee-access 모듈 및 기타 기능에 관한 소개는 apigee-access 모듈 사용을 참고하세요.

방법

다음 방법은 암호화된 KVM과 암호화되지 않은 KVM에서 모두 작동합니다.


getKeyValueMap

var kvm = apigee.getKeyValueMap('kvm_name', 'scope');
var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');

특정 범위 (조직, 환경, API 또는 버전)에서 KVM을 검색합니다. KVM 객체가 반환되면 getKeysget 함수를 사용하여 키 이름 또는 특정 키 값을 반환합니다.

매개변수:

  • kvm_name - 액세스할 KVM의 이름입니다.
  • scope - KVM의 범위입니다. organization, environment, api,, revision 중 하나입니다.
  • proxy_name - api범위에 대해서만 API 프록시의 이름입니다.

반환:

KVM 객체

예:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');

scopeapi로 설정하면 세 번째 매개변수(API 프록시 이름)가 필요합니다. 예를 들면 다음과 같습니다.

var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');

getKeys

var kvmKeys = apigee.getKeys(function(err, keys_array);

KVM에 있는 모든 키의 이름이 포함된 배열을 반환합니다.

매개변수:

  • callback: (필수) 콜백 함수는 다음 두 매개변수를 사용합니다.
    • 작업이 실패하면 Error 객체입니다.
    • KVM 키 이름의 배열을 나타내는 객체 (위 예에서는 keys_array).

반환:

KVM 키 이름의 배열입니다.

예:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
  kvm.getKeys(function(err, keys_array) {
    // use the array of key names here
}); 

받기

kvm.get('key', function(err, key_value));

KVM 키의 값을 가져옵니다.

매개변수:

  • key: (필수) 캐시에서 항목을 고유하게 식별하는 문자열입니다.

  • callback: (필수) 콜백 함수는 다음 두 매개변수를 사용합니다.

    • 작업이 실패하면 Error 객체입니다.
    • KVM 키 값을 문자열로 포함하는 객체입니다.

예:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
  kvm.get('foo_key', function(err, key_value) {
    // Use the key value here. For example the following assigns the value
    // to a 'kvmvalue' variable in the response, which can be used by policies:
      apigee.setVariable(response, 'kvmvalue', key_value);
});