Firebase Cloud Functions — Firebase hodisalariga, HTTPS so'rovlariga va Google bulut xizmatlaridagi o'zgarishlarga javob beradigan, boshqariladigan Node.js muhitida kodni bajarish uchun server platformasidir. An'anaviy backenddan farqli o'laroq, dasturchiga server sozlash, veb-server o'rnatish yoki masshtablash haqida qayg'urish kerak emas — har bir funksiya izolyatsiya qilingan konteynerda bajariladi va kerakli darajada resurslarni avtomatik oladi. Google Firebase (2026) ma'lumotlariga ko'ra, platforma har kuni 2 milliarddan ortiq funksiya chaqiruvini qayta ishlaydi va millionlab mobil ilovalar uchun serversiz arxitekturani ta'minlaydi.
Asosiy
Firebase Cloud Functions — Google Cloud Functions (GCF) asosida qurilgan, Firebase ekotizimiga moslashtirilgan hisoblash platformasi. Funksiyalar moduldan eksport qilinadigan va ma'lum bir hodisa turiga ro'yxatga olinadigan oddiy JavaScript yoki TypeScript kodini ifodalaydi. Hodisa yuz berganda (masalan, foydalanuvchi ro'yxatdan o'tadi yoki fayl yuklaydi), Firebase Cloud Functions tegishli kodni ishga tushiradi va unga hodisa kontekstini uzatadi.
Cloud Functions arxitekturasi yagona mas'uliyat tamoyiliga amal qiladi: bitta funksiya bitta hodisa turini qayta ishlaydi va bitta atom operatsiyani bajaradi. Masalan, sendWelcomeEmail funksiyasi Firebase Authentication-da yangi foydalanuvchi yaratilganda chaqiriladi va tabrik xatini yuboradi. Bunday izolyatsiya funksiyalarni nosozliklarni tuzatish, testlash va turli loyihalarda qayta ishlatishni soddalashtiradi.
Har bir funksiya vaqtinchalik hayot sikliga ega izolyatsiya qilingan konteynerda bajariladi. Maksimal bajarish vaqti standart ravishda 60 soniya (HTTPS funksiyalari — 9 daqiqa). Funksiya vaqt chegarasiga sig'masa, so'rov 500 xatosi bilan tugaydi. Uzoq operatsiyalar uchun Cloud Tasks yoki takroriy urinishlar bilan Pub/Sub dan foydalaning. Konteynerlar keyingi chaqiruvlar uchun qayta ishlatilishi mumkin (keep-alive), bu birinchi chaqiruvdan keyin sovuq startlardagi kechikishni kamaytiradi.
Firebase Cloud Functions bir nechta Node.js versiyasini qo'llab-quvvatlaydi: 18, 20 va 22 (yangi loyihalar uchun tavsiya etiladi). Versiyani tanlash package.json faylining engines maydonida amalga oshiriladi. Firebase CLI ko'rsatilgan versiya asosida bajarish muhitini avtomatik sozlaydi. Muhim: Firebase Cloud Functions ixtiyoriy Docker konteynerlarini ishga tushirishni qo'llab-quvvatlamaydi — muhit Google Cloud Functions tomonidan qat'iy belgilangan.
Yangi loyihalar uchun Node.js 22 tavsiya etiladi, chunki u eng so'nggi V8 optimallashtirishlarini, ESM modullari bilan yaxshilangan ishni va platforma darajasida WebSocket qo'llab-quvvatlashni o'z ichiga oladi. Agar loyiha ma'lum bir Node versiyasi uchun yig'ilgan bog'liqliklardan foydalansa (masalan, C++ native modullari), muvofiqlikni alohida tekshirish kerak — barcha native modullar GCF muhitida kompilyatsiya qilinmaydi.
Firebase Cloud Functions — oldindan o'rnatilgan Firebase SDK va Firebase xizmatlari bilan integratsiyaga ega Google Cloud Functions ustidagi qobiq. Dasturchi barcha Firebase xizmatlari uchun tiplangan trigerlarni taqdim etadigan firebase-functions SDK dan foydalanib kod yozadi. Google Cloud Functions — trigerlar Eventarc yoki Pub/Sub orqali aniq sozlanadigan quyi darajadagi platforma.
Asosiy farq: Firebase Cloud Functions-da trigger functions.firestore.document('path').onWrite() chaqiruvi orqali deklarativ ro'yxatga olinadi, Google Cloud Functions-da esa — hodisa atributlari bo'yicha filtrlash bilan Eventarc konfiguratsiyasi orqali. Firebase Cloud Functions, shuningdek, loyihaning xizmat hisobi huquqlari bilan ishga tushirilgan Admin SDK bilan avtomatik yetkazib beriladi, bu qo'shimcha sozlashsiz barcha Firebase xizmatlariga to'liq kirish imkonini beradi.
Firebase Cloud Functions 8 ta trigger toifasini qo'llab-quvvatlaydi, ularning har biri ma'lum bir Firebase yoki Google Cloud xizmatiga mos keladi. Trigger — yuz berganda funksiya avtomatik chaqiriladigan shart. Dasturchi funksiyaning hayot siklini to'g'ridan-to'g'ri boshqarmaydi: Firebase CLI trigerni Google Cloud Eventarc-da ro'yxatdan o'tkazadi va bulut platformasi hodisa yuz berganda funksiyani o'zi ishga tushiradi.
Eng ommabop trigerlar — Firestore trigerlari: onWrite, onCreate, onUpdate, onDelete. Ular Firestore kolleksiyalaridagi hujjatlar o'zgarganda ishga tushadi. Funksiya o'zgarishdan oldin va keyin hujjatning oniy ko'rinishlarini oladi, bu qiymatlarni solishtirish va faqat ma'lum o'zgarishlarga javob berish imkonini beradi. Masalan, buyurtma holati "pending" dan "shipped" ga o'zgarganda foydalanuvchiga push-bildirishnoma yuborish mumkin.
Authentication trigerlari (onCreate, onDelete) hisob yaratilganda yoki o'chirilganda ishga tushadi. Ular foydalanuvchi ma'lumotlarini ishga tushirish uchun ishlatiladi: Firestore-da foydalanuvchi hujjatini yaratish, tabrik e-pochni yuborish, analitikaga yozish. Muhim: funksiya foydalanuvchi yaratilishini bekor qila olmaydi — u hisob allaqachon yaratilgandan keyin bajariladi. Oldindan tekshirish uchun Identity Platform platformasida mavjud bo'lgan blokirovka qiluvchi funksiyalardan (Blocking Functions) foydalaning.
| Triger toifasi | Hodisa | Foydalanish namunasi |
|---|---|---|
| Firestore | onWrite, onCreate, onUpdate, onDelete | Qo'shilganda like hisoblagichini yangilash |
| Authentication | onCreate, onDelete | Ro'yxatdan o'tishda foydalanuvchi profilini yaratish |
| Realtime DB | onWrite, onCreate, onUpdate, onDelete | Chatdagi xabarlarni moderatsiya qilish |
| Storage | onFinalize, onArchive, onDelete | Rasm yuklangandan keyin thumbnail yaratish |
| Pub/Sub | onPublish | Cloud Scheduler orqali davriy ishga tushirish (cron) |
| HTTPS | onRequest | Tashqi xizmatlar uchun REST API endpoint |
HTTPS funksiyalari (onRequest) HTTP orqali mavjud to'liq huquqli REST API endpointlarini yaratish imkonini beradi. Hodisa trigerlaridan farqli o'laroq, HTTPS funksiyalari https://{region}-{project}.cloudfunctions.net/{functionName} ko'rinishidagi URL orqali chaqiriladi. Endpoint brauzerdan yoki mobil ilovadan chaqirilsa, CORS ni to'g'ri sozlash muhim. Firebase SDK CORS sarlavhalarini avtomatik qo'shmaydi — ularni middleware orqali qo'lda qo'shish kerak.
Mobil mijozlar (Android, iOS) uchun CORS talab qilinmaydi, chunki native HTTP mijozlari Cross-Origin siyosati bilan cheklanmaydi. CORS faqat veb-so'rovlar uchun dolzarb. Agar HTTPS funksiyangiz ham ilovadan, ham vebdan chaqirilsa, universal CORS qayta ishlashni qo'shing: development uchun res.set('Access-Control-Allow-Origin', '*') yoki production uchun ruxsat etilgan domenlar ro'yxati.
Davriy bajarish (cron vazifalari) uchun Cloud Scheduler va Pub/Sub kombinatsiyasidan foydalaning. Cloud Scheduler jadval bo'yicha Pub/Sub topikiga xabar yuboradi, onPublish trigeri esa bu xabarni qayta ishlaydi. Firebase CLI to'g'ridan-to'g'ri cron sintaksisini qo'llab-quvvatlamaydi — jadval Google Cloud konsoli yoki Terraform orqali unix-cron formatida o'rnatiladi: 0 3 * * * (har kuni soat 3:00 da).
Vazifalarga misollar: kundalik tarqatish, eskirgan ma'lumotlarni tozalash, hisobotlarni yaratish, tashqi API lar bilan sinxronlash. Muhim: Cloud Scheduler — pullik Google Cloud xizmati (bitta job uchun oyiga taxminan $2). Har bir ishga tushish funksiyaning alohida chaqiruvi hisoblanadi va Cloud Functions standart narxlarida tariflanadi.
Cloud Functions ishlab chiqish Firebase CLI orqali loyihani ishga tushirishdan boshlanadi: firebase init functions. Bu buyruq index.js (yoki index.ts) shabloni, package.json fayli va TypeScript konfiguratsiyasi (tanlangan bo'lsa) bo'lgan functions/ katalogini yaratadi. Ishga tushirgandan so'ng funksiyani yozish, moduldan eksport qilish va joylashtirish uchun firebase deploy --only functions bajarish kifoya.
Har bir funksiya tegishli triger metodini chaqirish orqali ro'yxatdan o'tkaziladi. HTTPS funksiyasiga misol: exports.helloWorld = functions.https.onRequest((req, res) => { res.send("Hello!"); }). Firebase funksiyalari asinxron modeldan foydalanadi: hodisa trigerlari uchun (HTTPS emas) funksiya Promise qaytarishi kerak. Firebase konteynerni yopishdan oldin Promise tugashini kutadi. Agar Promise qaytarilmasa, funksiya asinxron operatsiyalar tugashidan oldin uzilishi mumkin.
Lokal ishlab chiqish Cloud Functions emulyatorini o'z ichiga olgan Firebase Emulator Suite orqali amalga oshiriladi. firebase emulators:start buyrug'i funksiyalar bilan lokal serverni ishga tushiradi, u http://localhost:5001 manzilida mavjud. Emulyator kod o'zgarganda hot reload (issiq qayta yuklash) ni qo'llab-quvvatlaydi va production muhitidan to'liq izolyatsiya qilingan, bu funksiyalarni real ma'lumotlarga ta'sir qilish xavfisiz testlash imkonini beradi.
Bog'liqliklar Cloud Functions package.json orqali boshqariladi. Firebase faqat production bog'liqliklarini (devDependencies emas, dependencies) o'rnatadi. Funksiya paketining hajmi sovuq start vaqtiga ta'sir qiladi: bog'liqliklar sonini minimal darajaga tushirish tavsiya etiladi. Firebase Admin SDK bilan ishlash uchun firebase-admin bog'liqligi allaqachon oldindan o'rnatilgan — uni qo'lda qo'shish shart emas.
Maxfiy ma'lumotlar (API kalitlari, tokenlar) funksiya kodida saqlanmasligi kerak. Konfiguratsiyani saqlash uchun functions.config() dan foydalaning: firebase functions:config:set stripe.key="sk_...". Qiymatlar shifrlangan va runtime da functions.config().stripe.key orqali mavjud. Katta hajmdagi seriyalashtirilgan konfiguratsiyalar uchun Google Cloud Secret Manager dan foydalaning.
Loglash Cloud Functions-da console.log, console.warn va console.error orqali amalga oshiriladi. Barcha loglar avtomatik ravishda Google Cloud Logging da to'planadi va Firebase konsolida (Functions > Logs bo'limi) mavjud. Strukturaviy loglash uchun JSON formatlash va loglash darajalarini qo'llab-quvvatlaydigan winston yoki pino kutubxonasidan foydalaning.
Xatolarni qayta ishlash ishonchlilik uchun juda muhim: Promise da qayta ishlanmagan istisno funksiyani xato bilan tugatadi, shundan so'ng Firebase eksponensial kechikish bilan chaqiruvni avtomatik takrorlaydi (retry). Retry soni sozlanadi: 0 dan cheksizgacha. Hodisa trigerlari uchun tashqi xizmatlarning vaqtinchalik nosozliklarida ham har bir hodisaning qayta ishlanishini kafolatlash uchun retry ni yoqish tavsiya etiladi.
Sovuq start (cold start) — kodli konteyner qayta yuklanib, ishga tushiriladigan harakatsizlik davridan keyin funksiyaning birinchi chaqiruvidagi kechikish. Firebase documentation (2026) ma'lumotlariga ko'ra, sovuq start paket hajmiga, bog'liqliklar soniga va mintaqaga qarab 200 ms dan 2 soniyagacha davom etadi. Foydalanuvchi interfeysi uchun 1 soniyadan ortiq kechikish sezilarli va user experience ga ta'sir qilishi mumkin.
Sovuq startni minimallashtirish usullari: bog'liqliklarni minimallashtirish, CommonJS ga kompilyatsiya bilan TypeScript dan foydalanish, funksiya paketi hajmini kamaytirish, faol instanslarning minimal sonini o'rnatish. Firebase Cloud Functions v2 (2nd gen) minInstances — so'rovlarni qayta ishlashga doim tayyor bo'lgan isitilgan konteynerlarning minimal sonini o'rnatish imkonini beradi. Konteynerlarni isitish uchun bo'sh turish vaqti uchun to'lov olinadi.
Masshtablash Cloud Functions-da avtomatik amalga oshiriladi: so'rovlar soni oshganda Firebase yangi konteynerlar yaratadi. Standart ravishda parallel instanslarning maksimal soni 3000 (Google Cloud loyihasi kvotasi). Har bir instans bir vaqtning o'zida bitta so'rovni qayta ishlaydi. Agar funksiya tez bo'lsa (100 ms dan kam), bitta instans sekundiga 10 tagacha so'rovni qayta ishlashi mumkin, bu loyiha bo'yicha sekundiga 30 000 tagacha so'rovni tashkil etadigan cho'qqi o'tkazuvchanligini beradi.
minInstances — ko'rsatilgan miqdordagi konteynerlarni zaxiralaydigan va ularni isitilgan holda ushlab turadigan parametr. Sovuq start kechikishi qabul qilib bo'lmaydigan muhim HTTPS funksiyalari uchun tavsiya etiladi. Masalan, autentifikatsiya endpointi uchun minInstances: 1 o'rnating. maxInstances — trafikning keskin o'sishida xarajatlarning nazoratsiz o'sishini oldini olish uchun foydali bo'lgan parallel instanslarning maksimal soni chegarasi.
Sozlash kodda amalga oshiriladi: functions.runWith({ minInstances: 1, maxInstances: 10 }). Muhim: minInstances xarajatni oshiradi, chunki konteyner uzluksiz ishlaydi. Test loyihalari uchun minInstances ni o'chirish kerak. Production uchun barcha ochiq HTTPS funksiyalarida minInstances va hodisa trigerlarida 0 tavsiya etiladi, chunki u erda 1 soniyalik kechikish muhim emas.
Joylashtirish mintaqasi oxirgi foydalanuvchilarga kechikishga va chiquvchi trafik narxiga ta'sir qiladi. Firebase Cloud Functions 30+ Google Cloud mintaqasida mavjud. Mobil ilovalar uchun maqsadli auditoriyangizga eng yaqin mintaqani tanlang: Amerika uchun us-central1, Yevropa uchun europe-west1, Osiyo uchun asia-east2. Mintaqa deploy dan keyin funksiyani qayta joylashtirmasdan o'zgartirib bo'lmaydi.
Mintaqani o'zgartirish koddagi region parametri orqali amalga oshiriladi: functions.region('europe-west1'). Bitta fayldagi barcha funksiyalar turli mintaqalarga ega bo'lishi mumkin. Global loyihalar uchun funksiyalarni bir nechta mintaqada joylashtirish va trafikni taqsimlash uchun Cloud Load Balancing dan foydalanish tavsiya etiladi, garchi ko'pchilik mobil ilovalar uchun to'g'ri tanlash sharti bilan bitta mintaqa yetarli bo'lsa ham.
TypeScript da Cloud Functions ning amaliy misollarini ko'rib chiqamiz. Kod ES modulli sintaksis bilan Firebase Functions SDK v2 (2nd gen) dan foydalanadi. Misollar foydalanuvchi yaratish hodisasini qayta ishlash, rasm yuklanganda thumbnail yaratish va REST API uchun oddiy HTTPS endpointni o'z ichiga oladi. Barcha funksiyalar konteynerning to'g'ri yakunlanishi uchun Promise qaytaradigan asinxrondir.
Ishga tushirishdan oldin Firebase CLI 13+ versiyasiga yangilanganiga ishonch hosil qiling: npm install -g firebase-tools. v2 funksiyalari Blaze tarif rejasini talab qiladi. Ishga tushirish: TypeScript tanlash bilan firebase init functions.
Birinchi misol — yangi foydalanuvchi ro'yxatdan o'tganda Firestore da hujjat yaratish. Funksiya auth.user().onCreate hodisasi bilan ishga tushadi va users/{uid} kolleksiyasiga asosiy profilni yozadi. Bu har bir ro'yxatdan o'tgan foydalanuvchi uchun kerakli maydonlarga ega hujjat mavjudligini kafolatlash imkonini beradi.
import * as functions from "firebase-functions"
import * as admin from "firebase-admin"
admin.initializeApp()
export const createUserProfile = functions.auth
.user()
.onCreate(async (user) => {
const profile = {
email: user.email,
displayName: user.displayName ?? "User",
createdAt: admin.firestore.Timestamp.now(),
role: "free",
avatarUrl: null,
}
await admin.firestore()
.collection("users")
.doc(user.uid)
.set(profile)
console.log(`Profile created for ${user.uid}`)
})
createUserProfile funksiyasi asinxron — Firebase yakunlashdan oldin kutadigan Promise ni qaytaradi. Firestore ga yozish xato bilan tugasa (masalan, huquqlar yo'qligi sababli), funksiya avtomatik takrorlanadi (retry yoqilgan bo'lsa). "free" qiymatiga ega role maydoni bepul tarif cheklovlarini to'g'ridan-to'g'ri Firestore Security Rules da amalga oshirish imkonini beradi: resource.data.role kerakli kirish darajasi bilan solishtiriladi.
Ikkinchi misol — rasm yuklangandan so'ng avtomatik miniatyura (thumbnail) yaratish uchun Storage trigeri. Funksiya 200x200 piksel o'lchamida kichraytirilgan nusxa yaratadi va uni thumb_ prefiksi bilan manba fayl yo'lida saqlaydi. Tasvirlarni qayta ishlash uchun barcha keng tarqalgan formatlarni qo'llab-quvvatlaydigan va tizim bog'liqliklarisiz Node.js muhitida ishlaydigan sharp kutubxonasi ishlatiladi.
import * as path from "path"
import * as os from "os"
import * as sharp from "sharp"
export const generateThumbnail = functions.storage
.object()
.onFinalize(async (object) => {
if (!object.contentType?.startsWith("image/")) return
const filePath = object.name!
const thumbPath = filePath.replace(
/(\.\w+)$/, "_thumb$1"
)
const bucket = admin.storage().bucket()
const tempDir = os.tmpdir()
const tempFile = path.join(tempDir, path.basename(filePath))
await bucket.file(filePath).download({ destination: tempFile })
await sharp(tempFile)
.resize(200, 200, { fit: "cover" })
.toFile(tempFile.replace(/(\.\w+)$/, "_thumb$1"))
await bucket.upload(tempFile.replace(
/(\.\w+)$/, "_thumb$1"
), { destination: thumbPath })
})
generateThumbnail funksiyasi ob'ektning Content-Type ini tekshiradi va rasm bo'lmaganlarni e'tiborsiz qoldiradi, bu resurslarni tejaydi. sharp bilan ishlash uchun bog'liqlik package.json ga qo'shilishi kerak. Thumbnail tasvirni markazda 200x200 piksel kvadratigacha kesadigan fit: "cover" parametri bilan yaratiladi. Yaratilgandan so'ng thumbnail o'zgartirilgan nom bilan xuddi shu bucket ga qayta yuklanadi.
Uchinchi misol — server holatini tekshirish uchun REST API endpointni amalga oshiradigan HTTPS funksiyasi. Funksiya GET so'rovini qabul qiladi va loyihaga ulangan Firebase xizmatlarining holati haqidagi ma'lumot bilan JSON qaytaradi. Endpoint monitoring va ma'lumot yuborishdan oldin backend mavjudligini tekshirishi kerak bo'lgan tashqi tizimlar uchun foydalidir.
import * as express from "express"
const app = express.Router()
app.get("/status", async (req, res) => {
try {
const db = admin.firestore()
await db.collection("_health").doc("check").get()
res.json({ status: "ok", timestamp: Date.now() })
} catch (error) {
res.status(503).json({ status: "error", message: error })
}
})
export const api = functions.https.onRequest(app)
api funksiyasi marshrutlash uchun express Router dan foydalanadi, bu bitta funksiyada bir nechta endpoint yaratishda qulay. Health check Firestore ga _health kolleksiyasiga yoziladi, bu bir vaqtning o'zida Firestore mavjudligini tekshirish imkonini beradi. Production uchun ochiq endpointdan suiiste'mol qilishning oldini olish uchun API kaliti yoki Firebase Auth tokeni orqali so'rov autentifikatsiyasini qo'shish tavsiya etiladi.
Cloud Functions ko'pincha mijoz tomonida bajarish mumkin bo'lmagan yoki istalmagan vazifalar uchun qo'llaniladi: push-bildirishnomalarni yuborish, yuklangan tasvirlar oldindan ko'rishini yaratish, tashqi to'lov tizimlari bilan integratsiya, kontent moderatsiyasi, Firebase va uchinchi tomon xizmatlari o'rtasida ma'lumotlarni sinxronlash. Serversiz model bu vazifalarni iqtisodiy qiladi: to'lov faqat kodning haqiqiy bajarilish vaqti uchun olinadi.
To'lov tizimlari bilan integratsiya — in-app xaridlarga ega ilovalar uchun odatiy stsenariy. Cloud Functions to'lov provayderidan (Stripe, PayPal) webhook oladi, so'rov imzosini tekshiradi, Firestore da obuna holatini yangilaydi va foydalanuvchiga tasdiqlash yuboradi. Barcha kod serverda bajariladi, mijozda ma'lumotlarni almashtirish xavfi yo'q. Stripe documentation (2026) ma'lumotlariga ko'ra, webhook qayta ishlash 500 ms dan kam davom etadi.
Aqlli kontent moderatsiyasi yuklangan tasvirlarni Google Cloud Vision API orqali avtomatik tekshirish uchun Storage triggeridan foydalanadi. Funksiya xavfli kontentni (zo'ravonlik, kattalar uchun kontent) aniqlash uchun tasvirni Vision API ga yuboradi va chegara oshib ketsa, faylni o'chiradi va administratorga xabar beradi. Bu stsenariy foydalanuvchi galereyalariga ega UGC ilovalari uchun juda muhim.
Ma'lumotlarni agregatsiyalash — Firebase Realtime Database hisoblagichlarini almashtiruvchi sifatida Cloud Functions. Hisoblagichni mijozda o'qish va yozish o'rniga (bu race conditions ga olib keladi), agregatlangan maydonlarni atomik yangilash uchun Firestore onWrite triggeridan foydalaning. Masalan, funksiya /posts/{postId}/likes/{userId} kichik kolleksiyasida hujjat har qo'shilganda yoki o'chirilganda postning like sonini hisoblaydi va ota hujjatdagi likesCount maydonini yangilaydi.
Tez-tez so'raladigan savollar
Maksimal bajarish vaqti turga bog'liq: HTTPS funksiyalari — 9 daqiqa, hodisa trigerlari — 60 soniya (v2: 60 daqiqagacha). Uzoq operatsiyalar uchun asinxron qayta ishlash bilan Cloud Tasks yoki Pub/Sub dan foydalaning. Vaqt chegarasi kodda runWith({ timeoutSeconds: 120 }) orqali sozlanadi.
Firebase Emulator Suite dan foydalaning: firebase emulators:start --only functions. Emulyator funksiyalarni hot reload qo'llab-quvvatlashi bilan 5001 portida lokal ishga tushiradi. Firestore va Auth trigerlari uchun emulyator real xizmatlarni almashtiradi, bu stsenariylarni real ma'lumotlar uchun xavfsiz testlash imkonini beradi.
2nd gen Google Cloud Run va Eventarc dan foydalanadi, uzoqroq vaqt chegarasini (60 daqiqagacha), bitta instans tomonidan so'rovlarni raqobatli qayta ishlashni va Google Cloud xizmatlari bilan yaxshilangan integratsiyani ta'minlaydi. 1st gen Google Cloud Functions dan foydalanadi va hodisa funksiyalari uchun 60 soniya bilan cheklangan. Firebase yangi loyihalarni 2nd gen dan boshlashni tavsiya qiladi.
Firebase Cloud Functions rasman faqat Node.js (JavaScript va TypeScript) ni qo'llab-quvvatlaydi. Python uchun Firebase Admin SDK bilan to'g'ridan-to'g'ri Google Cloud Functions dan foydalaning. Firebase Admin SDK Python faqat Node.js orqali mavjud bo'lgan ba'zi Firebase-spesifik trigerlarni hisobga olmaganda barcha operatsiyalarni qo'llab-quvvatlaydi.
Autentifikatsiyalangan kirish uchun Authorization sarlavhasida Firebase ID tokenini tekshiring: admin.auth().verifyIdToken(token). Server-server integratsiyasi uchun xizmat hisobi yoki API kalitlari bilan Firebase Admin SDK dan foydalaning. Tezlik cheklovi bo'lgan ochiq endpointlar uchun Cloud Armor yoki middleware orqali rate limiting dan foydalaning.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.