คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
คุณสามารถใช้โมดูล apigee-access
เพื่อรับข้อมูลการแมปคีย์-ค่า (KVM) ของ Edge จากภายในแอปพลิเคชัน Node.js วิธีการดึงข้อมูล KVM นี้เป็นทางเลือกในการใช้นโยบายการดำเนินการของแผนที่คีย์-ค่าเพื่อดึงข้อมูล KVM ในโฟลว์พร็อกซี API
KVM เก็บคู่คีย์/ค่าที่กำหนดเองไว้อย่างถาวรในระยะยาว ซึ่งคุณจะเรียกดูได้ในรันไทม์ เช่น คุณสามารถจัดเก็บค่าโควต้า ค่าการหมดอายุของโทเค็นการเข้าถึง OAuth และค่าการหมดอายุของโทเค็นการรีเฟรช OAuth ใน KVM สําหรับสภาพแวดล้อมการทําให้ใช้งานได้แต่ละรายการ จากนั้นเรียกค่าเหล่านั้นในโค้ด
คุณสร้าง KVM ได้ที่ขอบเขตใดขอบเขตหนึ่งต่อไปนี้ organization
,
environment
และ apiproxy
เช่น หากคุณสร้าง KVM ที่ขอบเขต apiproxy สำหรับพร็อกซี "foo" จะมีเพียงพร็อกซี "foo" เท่านั้นที่เข้าถึง KVM ได้ หรือหากคุณสร้าง KVM ที่ขอบเขตสภาพแวดล้อม "test" พร็อกซี API ทั้งหมดที่ติดตั้งใช้งานในสภาพแวดล้อม "test" ขององค์กรจะเข้าถึง KVM ได้ แต่พร็อกซีทั้งหมดที่ติดตั้งใช้งานในสภาพแวดล้อม "prod" จะเข้าถึงไม่ได้
หลังจากสร้าง KVM ด้วย Management API, UI การจัดการ หรือนโยบายการดำเนินการกับแผนที่คีย์-ค่า (ดูการแคชข้อมูลถาวรระยะยาว) ให้ใช้ฟังก์ชันที่นี่เพื่อเรียกข้อมูล
ดูรูปแบบ KVM ที่ยอดเยี่ยมได้ที่ https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html
ดูข้อมูลเบื้องต้นเกี่ยวกับข้อบังคับ apigee-access
และฟีเจอร์อื่นๆ ได้ที่การใช้ข้อบังคับ apigee-access
เมธอด
วิธีการต่อไปนี้ใช้ได้กับทั้ง KVM ที่เข้ารหัสและไม่เข้ารหัส
getKeyValueMap
var kvm = apigee.getKeyValueMap('kvm_name', 'scope'); var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');
เรียกข้อมูล KVM ที่ขอบเขตเฉพาะ (องค์กร, สภาพแวดล้อม, API หรือการแก้ไข) หลังจากระบบแสดงออบเจ็กต์ KVM แล้ว ให้ใช้ฟังก์ชัน getKeys
และ get
เพื่อแสดงชื่อคีย์หรือค่าคีย์ที่เฉพาะเจาะจง
พารามิเตอร์:
- 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');
หากคุณตั้งค่า scope เป็น api คุณจะต้องระบุพารามิเตอร์ที่ 3 ซึ่งเป็นชื่อของพร็อกซี API เช่น
var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');
getKeys
var kvmKeys =
apigee.getKeys(function(err, keys_array);
ส่งคืนอาร์เรย์ที่มีชื่อของคีย์ทั้งหมดใน KVM
พารามิเตอร์:
-
callback
: (ต้องระบุ) ฟังก์ชัน Callback ใช้พารามิเตอร์ 2 รายการดังนี้- ออบเจ็กต์ Error หากการดำเนินการไม่สำเร็จ
- ออบเจ็กต์ (
keys_array
ในตัวอย่างด้านบน) ที่แสดงอาร์เรย์ของชื่อคีย์ KVM
การคืนสินค้า:
อาร์เรย์ของชื่อคีย์ 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
: (ต้องระบุ) ฟังก์ชัน Callback ใช้พารามิเตอร์ 2 รายการดังนี้- ออบเจ็กต์ข้อผิดพลาดหากการดำเนินการล้มเหลว
- ออบเจ็กต์ที่มีค่าคีย์ 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); });