현재 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); });
방법
적용
할당량 객체의 설정을 수정합니다. 할당량을 늘리거나 줄이고, 시간 간격을 변경하고, 다른 구성을 만들려면 이 메서드를 사용합니다.
사용
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 (문자열, 필수): 재설정될 때까지 할당량 버킷이 누적되는 시간입니다. 유효한 값은 '분', '시간', '일', '주', '월'입니다.
- allow (숫자, 필수): 할당량 버킷의 최댓값입니다. 이 값은 현재 값과 결합되어 할당량이 성공했는지 여부를 반환합니다.
- interval (숫자, 선택사항): 'timeUnit'과 결합하여 할당량이 재설정되기까지 걸리는 시간을 결정합니다. 기본값은 1입니다. '2시간', '3주' 등의 할당량을 허용하려면 더 큰 값으로 설정합니다.
- weight (숫자, 선택사항): 할당량을 증가시킬 값입니다. 기본값은 1입니다.
(2) 두 번째 인수는 다음 두 인수가 있는 콜백 함수입니다.
- 첫 번째 인수는 할당량을 늘릴 수 없는 경우 오류 객체이고, 작업이 성공하면 정의되지 않습니다.
- 두 번째는 다음 필드가 포함된 객체입니다.
- used (숫자): 할당량 버킷의 현재 값입니다.
- allowed (숫자): 할당량이 초과된 것으로 간주되기 전의 할당량 버킷 최댓값입니다. 동일한 값이 요청 객체에서 '허용'으로 전달되었습니다.
- 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으로 재설정하려면 할당량.reset()을 호출합니다. 이 메서드는 다음 두 매개변수를 사용합니다.-
다음 필드가 있는 JSON 객체:
- 식별자 (문자열, 필수): 할당량 버킷의 고유 식별자입니다. 실제로는 애플리케이션 ID, IP 주소 또는 사용자 이름일 수 있습니다.
- timeUnit (문자열, 필수): 재설정될 때까지 할당량 버킷이 누적되는 시간입니다. 유효한 값은 '분', '시간', '일', '주', '월'입니다.
- interval (숫자, 선택사항): 'timeUnit'과 결합하여 할당량이 재설정되기까지 걸리는 시간을 결정합니다. 기본값은 1입니다. 재설정 시간을 허용할 수 있도록 '2시간', '3주' 등의 더 큰 값으로 설정합니다.
-
콜백 함수:
- 재설정에 실패하면 콜백은 Error 객체를 첫 번째 매개변수로 사용합니다.
고급 할당량 사용 사례
할당량을 만들 때 선택적 '옵션' 객체를 포함할 수 있습니다. 이 객체에는 선택적 매개변수가 하나 있습니다.- syncInterval(숫자, 선택사항): 분산 할당량 구현이 네트워크 전체에서 상태를 동기화하는 시간(초)입니다. 기본값은 10입니다.