How does Firebase Cloud Functions work and how do you trigger them?
Answer
Firebase Cloud Functions run Node.js code in a managed serverless environment. Functions are deployed with firebase deploy --only functions. Trigger types and examples: (1) HTTPS: exports.createUser = functions.https.onRequest((req, res) => { res.json({ userId: req.body.email }) }); (2) Callable (preferred for client invocation): exports.calculateTotal = functions.https.onCall((data, context) => { if (!context.auth) throw new functions.https.HttpsError("unauthenticated", "Must be logged in"); return { total: data.price * 1.1 }; }). Client calls: const fn = httpsCallable(functions, "calculateTotal"); const result = await fn({ price: 100 }); (3) Firestore trigger: exports.onUserCreate = functions.firestore.document("users/{userId}").onCreate((snap, context) => { const user = snap.data(); return sendWelcomeEmail(user.email) }); (4) Auth trigger: exports.onUserDeleted = functions.auth.user().onDelete(user => deleteUserData(user.uid)); (5) Scheduled: exports.dailyCleanup = functions.pubsub.schedule("every 24 hours").onRun(context => cleanupOldData()).
Previous
How do you implement role-based access control with Firestore security rules?
Next
How does Firestore handle offline support?