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 sử dụng apigee-access
để truy cập vào dịch vụ hạn mức Apigee Edge từ một ứng dụng Node.js. Với quyền truy cập API, bạn có thể áp dụng và
đặt lại 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
áp dụng
Sửa đổi chế độ cài đặt cho đố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'); } }
Thông số
Phương thức apply() nhận 2 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): Giá trị nhận dạng duy nhất của nhóm 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): Khoảng thời gian mà bộ chứa hạn mức sẽ tích luỹ cho đến khi được đặt lại. Các 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 của nhóm 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ả xem hạn mức có thành công hay khô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 đặt lại hạn mức. Giá trị mặc định là 1. Thiết lập thành giá trị lớn hơn để cho phép các hạn mức như "2 giờ", "3 tuần", v.v.
- weight (số, không bắt buộc): Giá trị cần tăng hạn mức. Giá trị mặc định là 1.
(2) Đối số thứ hai là hàm callback có hai đối số sau:
- Đối số đầu tiên là đối tượng Lỗi nếu không thể tăng hạn mức 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 nhóm hạn mức.
- allow (number): Giá trị tối đa của bộ chứa hạn mức trước khi chúng tôi coi là vượt quá hạn mức. Giá trị đó cũng được truyền dưới dạng "allow" trong đối tượng yêu cầu.
- isAllowed (boolean): Nếu còn hạn mức trong hạn mức, tức là giá trị "đã qua sử dụng" có giá trị nhỏ hơn hoặc bằng "đã cho 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 (long): Dấu thời gian mà tại đó hạn mức được cập nhật.
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 restricted.reset(). Phương thức này có 2 thông 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 nhóm 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): Khoảng thời gian mà bộ chứa hạn mức sẽ tích luỹ cho đến khi được đặt lại. Các 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 đặt lại hạn mức. Giá trị mặc định là 1. Đặt thành một giá trị lớn hơn để cho phép đặt lại các lần, chẳng hạn như "2 giờ", "3 tuần", v.v.
-
Hàm callback:
- Lệnh gọi lại lấy đối tượng Error (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 một đối tượng "options" (tuỳ chọn) không bắt buộc. Đố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à quá trình triển khai hạn mức được phân phối đồng bộ hoá trạng thái trên mạng. Giá trị mặc định là 10.