Apigee Edge 문서입니다.
Go to the
Apigee X documentation. info
apigee-access 모듈을 사용하여 Node.js 애플리케이션 내에서 Edge 키 값 맵 (KVM)
데이터를 가져올 수 있습니다. 이 KVM 검색 방법은 API 프록시 흐름에서 KVM 데이터를 검색하기 위해
키 값 맵
작업 정책을 사용하는 대신 사용할 수 있습니다.
KVM은 런타임에 검색할 수 있는 임의의 키-값 쌍의 장기 지속성을 제공합니다. 예를 들어 각 배포 환경의 KVM에 할당량 값, OAuth 액세스 토큰 만료 값, OAuth 갱신 토큰 만료 값을 저장한 다음 코드에서 값을 검색할 수 있습니다.
KVM은 organization,
environment, 및 apiproxy의 세 가지 범위 중 하나에서 만들 수 있습니다. 예를 들어 "foo" 프록시의
apiproxy 범위에서 KVM을 만들면 "foo" 프록시만 KVM에 액세스할 수 있습니다. 또는 "test" 환경 범위에서
KVM을 만들면 조직의 "test"
환경에 배포된 모든 API 프록시가 KVM에 액세스할 수 있지만 "prod" 환경에 배포된 프록시는
액세스할 수 없습니다.
관리 API, 관리 UI 또는 키 값 맵 작업 정책 (장기 지속성 캐싱 참고)을 사용하여 KVM을 만든 후 여기에 있는 함수를 사용하여 데이터를 검색합니다.
훌륭한 KVM 패턴은 KVM 값 캐싱 패턴을 참고하세요.
apigee-access 모듈 및 기타 기능에 대한 소개는 Using the apigee-access
모듈 사용을 참고하세요.
메서드
다음 메서드는 암호화된 KVM과 암호화되지 않은 KVM 모두에서 작동합니다.
getKeyValueMap
var kvm = apigee.getKeyValueMap('kvm_name', 'scope'); var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');
특정 범위 (조직, 환경, API 또는 버전)에서 KVM을 검색합니다. KVM 객체가 반환된 후 getKeys 및 get 함수를 사용하여
키 이름 또는 특정 키 값을 반환합니다.
매개변수:
- kvm_name - 액세스할 KVM의 이름입니다.
- scope - KVM의 범위입니다.
organization,environment, api,또는revision중 하나입니다. - proxy_name - API의 scope 에만 해당하며 API 프록시의 이름입니다.
반환:
KVM 객체입니다.
예:
var apigee = require('apigee-access'); var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
scope를 API로 설정하면 세 번째 매개변수(API 프록시의 이름)가 필요합니다. 예를 들면 다음과 같습니다.
var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');
getKeys
var kvmKeys =
apigee.getKeys(function(err, keys_array);KVM의 모든 키 이름이 포함된 배열을 반환합니다.
매개변수:
-
callback: (필수) 콜백 함수는 다음 두 매개변수를 사용합니다.- 작업이 실패한 경우의 오류 객체.
- 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 });
get
kvm.get('key', function(err,
key_value));KVM 키의 값을 가져옵니다.
매개변수:
-
key: (필수) 캐시에서 항목을 고유하게 식별하는 문자열입니다. -
callback: (필수) 콜백 함수는 다음 두 매개변수를 사용합니다.- 작업이 실패한 경우의 오류 객체.
- 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); });