Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동하세요. info
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 패턴은 KVM 값 캐싱 패턴을 참고하세요.
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 객체가 반환된 후 getKeys 및 get 함수를 사용하여 키 이름 또는 특정 키 값을 반환합니다.
매개변수:
- kvm_name - 액세스할 KVM의 이름입니다.
- scope - KVM의 범위입니다.
organization,environment, api,또는revision중 하나입니다. - proxy_name - scope가 api인 경우에만 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: (필수) 콜백 함수는 다음 두 매개변수를 사용합니다.- 작업이 실패한 경우의 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 });
get
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); });