Cloud Functions for Firebase
Temel özellikler
| Firebase özelliklerini entegre eder ve Firebase'i Google Cloud'a bağlar. | Yazdığınız Functions, Firebase Authentication tetikleyicilerinden Cloud Storage tetikleyicilerine kadar çeşitli Firebase ve Google Cloud özelliklerinin oluşturduğu etkinliklere yanıt verebilir. Cloud Functions ile birlikte Admin SDK'yı kullanarak Firebase özellikleri arasında entegrasyon sağlayın ve kendi webhook'larınızı yazarak üçüncü taraf hizmetleriyle entegrasyon gerçekleştirin. Cloud Functions, ortak metin kodunu en aza indirerek işlevinizde Firebase ve Google Cloud kullanmayı kolaylaştırır. |
| Bakım gerektirmez | JavaScript, TypeScript veya Python kodunuzu komut satırından tek bir komutla sunucularımıza dağıtın. Ardından Firebase, kullanıcılarınızın kullanım kalıplarına uyacak şekilde bilgi işlem kaynaklarını otomatik olarak ölçeklendirir. Kimlik bilgileri, sunucu yapılandırması, yeni sunucular sağlama veya eski sunucuları kullanımdan kaldırma konusunda endişelenmeniz gerekmez. |
| Uygulama mantığını gizli ve güvenli tutar | Çoğu durumda geliştiriciler, istemci tarafında müdahaleyi önlemek için uygulama mantığını sunucuda kontrol etmeyi tercih eder. Ayrıca bazen bu kodun tersine mühendislik işlemine tabi tutulmasına izin verilmesi istenmez. Cloud Functions, istemciden tamamen yalıtılmıştır. Bu nedenle, gizli olduğundan ve her zaman tam olarak istediğiniz şeyi yaptığından emin olabilirsiniz. |
Nasıl çalışır?
Bir işlevi yazıp dağıttıktan sonra Google'ın sunucuları işlevi hemen yönetmeye başlar. İşlevi doğrudan bir HTTP isteği, Admin SDK veya planlanmış bir iş ile tetikleyebilirsiniz. Arka plan işlevleri söz konusu olduğunda ise Google'ın sunucuları etkinlikleri dinler ve tetiklendiğinde işlevi çalıştırır.
Yük arttıkça veya azaldıkça Google, işlevinizi çalıştırmak için gereken sanal sunucu örneklerinin sayısını hızlı bir şekilde ölçeklendirerek yanıt verir. Her işlev, kendi yapılandırmasına sahip kendi ortamında bağımsız olarak çalışır.
Arka plan işlevinin yaşam döngüsü
- Yeni bir işlev için kod yazarsınız, bir etkinlik sağlayıcı (ör. Cloud Firestore) seçer ve işlevin hangi koşullar altında yürütülmesi gerektiğini tanımlarsınız.
- İşlevinizi dağıttığınızda:
- Firebase CLI, işlev kodunun bir
.ziparşivini oluşturur. Bu arşiv, Cloud Functions projenizde bir Artifact Registry deposu (gcf-artifactsadında) oluşturmadan önce bir Cloud Storage paketine (gcf-sourcesön ekli) yüklenir. - Cloud Build, işlev kodunu alır ve işlev kaynağını oluşturur. Cloud Build günlüklerini Google Cloud konsolunda görüntüleyebilirsiniz.
- Derlenen işlev kodu için kapsayıcı resmi, projenizdeki özel bir Artifact Registry deposuna (
gcf-artifactsadlı) yüklenir ve yeni işleviniz kullanıma sunulur.
- Firebase CLI, işlev kodunun bir
- Etkinlik sağlayıcı, işlevin koşullarıyla eşleşen bir etkinlik oluşturduğunda kod çağrılır. İşleve, Firebase Admin SDK yardımıyla diğer Firebase hizmetlerine erişmek için kullanılabilecek bir hizmet hesabı eklenmiştir.
- İşlev çok sayıda etkinliği işlemekle meşgulse Google, işleri daha hızlı halletmek için daha fazla örnek oluşturur. İşlev boşta kalırsa örnekler temizlenir.
- Güncellenmiş kodu dağıtarak işlevi güncellediğinizde, eski sürümlerin örnekleri Artifact Registry içindeki derleme yapılarıyla birlikte temizlenir ve yeni örneklerle değiştirilir.
- İşlevi sildiğinizde tüm örnekler ve zip arşivleri temizlenir. Ayrıca Artifact Registry içindeki ilgili derleme yapıları da temizlenir. İşlev ile etkinlik sağlayıcı arasındaki bağlantı kaldırılır.
Arka plan işleviyle etkinlikleri dinlemenin yanı sıra işlevleri doğrudan bir HTTP isteği veya istemciden gelen çağrı ile çağırabilirsiniz. Ayrıca, işlevleri sabit bir programa göre tetikleyebilir veya Admin SDK üzerinden görev işlevlerini sıraya koyabilirsiniz.
Uygulama yolu
| Cloud Functions ayarlarını yapın | Firebase CLI'yı yükleyin ve Firebase projenizde Cloud Functions'yi başlatın. | |
| İşlev yazma | Firebase hizmetleri, Google Cloud hizmetleri veya diğer etkinlik sağlayıcılardan gelen etkinlikleri işlemek için JavaScript, TypeScript ya da Python kodu yazın. | |
| Test işlevleri | İşlevlerinizi test etmek için yerel emülatörü kullanın. | |
| Dağıtım ve izleme | Projenizi kullandıkça öde Blaze fiyatlandırma planına yükseltin ve işlevlerinizi Firebase KSA'yı kullanarak dağıtın. Ardından, günlüklerinizi görüntülemek ve aramak için Google Cloud konsolunu kullanabilirsiniz. |
Sonraki adımlar
- İşlevleri ayarlamaya, oluşturmaya ve dağıtmaya başlayın.
- İşlevlerle neler yapabileceğiniz hakkında daha fazla bilgi edinin.
- Cloud Functions codelab'ini deneyin.