सीमाएँ और कोटा
किसी फ़ंक्शन को डिज़ाइन करने से पहले आपको जिन नंबरों की आवश्यकता होती है, और वर्तमान प्लेटफ़ॉर्म के ज्ञात अंतराल।
1. एक समारोह
| आप LIMIT | कीमत | जहाँ से यह आया |
|---|---|---|
| नाम | a-z, A-Z, 0-9, _, - के बीच 1 से 64 अक्षर | तैनाती पर लागू |
| स्रोत का आकार | 20 एमबी | तैनाती पर लागू |
| रनटाइम्स | deno (TypeScript या जावास्क्रिप्ट) और wasm | |
| याद | 16 से 1024 एमबी, डिफ़ॉल्ट 128 | permissions.memory_mb |
| अवधि | 1 से 300 सेकंड, डिफ़ॉल्ट 30 | permissions.timeout_secs |
| आउटबाउंड नेटवर्क | डिफ़ॉल्ट रूप से खुला | permissions.allow_net: खाली न होने पर केवल सूचीबद्ध होस्ट तक पहुँचा जा सकता है |
सीमा के बाहर के मान को 400 के साथ अस्वीकार कर दिया जाता है; इसे कभी भी चुपचाप दबाया नहीं जाता. timeout_secs: 0 के लिए वास्तविक उत्तर: permissions.timeout_secs doit être compris entre 1 et 300 secondes।
पुन: परिनियोजन के बिना अनुमतियाँ बदलें:
केवल आपके द्वारा भेजे गए फ़ील्ड बदलते हैं.
2. एक कॉल
| आप LIMIT | कीमत | स्रोत |
|---|---|---|
| निकाय से अनुरोध करें | 256 KiB के बारे में | माप: 260 केबी उत्तीर्ण, 300 केबी 503 के साथ विफल |
| प्रतिक्रिया निकाय | 256 KiB के बारे में | माप: 250 केबी पारित; 300 केबी ने 50 सेकंड के भीतर कुछ भी नहीं लौटाया |
| कॉल के बीच बताएं | कोई नहीं | प्रत्येक कॉल एक नए पृथक V8 वर्कर में चलती है |
| क्षेत्रों | एक | कोई क्षेत्र चयन नहीं |
प्लेटफ़ॉर्म को पार करने वाला संदेश 1 MiB तक सीमित है और अनुरोध बॉडी का प्रत्येक बाइट चार बार गिना जाता है, इसलिए लगभग 256 KiB से ऊपर की बॉडी को 503 SERVICE_UNAVAILABLE के साथ अस्वीकार कर दिया जाता है। SDK इसे FunctionsRelayError के रूप में रिपोर्ट करता है, जो भ्रामक है: पुनः प्रयास करने से मदद नहीं मिल सकती। हमारे परीक्षण में समान आकार से ऊपर की प्रतिक्रिया बिल्कुल भी नहीं आई। अनुरोधों और प्रतिक्रियाओं को 250 KB से कम रखें और स्टोरेज के माध्यम से बड़ा डेटा भेजें।
3. दर और योजना कोटा
आमंत्रण दर, प्रति ग्राहक आईपी:
| प्रोफ़ाइल | कीमत |
|---|---|
| फोड़ना | 15 कॉल |
| निरंतर | प्रति सेकंड 1 कॉल |
30 त्वरित कॉलों की वास्तविक दौड़ में, 15 ने 200 लौटाया और 15 ने 429 लौटाया। 429 में x-ratelimit-* और retry-after हेडर होते हैं, और SDK विलंब को error.retryAfter के रूप में उजागर करता है।
प्लेटफ़ॉर्म की योजना तालिका से, प्रति योजना मासिक कोटा:
| योजना | आमंत्रण | कुल अवधि |
|---|---|---|
| मुक्त | 100,000 | 6,000,000 एमएस (100 मिनट) |
| प्रो | 1,000,000 | 60,000,000 एमएस (1,000 मिनट) |
| टीम | 10,000,000 | 600,000,000 एमएस (10,000 मिनट) |
| उद्यम | 100,000,000 | 6,000,000,000 एमएस (100,000 मिनट) |
निःशुल्क योजना पर सीमा कठिन है: इससे अधिक कॉल करने पर 403 QUOTA_EXCEEDED से मना कर दिया जाता है। सशुल्क योजनाओं पर तालिका मासिक भत्ता है, और इसके आगे क्या होता है यह आपकी सदस्यता की ओवरएज सेटिंग पर निर्भर करता है। आपके फ़ंक्शन द्वारा उत्तर दिए जाने के बाद कॉल को गिना जाता है, चाहे उसकी स्थिति कुछ भी हो। फ़ंक्शन के उत्तर देने से पहले विफल होने वाली कॉल की गणना नहीं की जाती है। नौकरियाँ और क्रॉन फायरिंग को भी आमंत्रण के रूप में गिना जाता है।
4. नौकरियाँ, क्रॉन और अलर्ट
| आप LIMIT | कीमत |
|---|---|
| नौकरी के प्रयास | 3 डिफ़ॉल्ट रूप से, प्रति कार्य maxAttempts के साथ सेट करें |
| प्रयासों के बीच विलंब | 5 एस, निश्चित |
| प्रति सेवा उदाहरण समानांतर नौकरियां | डिफ़ॉल्ट रूप से 8 |
| चालू पट्टा | 450 एस, तो नौकरी पुनः प्राप्त हो जाती है |
| ख़त्म हो चुके काम रखे हुए हैं | डिफ़ॉल्ट रूप से 14 दिन |
listJobs पेज | 1 से 500, डिफ़ॉल्ट 50 |
| क्रॉन शेड्यूल | 5 या 6 फ़ील्ड, यूटीसी, कोई उपनाम नहीं |
| अलर्ट जांच | हर 60 से |
ये कार्य मान सेवा सेटिंग्स हैं: JOB_MAX_RETRIES, JOB_RETRY_DELAY_SECS, WORKER_CONCURRENCY, JOB_RUNNING_LEASE_SECS और JOB_RETENTION_DAYS। प्रबंधित परिनियोजन के मूल्यों के लिए अपने प्लेटफ़ॉर्म ऑपरेटर से पूछें।
5. ज्ञात अंतराल
- किसी फ़ंक्शन के स्वयं के लॉग तक पहुंच नहीं। कोई फ़ंक्शन
console.logयाconsole.errorके साथ जो लिखता है वह रनटाइम के लॉग में रहता है, जिसे केवल प्लेटफ़ॉर्म ऑपरेटर ही पढ़ सकता है।aura functions logsअनुरोध (विधि, पथ, स्थिति, अवधि, अनुरोध आईडी) दिखाता है, वह आउटपुट नहीं। प्रतिक्रिया में आपको आवश्यक जानकारी लौटाएँ, या अपनी स्वयं की लॉगिंग सेवा को भेजें। - फ़ंक्शन के अंदर कोई अनुरोध आईडी नहीं। कॉल का पहचानकर्ता फ़ंक्शन पर अग्रेषित नहीं किया जाता है।
- कोई संस्करण या रोलबैक नहीं। परिनियोजन कोड को प्रतिस्थापित करता है। पिछले संस्करण को अपने भंडार में रखें।
- कोई स्ट्रीमिंग नहीं। एसडीके तक पहुंचने से पहले पूरी प्रतिक्रिया बफर हो जाती है।
- खाली
allow_netकुछ भी प्रतिबंधित नहीं करता। नेटवर्क डिफ़ॉल्ट रूप से खुला है; इसे प्रतिबंधित करने के लिए अपने होस्ट सूचीबद्ध करें। - स्थानीय अनुकरण आंशिक है।
aura functions serveआपकी फ़ाइल को Deno के साथ चलाता है लेकिन प्लेटफ़ॉर्म रूट, हेडर या सीमा को पुन: उत्पन्न नहीं करता है।