Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Giới thiệu
Chủ đề này giải thích cách dùng apigee-access
để truy cập vào hạn mức Apigee Edge
từ ứng dụng Node.js. Với quyền truy cập apigee, bạn có thể đăng ký và
đặt lại các giá trị hạn mức.
Ví dụ:
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({ identifier: 'Foo', allow: 10, timeUnit: 'hour' }, function(err, result) { console.log('Quota applied: %j', result); });
Phương thức
đăng ký
Sửa đổi chế độ cài đặt trên đối tượng Hạn mức. Hãy sử dụng phương thức này để tăng hoặc giảm hạn mức, thay đổi khoảng thời gian và thực hiện các cấu hình khác.
Cách sử dụng
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Ví dụ:
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
Tham số
Phương thức apply() nhận hai tham số: một đối tượng và một hàm:
(1) Tham số đầu tiên là đối tượng JSON có các trường sau:
- identifier (chuỗi, bắt buộc): Một giá trị duy nhất giá trị nhận dạng của bộ chứa hạn mức. Trong thực tế, đó có thể là mã ứng dụng, địa chỉ IP hoặc tên người dùng.
- timeUnit (chuỗi, bắt buộc): Hạn mức trong bao lâu bộ chứa sẽ tích luỹ cho đến khi được đặt lại. Giá trị hợp lệ là "phút" "giờ" "ngày" "tuần" và "tháng".
- allow (số, bắt buộc): Giá trị tối đa cho bộ chứa hạn mức. Giá trị này sẽ được kết hợp với giá trị hiện tại để trả về kết quả hạn mức đã thành công.
- interval (số, không bắt buộc): Kết hợp với "timeUnit" để xác định khoảng thời gian trước khi hạn mức được đặt lại. Giá trị mặc định là 1. Đặt thành phạm vi lớn hơn để cho phép các hạn mức, chẳng hạn như "2 giờ," "3 tuần", và cứ tiếp tục như vậy.
- weight (số, không bắt buộc): Giá trị để sẽ tăng hạn mức lên. Giá trị mặc định là 1.
(2) Đối số thứ hai là một hàm callback với hai đối số:
- Đối số đầu tiên là đối tượng Lỗi nếu không thể tăng dần hoặc không xác định nếu thao tác thành công.
- Thứ hai là một đối tượng chứa các trường sau:
- used (số): Giá trị hiện tại của bộ chứa hạn mức.
- đã cho phép (số): Giá trị tối đa của bộ chứa hạn mức trước khi hạn mức được coi là vượt quá. Cùng một giá trị đã được chuyển như "cho phép" trong đối tượng yêu cầu.
- isAllowed (boolean): Nếu còn chỗ trong hạn mức -- true miễn là "đã qua sử dụng" nhỏ hơn hoặc bằng "được phép".
- expiryTime (dài): Dấu thời gian, tính bằng mili giây kể từ định dạng năm 1970, khi bộ chứa hạn mức sẽ được đặt lại.
- timestamp (dài): Dấu thời gian mà tại đó đã cập nhật hạn mức.
Ví dụ:
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); // Apply a quota of 500 requests per five minutes quota.apply({ identifier: 'Bar', timeUnit: 'minute', interval: 5, allow: 500 }, quotaResult); // Increment the quota by a value of 10 quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100, weight: 10 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
đặt lại
Để đặt lại hạn mức về 0, hãy gọi error.reset(). Phương thức này nhận 2 tham số:-
Đối tượng JSON có các trường sau:
- identifier (chuỗi, bắt buộc): Giá trị nhận dạng duy nhất của hạn mức bộ chứa. Trong thực tế, đó có thể là mã ứng dụng, địa chỉ IP hoặc tên người dùng.
- timeUnit (chuỗi, bắt buộc): Khoảng thời gian mà nhóm hạn mức sẽ tích luỹ cho đến khi thiết bị được đặt lại. Giá trị hợp lệ là "phút" "giờ" "ngày" "tuần" và "tháng".
- interval (số, không bắt buộc): Kết hợp với "timeUnit" để xác định khoảng thời gian trước khi hạn mức được đặt lại. Giá trị mặc định là 1. Hãy đặt giá trị lớn hơn để cho phép đặt lại chẳng hạn như "2 giờ", "3 tuần", và cứ tiếp tục như vậy.
-
Hàm callback:
- Lệnh gọi lại lấy đối tượng Lỗi làm tham số đầu tiên nếu quá trình đặt lại không thành công.
Trường hợp sử dụng Hạn mức nâng cao
Khi tạo hạn mức, bạn có thể thêm "options" tuỳ chọn . Đối tượng này có một tham số không bắt buộc:- syncInterval (số, không bắt buộc): Số giây mà hạn mức được phân phối sẽ đồng bộ hoá trạng thái của nó trên mạng. Giá trị mặc định là 10.