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.