Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Cloud Functions for Firebase
plat_ios
plat_android
plat_web
plat_flutter
plat_cpp
plat_unity
Cloud Functions for Firebase adalah framework serverless yang memungkinkan Anda menjalankan kode backend secara otomatis sebagai respons terhadap peristiwa yang dipicu oleh peristiwa latar belakang, permintaan HTTPS,
Admin SDK, atau tugas
Cloud Scheduler. Kode JavaScript, TypeScript, atau Python Anda disimpan di infrastruktur Google Cloud dan berjalan di lingkungan terkelola. Anda tidak perlu mengelola dan menyesuaikan skala server sendiri.
Sudah menggunakan Cloud Functions di Google Cloud?
Pelajari lebih lanjut cara Firebase dapat melengkapinya.
Memulai Kasus penggunaan
Kemampuan utama
Mengintegrasikan fitur Firebase dan menghubungkan Firebase dengan Google Cloud |
Fungsi yang Anda tulis dapat merespons peristiwa yang dihasilkan oleh berbagai fitur Firebase dan Google Cloud, mulai dari pemicu Firebase Authentication hingga Pemicu Cloud Storage.
Lakukan integrasi di seluruh fitur Firebase menggunakan Admin SDK bersama dengan Cloud Functions, lalu lakukan integrasi dengan layanan pihak ketiga dengan cara menulis webhook Anda sendiri.
Cloud Functions meminimalkan kode boilerplate, sehingga mempermudah penggunaan Firebase dan Google Cloud di dalam fungsi Anda. |
Tak perlu pemeliharaan |
Deploy kode JavaScript, TypeScript, atau Python Anda ke server kami dengan satu perintah dari command line.
Setelah itu, Firebase akan otomatis meningkatkan skala resource komputasi agar sesuai dengan pola penggunaan para pengguna Anda. Anda tidak perlu memikirkan kredensial, konfigurasi server, penyediaan server baru, atau penonaktifan server lama. |
Menjaga keamanan dan kerahasiaan logika aplikasi |
Dalam banyak kasus, developer lebih memilih untuk mengendalikan logika aplikasi di server agar kode di sisi klien tidak disalahgunakan. Selain itu, terkadang kita tidak ingin kode tersebut direkayasa balik.
Cloud Functions benar-benar terisolasi dari klien, sehingga Anda bisa yakin bahwa Cloud Functions terjaga kerahasiaannya dan selalu bertindak sesuai keinginan Anda. |
Bagaimana cara kerjanya?
Setelah Anda menulis dan men-deploy fungsi, server Google akan segera memulai pengelolaan fungsi. Anda dapat menjalankan fungsi secara langsung dengan permintaan HTTP, Admin SDK, atau tugas terjadwal, atau, dalam kasus fungsi latar belakang, server Google mendeteksi peristiwa dan menjalankan fungsi saat dipicu.
Seiring bertambahnya atau berkurangnya beban, Google akan merespons dengan secara cepat menskalakan jumlah instance server virtual yang dibutuhkan untuk menjalankan fungsi Anda. Setiap fungsi berjalan secara terisolasi di lingkungannya sendiri dengan konfigurasinya sendiri.
Siklus proses fungsi latar belakang
- Anda menulis kode untuk fungsi baru, memilih penyedia peristiwa (seperti Cloud Firestore), dan menentukan kondisi untuk menjalankan fungsi tersebut.
- Saat Anda men-deploy fungsi:
- Firebase CLI membuat arsip
.zip
kode fungsi, yang kemudian diupload ke bucket Cloud Storage bucket (diawali dengan gcf-sources
) before Cloud Functions sebelum repositori Artifact Registry (yang diberi nama gcf-artifacts
) pada project Anda.
- Cloud Build akan mengambil kode fungsi dan mem-build sumber fungsi. Anda dapat melihat log Cloud Build di Konsol Google Cloud.
- Image container untuk kode fungsi yang di-build diupload ke repositori Artifact Registry pribadi di project Anda (diberi nama
gcf-artifacts
), dan fungsi baru Anda akan diluncurkan.
- Saat penyedia peristiwa menghasilkan peristiwa yang sesuai dengan kondisi fungsi, kode akan dipanggil. Fungsi memiliki akun layanan terlampir
yang dapat digunakan untuk mengakses layanan Firebase lainnya dengan bantuan
Firebase Admin SDK.
- Jika fungsi sibuk menangani banyak peristiwa, Google akan membuat lebih banyak instance untuk memproses tugas lebih cepat. Jika fungsi tidak sedang beraktivitas, instance akan dibersihkan.
- Saat Anda mengupdate fungsi dengan men-deploy kode yang diperbarui, instance untuk versi yang lebih lama akan dibersihkan bersama artefak build pada Artifact Registry, dan diganti dengan instance baru.
- Saat Anda menghapus fungsi, semua instance dan arsip zip akan dibersihkan, beserta artefak build yang terkait di Artifact Registry.
Koneksi antara fungsi dan penyedia peristiwa akan dihapus.
Selain mendeteksi peristiwa dengan fungsi latar belakang, Anda dapat memanggil fungsi secara langsung dengan permintaan HTTP atau panggilan dari klien. Anda juga dapat memicu fungsi pada jadwal tetap atau mengantrekan fungsi tugas melalui Admin SDK.
Alur implementasi
|
Siapkan Cloud Functions |
Instal Firebase CLI dan lakukan inisialisasi Cloud Functions di project Firebase Anda. |
|
Menulis fungsi |
Tulis kode JavaScript, kode TypeScript, atau kode Python untuk menangani peristiwa dari layanan Firebase, layanan Google Cloud, atau penyedia peristiwa lainnya. |
|
Menguji fungsi |
Gunakan emulator lokal untuk menguji fungsi Anda. |
|
Deploy dan pantau |
Upgrade project Anda ke paket harga Blaze bayar sesuai penggunaan dan deploy fungsi menggunakan Firebase CLI. Anda kemudian dapat menggunakan Google Cloud console untuk melihat dan menelusuri log. |
Langkah berikutnya
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-17 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-17 UTC."],[],[],null,["Cloud Functions for Firebase \nplat_ios plat_android plat_web plat_flutter plat_cpp plat_unity \nCloud Functions for Firebase is a serverless framework that lets you automatically run backend code in response to events triggered by background events, HTTPS requests, the Admin SDK, or Cloud Scheduler jobs. Your JavaScript, TypeScript or Python code is stored on Google Cloud infrastructure and runs in a managed environment. There's no need to manage and scale your own servers.\n\n\u003cbr /\u003e\n\nAlready using Cloud Functions in Google Cloud?\n[Learn more](/docs/functions/functions-and-firebase) about how Firebase fits\ninto the picture.\n\n[Get started](/docs/functions/get-started)\n[Use cases](/docs/functions/use-cases)\n\nKey capabilities\n\n|----------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Integrates Firebase features and connects Firebase with Google Cloud | The functions you write can respond to events generated by various Firebase and Google Cloud features, from [Firebase Authentication triggers](/docs/functions/auth-events) to [Cloud Storage Triggers](/docs/functions/gcp-storage-events). Integrate across Firebase features using the [Admin SDK](/docs/admin/setup) together with Cloud Functions, and integrate with third-party services by writing your own webhooks. Cloud Functions minimizes boilerplate code, making it easier to use Firebase and Google Cloud inside your function. |\n| Zero maintenance | Deploy your JavaScript, TypeScript, or Python code to our servers with one command from the command line. After that, Firebase automatically scales up computing resources to match the usage patterns of your users. You never worry about credentials, server configuration, provisioning new servers, or decommissioning old ones. |\n| Keeps your logic private and secure | In many cases, developers prefer to control application logic on the server to avoid tampering on the client side. Also, sometimes it's not desirable to allow that code to be reverse engineered. Cloud Functions is fully insulated from the client, so you can be sure it is private and always does exactly what you want. |\n\nHow does it work?\n\nAfter you write and deploy a function, Google's servers begin to manage the\nfunction immediately. You can fire the function directly with an HTTP request,\nthe Admin SDK, or a scheduled job, or, in the case of background functions,\nGoogle's servers listen for events and run the function when it is\ntriggered.\n\nAs the load increases or\ndecreases, Google responds by rapidly scaling the number of virtual server\ninstances needed to run your function. Each function runs in isolation, in its\nown environment with its own configuration.\n\nLifecycle of a background function\n\n1. You write code for a new function, selecting an event provider (such as Cloud Firestore), and defining the conditions under which the function should execute.\n2. When you deploy your function:\n 1. The Firebase CLI creates a `.zip` archive of the function code, which is then uploaded to a Cloud Storage bucket (prefixed with `gcf-sources`) before Cloud Functions creates an Artifact Registry repository (named `gcf-artifacts`) in your project.\n 2. Cloud Build retrieves the function code and builds the function source. You can view Cloud Build logs in the [Google Cloud console](//console.cloud.google.com/logs/query;query%3Dresource.type%253D%2522build%2522&sa=D&ust=1597179510979000&usg=AFQjCNG2BmFrgWjGoP83WiMrB2TLLXpBEQ).\n 3. The container image for the built functions code is uploaded to a private Artifact Registry repository in your project (named `gcf-artifacts`), and your new function is rolled out.\n3. When the event provider generates an event that matches the function's conditions, the code is invoked. The function has a service account attached to it that can be used to access other Firebase services with the help of the Firebase Admin SDK.\n4. If the function is busy handling many events, Google creates more instances to handle work faster. If the function is idle, instances are cleaned up.\n5. When you update the function by deploying updated code, instances for older versions are cleaned up along with build artifacts in Artifact Registry, and replaced by new instances.\n6. When you delete the function, all instances and zip archives are cleaned up, along with related build artifacts in Artifact Registry. The connection between the function and the event provider is removed.\n\nIn addition to listening for events with a background function, you can call\nfunctions directly with an HTTP request or a\n[call from the client](/docs/functions/callable). You can also trigger functions\non a fixed [schedule](/docs/functions/schedule-functions) or\n[enqueue task functions](/docs/functions/task-functions) via the Admin SDK.\n\nImplementation path\n\n|---|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Set up Cloud Functions | Install the Firebase CLI and initialize Cloud Functions in your Firebase project. |\n| | Write functions | Write JavaScript code, TypeScript code, or Python code to handle events from Firebase services, Google Cloud services, or other event providers. |\n| | Test functions | Use the [local emulator](/docs/functions/local-emulator) to test your functions. |\n| | Deploy and monitor | Upgrade your project to the [pay-as-you-go Blaze pricing plan](/pricing) and deploy your functions using the Firebase CLI. You can then use the [Google Cloud console](//console.cloud.google.com/functions/list) to view and search through your logs. |\n\nNext steps\n\n- [Get started](/docs/functions/get-started) setting up, creating, and deploying functions.\n- Learn more about [what you can do with functions](/docs/functions/use-cases).\n- Try the [Cloud Functions codelab](https://codelabs.developers.google.com/codelabs/firebase-cloud-functions/#0)."]]