Apigee Edge 문서입니다.
Apigee X 문서로 이동하세요. 정보
소개
이 주제에서는 apigee-access
를 사용하여 Node.js 애플리케이션에서 Apigee Edge 할당량 서비스에 액세스하는 방법을 설명합니다. apigee-access를 사용하면 할당량 값을 적용하고 재설정할 수 있습니다.
예
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); });
메서드
apply
할당량 객체의 설정을 수정합니다. 이 메서드를 사용하여 할당량을 늘리거나 줄이고, 시간 간격을 변경하고, 다른 구성을 지정합니다.
사용
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
예
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'); } }
매개변수
apply() 메서드는 객체와 함수라는 두 매개변수를 사용합니다.
(1) 첫 번째 매개변수는 다음 필드가 있는 JSON 객체입니다.
- 식별자 (문자열, 필수): 할당량 버킷의 고유 식별자입니다. 실제로는 애플리케이션 ID, IP 주소 또는 사용자 이름일 수 있습니다.
- timeUnit (문자열, 필수): 재설정될 때까지 할당량 버킷이 누적되는 기간입니다. 유효한 값은 'minute', 'hour', 'day', 'week', 'month'입니다.
- allow (숫자, 필수): 할당량 버킷의 최대 값입니다. 이 값은 현재 값과 결합되어 할당량이 성공했는지 여부를 반환합니다.
- interval (숫자, 선택사항): 'timeUnit'과 결합하여 할당량이 재설정되기까지 걸리는 시간을 결정합니다. 기본값은 1입니다. '2시간', '3주'와 같은 할당량을 허용하려면 더 큰 값으로 설정하세요.
- weight (숫자, 선택사항): 할당량을 늘릴 값입니다. 기본값은 1입니다.
(2) 두 번째 인수는 다음 두 인수가 있는 콜백 함수입니다.
- 첫 번째 인수는 할당량을 증분할 수 없는 경우 Error 객체이고 작업이 성공한 경우에는 정의되지 않습니다.
- 두 번째는 다음 필드를 포함하는 객체입니다.
- 사용됨 (숫자): 할당량 버킷의 현재 값입니다.
- allowed (숫자): 할당량이 초과되었다고 간주되기 전 할당량 버킷의 최대 값입니다. 동일한 값이 요청 객체에서 'allow'로 전달되었습니다.
- isAllowed (불리언): 할당량에 여유가 있는 경우입니다. 'used'가 'allowed'보다 작거나 같은 한 true입니다.
- expiryTime(long): 할당량 버킷이 재설정되는 타임스탬프입니다(1970년 이후 경과된 밀리초).
- timestamp (long): 할당량이 업데이트된 타임스탬프입니다.
예
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'); } }
재설정
할당량을 0으로 재설정하려면 quota.reset()을 호출합니다. 이 메서드에는 두 가지 매개변수가 사용됩니다.-
다음 필드가 있는 JSON 객체:
- 식별자 (문자열, 필수): 할당량 버킷의 고유 식별자입니다. 실제로는 애플리케이션 ID, IP 주소 또는 사용자 이름일 수 있습니다.
- timeUnit (문자열, 필수): 할당량 버킷이 재설정될 때까지 누적되는 시간입니다. 유효한 값은 'minute', 'hour', 'day', 'week', 'month'입니다.
- interval (숫자, 선택사항): 'timeUnit'과 결합하여 할당량이 재설정되기까지 걸리는 시간을 결정합니다. 기본값은 1입니다. '2시간', '3주' 등과 같이 재설정 시간을 허용하려면 더 큰 값으로 설정하세요.
-
콜백 함수:
- 재설정이 실패하면 콜백은 Error 객체를 첫 번째 매개변수로 사용합니다.
고급 할당량 사용 사례
할당량을 만들 때 선택적 'options' 객체를 포함할 수 있습니다. 이 객체에는 선택적 매개변수가 하나 있습니다.- syncInterval(숫자, 선택사항): 분산된 할당량 구현이 네트워크 전반에서 상태를 동기화하는 데 걸리는 시간(초)입니다. 기본값은 10입니다.