Sınırlar ve kotalar
Bir fonksiyonu tasarlamadan önce ihtiyacınız olan sayılar ve mevcut platformun bilinen boşlukları.
1. Bir işlev
| Sınır | Değer | Nereden geliyor? |
|---|---|---|
| İsim | a-z, A-Z, 0-9, _, - arasında 1 ila 64 karakter | Dağıtım sırasında zorunlu kılındı |
| Kaynak boyutu | 20 MB | Dağıtım sırasında zorunlu kılındı |
| Çalışma zamanları | deno (TypeScript veya JavaScript) ve wasm | |
| Bellek | 16 - 1024 MB, varsayılan 128 | permissions.memory_mb |
| Süre | 1 - 300 sn, varsayılan 30 | permissions.timeout_secs |
| Giden ağ | Varsayılan olarak açık | permissions.allow_net: boş değilse yalnızca listelenen ana makinelere ulaşılabilir |
Sınırların dışındaki bir değer 400 ile reddedilir; asla sessizce kenetlenmez. timeout_secs: 0 için gerçek cevap: permissions.timeout_secs doit être compris entre 1 et 300 secondes.
Yeniden konuşlandırmadan izinleri değiştirin:
Yalnızca gönderdiğiniz alanlar değişir.
2. Bir çağrı
| Sınır | Değer | Kaynak |
|---|---|---|
| Talep gövdesi | 256 KiB Hakkında | Ölçülen: 260 KB geçti, 300 KB 503 ile başarısız oldu |
| Yanıt gövdesi | 256 KiB Hakkında | Ölçülen: 250 KB geçti; 300 KB 50 saniye içinde hiçbir şey döndürmedi |
| Aramalar arasındaki durum | Yok | Her çağrı yeni izole edilmiş bir V8 çalışanında çalışır |
| Bölgeler | Bir | Bölge seçimi yok |
Platformdan geçen mesaj 1 MiB ile sınırlıdır ve istek gövdesinin her baytı dört kez sayılır, dolayısıyla yaklaşık 256 KiB'nin üzerindeki bir gövde 503 SERVICE_UNAVAILABLE ile reddedilir. SDK bunu FunctionsRelayError olarak rapor ediyor ve bu yanıltıcıdır: yeniden denemek yardımcı olamaz. Testimizde aynı boyutun üzerinde bir yanıt hiç geri gelmedi. İstekleri ve yanıtları 250 KB'nin altında tutun ve Depolama aracılığıyla daha büyük veriler gönderin.
3. Kotaları derecelendirin ve planlayın
İstemci IP'si başına çağrı oranı:
| Profil | Değer |
|---|---|
| Patlama | 15 arama |
| Sürekli | Saniyede 1 çağrı |
30 hızlı aramadan oluşan gerçek bir çalışmada, 15'i 200 ve 15'i 429 döndürdü. Bir 429, x-ratelimit-* ve retry-after üstbilgilerini taşır ve SDK, gecikmeyi error.retryAfter olarak gösterir.
Platformun plan tablosundan plan başına aylık kotalar:
| Planı | Çağrılar | Toplam süre |
|---|---|---|
| Ücretsiz | 100,000 | 6.000.000 ms (100 dakika) |
| Profesyonel | 1,000,000 | 60.000.000 ms (1.000 dakika) |
| Takım | 10,000,000 | 600.000.000 ms (10.000 dk) |
| kurumsal | 100,000,000 | 6.000.000.000 ms (100.000 dk) |
Ücretsiz planda sınır zordur: Bu sınırı aşan bir çağrı 403 QUOTA_EXCEEDED ile reddedilir. Ücretli planlarda tablo aylık ödeneği gösterir ve bunun ötesinde ne olacağı aboneliğinizin aşım ayarına bağlıdır. Durumu ne olursa olsun, işleviniz yanıt verdiğinde bir çağrı sayılır. İşlev yanıt vermeden önce başarısız olan bir çağrı sayılmaz. İşler ve cron işten çıkarmaları da çağrı olarak sayılır.
4. İşler, cron ve uyarılar
| Sınır | Değer |
|---|---|
| İş girişimleri | Varsayılan olarak 3, iş başına maxAttempts ile ayarlanır |
| Denemeler arasındaki gecikme | 5 sn, sabit |
| Hizmet örneği başına paralel işler | varsayılan olarak 8 |
| Devam eden kiralama | 450 s sonra iş geri alınır |
| Biten işler tutuldu | Varsayılan olarak 14 gün |
listJobs sayfası | 1 ila 500, varsayılan 50 |
| Cron programı | 5 veya 6 alan, UTC, takma ad yok |
| Uyarı kontrolü | Her 60 saniyede bir |
Bu iş değerleri hizmet ayarlarıdır: JOB_MAX_RETRIES, JOB_RETRY_DELAY_SECS, WORKER_CONCURRENCY, JOB_RUNNING_LEASE_SECS ve JOB_RETENTION_DAYS. Yönetilen dağıtımın değerlerini platform operatörünüzden isteyin.
5. Bilinen boşluklar
- Bir fonksiyonun kendi günlüklerine erişim yok. Bir fonksiyonun
console.logveyaconsole.errorile yazdıkları, yalnızca platform operatörünün okuyabileceği çalışma zamanı günlüklerinde kalır.aura functions logsistekleri (yöntem, yol, durum, süre, istek kimliği) gösterir, çıktıyı değil. İhtiyacınız olan bilgiyi yanıtta gönderin veya kendi kayıt hizmetinize gönderin. - Fonksiyonun içinde istek kimliği yok. Bir çağrının tanımlayıcısı işleve iletilmez.
- Sürüm veya geri alma yok. Dağıtım kodun yerini alır. Önceki sürümü deponuzda saklayın.
- Akış yok. Yanıtın tamamı SDK'ya ulaşmadan önce ara belleğe alınır.
- Boş bir
allow_nethiçbir şeyi kısıtlamaz. Ağ varsayılan olarak açıktır; kısıtlamak için ana makinelerinizi listeleyin. - Yerel öykünme kısmidir.
aura functions servedosyanızı Deno ile çalıştırır ancak platform yolunu, üstbilgilerini veya sınırlarını yeniden oluşturmaz.