دسترسی به نقشه های مقادیر کلیدی در Node.js

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

شما می‌توانید از ماژول 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 با API مدیریت، رابط کاربری مدیریت یا سیاست عملیات نقشه ارزش کلیدی ( به ذخیره‌سازی بلندمدت با ماندگاری بالا مراجعه کنید)، از توابع اینجا برای بازیابی داده‌ها استفاده کنید.

برای یک الگوی عالی KVM، به الگویی برای ذخیره‌سازی مقادیر KVM مراجعه کنید.

برای آشنایی با ماژول apigee-access و سایر ویژگی‌های آن، به بخش «استفاده از ماژول apigee-access» مراجعه کنید.

روش‌ها

روش‌های زیر هم روی KVM های رمزگذاری شده و هم رمزگذاری نشده کار می‌کنند.


دریافت نقشه کلید و مقدار

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

یک KVM را در یک محدوده خاص (سازمان، محیط، API یا نسخه) بازیابی می‌کند. پس از بازگرداندن شیء KVM، از توابع getKeys و get برای بازگرداندن نام کلیدها یا یک مقدار کلید خاص استفاده کنید.

پارامترها:

  • kvm_name - نام KVM که قرار است به آن دسترسی داشته باشید.
  • دامنه - دامنه KVM. یکی از organization ، environment, api, یا revision .
  • proxy_name - فقط برای محدوده api ، نام پروکسی API.

بازده:

یک شیء KVM.

مثال:

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

اگر دامنه را روی api تنظیم کنید، یک پارامتر سوم لازم است - نام پروکسی API. برای مثال:

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

دریافت کلیدها

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

آرایه‌ای شامل نام تمام کلیدهای موجود در KVM را برمی‌گرداند.

پارامترها:

  • تابع callback از دو پارامتر استفاده می‌کند:
    • یک شیء خطا (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
});

دریافت

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);
});