Node.js에서 할당량 서비스에 액세스

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

소개

이 주제에서는 apigee-access를 사용하여 Apigee Edge 할당량에 액세스하는 방법을 설명합니다. 서비스 계정 내 사용자 인증 정보를 제공합니다 Apigee 액세스로 이 기능을 적용하고 할당량 값을 재설정합니다.

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 (문자열, 필수): 할당량 재설정될 때까지 누적됩니다 유효한 값은 'minute'입니다. '시간' 'day' '주', 및 'month.'
  • allow (숫자, 필수): 지정할 수도 있습니다 이 값은 현재 값과 결합되어 할당량에 성공했습니다.
  • interval (숫자, 선택사항): 'timeUnit' 할당량이 재설정되기까지 걸리는 시간을 결정합니다 기본값은 1입니다. 더 큰 값으로 설정 '2시간'과 같은 할당량을 허용하는 '3주' 등등.
  • 가중치 (숫자, 선택사항): 할당량을 늘려야 합니다 기본값은 1입니다.

(2) 두 번째 인수는 이 두 개가 있는 콜백 함수입니다. 인수:

  • 할당량을 계산할 수 없는 경우 첫 번째 인수는 오류 객체입니다. 증분되거나, 작업이 성공한 경우 정의되지 않습니다.
  • 두 번째는 다음 필드를 포함하는 객체입니다. <ph type="x-smartling-placeholder">
      </ph>
    • used (숫자): 현재 값을 할당량 버킷과 일치합니다
    • allowed (숫자): 할당량을 초과하는 것으로 간주되기 전에 할당량 버킷이 초과될 때까지 기다릴 필요가 없습니다. 동일한 값이 "허용" 요청 객체에 포함됩니다.
    • isAllowed (불리언): 남은 공간이 있는 경우 최대 할당량: '사용된' 경우 true '허용됨'보다 작거나 같음
    • expiryTime (long): 타임스탬프 밀리초 단위로 표시됩니다.
    • 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()을 호출하는 약식 표현입니다. 이 메서드는 다음 두 매개변수를 사용합니다.
<ph type="x-smartling-placeholder">
    </ph>
  • 다음 필드가 있는 JSON 객체: <ph type="x-smartling-placeholder">
      </ph>
    • 식별자 (문자열, 필수): 할당량의 고유 식별자입니다. 버킷과 동기화할 수 있습니다 실제로는 애플리케이션 ID, IP 주소 또는 사용자 이름일 수 있습니다.
    • timeUnit (문자열, 필수): 할당량 버킷이 누적되는 기간 재설정될 때까지 계속 작동합니다. 유효한 값은 'minute'입니다. '시간' 'day' '주', '월'을 선택할 수 있습니다.
    • interval (숫자, 선택사항): 'timeUnit'과 결합됩니다. 판단하기 위해 얼마나 걸릴지를 결정합니다 기본값은 1입니다. 재설정을 허용하려면 더 큰 값으로 설정하세요. "2시간", '3주' 등등.
  • 콜백 함수: <ph type="x-smartling-placeholder">
      </ph>
    • 재설정에 실패하면 콜백이 Error 객체를 첫 번째 매개변수로 취합니다.

고급 할당량 사용 사례

할당량을 만들 때 선택사항인 '옵션' 객체를 지정합니다. 이 객체에는 하나의 선택적 매개변수가 있습니다. <ph type="x-smartling-placeholder">
    </ph>
  • syncInterval (숫자, 선택사항): 현재 실행 중인 분산 할당량 구현은 네트워크 전체에서 상태를 동기화합니다. 기본값은 10입니다.
이 매개변수를 사용하여 네트워크 전체에 분산 할당량의 성능을 최적화합니다. 유지 설정을 낮게 설정하면 성능이 저하되고 '적용' 연산으로 해석됩니다. 대부분의 애플리케이션에서는 기본 설정인 10초가 적합합니다. 간격은 0으로 설정할 수 있습니다. 즉, 상태가 매번 동기화됩니다. '적용' 알 수 있습니다. 이 경우에는 성능이 훨씬 더 나빠집니다.