Node.js'de kota hizmetine erişme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Giriş

Bu konuda, Apigee Edge kotasına erişmek için apigee-access ürününün nasıl kullanılacağı açıklanmaktadır. bir hizmetten bahsetmek istiyorum. Apigee-access ile uygulanabilir ve kota değerlerini 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


uygulama

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

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

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

(1) İlk parametre, aşağıdaki alanlara sahip bir JSON nesnesidir:

  • identifier (dize, gerekli): Benzersiz tanımlayıcısını kullanabilirsiniz. Pratikte bu bir uygulama kimliği, IP adresi veya kullanıcı adı.
  • timeUnit (dize, gerekli): Kotanın uzunluğu paket, sıfırlanıncaya kadar birikmeye devam eder. Geçerli değerler "minute", "saat", "gün", "hafta", ve "ay"dır.
  • allow (sayı, gerekli): İzin verilen maksimum değer belirler. Bu değer, kotası başarılı.
  • interval (sayı, isteğe bağlı): "zaman Birimi" kotanın sıfırlanmasına ne kadar süre kaldığını belirleyin. Varsayılan değer 1'dir. Daha büyük bir değere ayarla "iki saat" gibi kotalara izin verecek şekilde "üç hafta", vb.
  • ağırlık (sayı, isteğe bağlı): kota artışını artırır. Varsayılan değer, 1'dir.

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

  • Kotanın hatalı olması durumunda ilk bağımsız değişken Hata nesnesidir artar veya işlem başarılıysa tanımlanamaz.
  • İkincisi ise aşağıdaki alanları içeren bir nesnedir:
    • used (sayı): Mevcut değer, kota paketidir.
    • allowed (sayı): kota paketinin aşılması anlamına gelir. Şununla aynı değer geçirildi: "izin ver" eklememiz gerekir.
    • isAllowed (boole): Yer kaldıysa kotaya girmelisiniz -- "kullanılmış" olduğu sürece doğru "izin verildi" değerinden küçük veya bu değere eşittir.
    • expiryTime (long): Zaman damgası, milisaniye cinsinden süre tahmini.
    • timestamp (uzun): Zaman damgası kota güncellendi.

Ö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ırlama

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

Gelişmiş Kota kullanım alanı

Kota oluştururken isteğe bağlı bir "seçenekler" nesnesini tanımlayın. Bu nesnenin bir isteğe bağlı parametresi var:
  • syncInterval (sayı, isteğe bağlı): dağıtılmış kota uygulaması, durumunu ağ genelinde senkronize eder. Varsayılan değer 10'dur.
Ağ genelinde dağıtılmış kotanın performansını optimize etmek için bu parametreyi kullanın. Sakla düşük bir ayarın performansı düşüreceğini ve gecikmeyi önemli ölçüde artıracağını unutmayın. "uygula" işlemidir. Varsayılan 10 saniye ayarı, birçok uygulama için iyi bir ayardır. Aralık sıfıra kadar düşük bir değere ayarlanabilir. Bu, durumun her seferinde senkronize edildiği anlamına gelir. "uygula" çağrılır. Bu durumda performans çok daha düşük olur.