Node.js'de kota hizmetine erişme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Giriş

Bu konuda, Node.js uygulamasından Apigee Edge kota hizmetine erişmek için apigee-access hizmetinin nasıl kullanılacağı açıklanmaktadır. Apigee-access ile kota değerlerini uygulayabilir ve sıfırlayabilirsiniz.

Örnek

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);
    });

Yöntemler


uygulamak

Bir Kota nesnesindeki ayarları değiştirir. Kotayı artırmak veya azaltmak, zaman aralıklarını değiştirmek ve başka yapılandırmalar yapmak için bu yöntemi kullanın.

Kullanım

var apigee = require('apigee-access');
var quota = apigee.getQuota();
quota.apply({parameters}, callback);

Örnek

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'); }
                }       

Parametreler

app() yöntemi, bir nesne ve bir işlev olmak üzere iki parametre alır:

(1) İlk parametre, şu alanlara sahip bir JSON nesnesidir:

  • identifier (dize, gerekli): Kota paketinin benzersiz tanımlayıcısı. Pratikte bu bir uygulama kimliği, IP adresi veya kullanıcı adı olabilir.
  • timeUnit (dize, gerekli): Kota paketinin sıfırlanana kadar birikeceği süre. Geçerli değerler "dakika", "saat", "gün", "hafta" ve "ay"dır.
  • allow (sayı, gerekli): Kota paketi için maksimum değer. Bu değer, kotanın başarılı olup olmadığının döndürülmesi için mevcut değerle birleştirilir.
  • interval (sayı, isteğe bağlı): Kotanın sıfırlanması için ne kadar süre kaldığını belirlemek için "timeUnit" ile birlikte. Varsayılan değer 1'dir. "İki saat", "üç hafta" gibi kotalara izin vermek için daha büyük bir değere ayarlayın.
  • weight (sayı, isteğe bağlı): Kotanın artırılacağı değer. Varsayılan değer, 1'dir.

(2) İkinci bağımsız değişken, aşağıdaki iki bağımsız değişkenle birlikte bir geri çağırma işlevidir:

  • Kota artırılamazsa ilk bağımsız değişken bir Hata nesnesidir. İşlem başarılı olduysa bu değişken tanımsızdır.
  • İkincisi, aşağıdaki alanları içeren bir nesnedir:
    • used (sayı): Kota paketinin mevcut değeri.
    • allowed (sayı): Kotanın aşıldığı kabul edilmeden önceki kota paketinin maksimum değeri. Aynı değer, istek nesnesinde "allow" olarak geçirildi.
    • isAllowed (boole): Kotada alan kaldıysa "used", "allowed" değerinden küçük veya bu değere eşit olduğu sürece true.
    • expiryTime (long): Kota paketinin sıfırlanacağı, 1970 biçiminden itibaren milisaniye cinsinden zaman damgası.
    • timestamp (long): Kotanın güncellendiği zaman damgası.

Örnek

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'); }
}

sıfırla

Kotayı sıfıra sıfırlamak için kota.reset() çağrısı yapın. Bu yöntem iki parametre alır:
  • Şu alanlara sahip bir JSON nesnesi:
    • identifier (dize, gerekli): Kota paketinin benzersiz tanımlayıcısı. Pratikte bu bir uygulama kimliği, IP adresi veya kullanıcı adı olabilir.
    • timeUnit (dize, gerekli): Kota paketinin sıfırlanana kadar birikeceği süre. Geçerli değerler "dakika", "saat", "gün", "hafta" ve "ay"dır.
    • interval (sayı, isteğe bağlı): Kotanın ne kadar süre önce sıfırlanacağını belirlemek için "timeUnit" ile birlikte. Varsayılan değer 1'dir. Sıfırlama sürelerine izin vermek için "iki saat", "üç hafta" gibi daha büyük bir değere ayarlayın.
  • Geri çağırma işlevi:
    • Sıfırlama başarısız olursa geri çağırma, ilk parametre olarak bir Hata nesnesi alır.

Gelişmiş Kota kullanım alanı

Bir kota oluştururken isteğe bağlı bir "seçenekler" nesnesi ekleyebilirsiniz. Bu nesnenin isteğe bağlı bir parametresi vardır:
  • syncInterval (sayı, isteğe bağlı): Dağıtılmış kota uygulamasının durumunu ağ genelinde senkronize ettiği saniye sayısı. Varsayılan değer 10'dur.
Ağ genelinde dağıtılmış kotanın performansını optimize etmek için bu parametreyi kullanın. Daha düşük bir ayar, performansı düşürür ve "uygulama" işleminin gecikmesini önemli ölçüde artırır. Varsayılan 10 saniye ayarı, birçok uygulama için iyi bir ayardır. Aralık sıfır gibi düşük bir değere ayarlanabilir. Bu, "uygulama" her çağrıldığında durumun senkronize edildiği anlamına gelir. Bu durumda performans çok daha kötü olur.