Truy cập vào bản đồ giá trị khoá trong Node.js

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Bạn có thể sử dụng mô-đun apigee-access để nhận dữ liệu bản đồ khoá giá trị Edge (KVM) của Edge từ trong ứng dụng Node.js. Phương thức truy xuất KVM này là một giải pháp thay thế cho việc sử dụng chính sách Hoạt động bản đồ giá trị khoá để truy xuất dữ liệu KVM trong luồng proxy API.

KVM cho phép lưu trữ dài hạn các cặp khoá/giá trị tuỳ ý mà bạn có thể truy xuất trong thời gian chạy. Ví dụ: bạn có thể lưu trữ giá trị hạn mức, giá trị thời gian hết hạn của mã truy cập OAuth và giá trị thời gian hết hạn của mã làm mới OAuth trong KVM cho từng môi trường triển khai, sau đó truy xuất các giá trị trong mã của bạn.

Bạn có thể tạo KVM ở một trong ba phạm vi: organization, environmentapiproxy. Ví dụ: nếu bạn tạo một KVM ở phạm vi api proxy cho proxy "foo", thì chỉ proxy "foo" mới có thể truy cập KVM; hoặc nếu bạn tạo một KVM ở phạm vi môi trường "kiểm thử", tất cả các proxy API được triển khai trong môi trường "kiểm thử" của tổ chức có thể truy cập KVM, nhưng không có proxy nào được triển khai trong môi trường "sản phẩm" có thể truy cập KVM.

Sau khi bạn tạo KVM bằng API quản lý, giao diện người dùng quản lý hoặc chính sách Hoạt động bản đồ giá trị khoá (xem phần Lưu dữ liệu cố định vào bộ nhớ đệm trong thời gian dài), hãy sử dụng các hàm tại đây để truy xuất dữ liệu.

Để tìm hiểu mẫu KVM tuyệt vời, hãy truy cập https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

Để biết giới thiệu về mô-đun apigee-access và các tính năng khác, hãy xem bài viết Sử dụng mô-đun truy cập apigee.

Phương thức

Các phương pháp sau đây hoạt động trên cả KVM đã mã hoá và chưa mã hoá.


getKeyValueMap

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

Truy xuất KVM ở một phạm vi cụ thể (tổ chức, môi trường, API hoặc bản sửa đổi). Sau khi đối tượng KVM được trả về, hãy sử dụng các hàm getKeysget để trả về tên khoá hoặc một giá trị khoá cụ thể.

Các tham số:

  • kvm_name – Tên của KVM cần truy cập.
  • phạm vi – Phạm vi của KVM. Một trong số organization, environment, api, hoặc revision.
  • proxy_name – Chỉ dành cho phạm vi của api, tên của proxy API.

Trả về:

Đối tượng KVM.

Ví dụ:

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

Nếu đặt scope thành api, thì bạn cần có tham số thứ ba – tên của proxy API. Ví dụ:

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

getKeys

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

Trả về một mảng chứa tên của tất cả các khoá trong KVM.

Các tham số:

  • callback: (Bắt buộc) Hàm callback sử dụng hai tham số:
    • Đối tượng Lỗi nếu thao tác không thành công.
    • Một đối tượng (keys_array trong ví dụ trên) đại diện cho mảng tên khoá KVM.

Trả về:

Một mảng các tên khoá KVM.

Ví dụ:

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

nhận

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

Lấy giá trị của khoá KVM.

Các tham số:

  • key: (Bắt buộc) Một chuỗi xác định duy nhất một mục trong bộ nhớ đệm.

  • callback: (Bắt buộc) Hàm callback sử dụng 2 tham số:

    • Đối tượng Lỗi nếu thao tác không thành công.
    • Đối tượng chứa giá trị khoá KVM dưới dạng Chuỗi.

Ví dụ:

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