Cloud Functions, geliştiricilerin Firebase ve Google Cloud etkinliklerine ve bu etkinliklere yanıt olarak kod çalıştırabilmeleri için ölçeklenebilir işlem gücü sunar. Firebase uygulamalarının benzersiz gereksinimlerini karşılamak için Cloud Functions'ı benzersiz şekillerde kullanması beklenir. Bununla birlikte, tipik kullanım alanları aşağıdakileri kapsayabilir:
- İlgi çekici bir şey olduğunda kullanıcıları bilgilendirin.
- Veritabanı temizleme ve bakımını gerçekleştirin.
- Yoğun görevleri uygulamanızda yerine bulutta çalıştırın.
- Üçüncü taraf hizmetler ve API'lerle entegrasyon
İlgilendiğiniz her kategorinin kullanım alanlarını ve örneklerini inceleyin. Ardından Başlayın eğitimimize veya kimlik doğrulama etkinlikleri, analiz etkinlikleri ve daha fazlası için özel kullanım kılavuzlarımıza gidin.
İlginç bir şey olduğunda kullanıcıları bilgilendir
Geliştiriciler Cloud Functions'i kullanıcıların etkileşimde kalmasını ve bir uygulamayla ilgili güncel bilgilerle ilgili kalmasını sağlamak için kullanabilir. Örneğin, kullanıcıların uygulamadaki birbirlerinin etkinliklerini takip etmelerine olanak tanıyan bir uygulama düşünün. Bir kullanıcının kendisini başka bir kullanıcının takipçisi olarak eklediği her seferde Realtime Database sayfasında bir yazma işlemi yapılır. Ardından bu yazma etkinliği, uygun kullanıcılara yeni takipçi kazandıklarını bildirmek için Firebase Cloud Messaging (FCM) bildirimleri oluşturacak bir işlevi tetikleyebilir.
- İşlev, takipçilerin depolandığı Realtime Database yoluna yazma işlemi yapıldığında tetiklenir.
- İşlev, FCM üzerinden gönderilecek bir mesaj oluşturur.
- FCM, bildirim mesajını kullanıcının cihazına gönderir.
Çalışan kodu incelemek için GitHub'daki örnek koda bakın:
- Node.js: fcm-notifications
- Python: fcm-notifications
İlginç diğer bildirim kullanım alanları
- Bültene abone olan kullanıcılara onay e-postaları gönderin.
- Kullanıcı kayıt işlemini tamamladığında karşılama e-postası gönder.
- Kullanıcı yeni hesap oluşturduğunda SMS onayı gönderin.
Veritabanı temizleme ve bakım işlemleri yapma
Cloud Functions veritabanı etkinlik işleyicisi sayesinde, sistemi istediğiniz durumda tutarak kullanıcı davranışına yanıt olarak Realtime Database veya Cloud Firestore öğesini değiştirebilirsiniz. Örneğin, yazma etkinliklerini izleyebilir ve kullanıcıların mesajlarındaki belirli dizelerin biçimini değiştirebilirsiniz (ör. tümünü büyük harf olarak değiştirebilirsiniz). Bunu şu şekilde yapabilirsiniz:
- İşlevin veritabanı etkinlik işleyicisi, belirli bir yoldaki yazma etkinliklerini dinler ve bir mesajın metnini içeren etkinlik verilerini alır.
- İşlev, dizeleri büyük harfe dönüştürmek için metni işler.
- İşlev, güncellenen metni veritabanına geri yazar.
Çalışan kodu incelemek için GitHub'daki örnek koda bakın:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Diğer veritabanı temizleme ve bakım kullanım alanları
- Silinen bir kullanıcının içeriğini Realtime Database'ten temizleyin.
- Bir Firebase veritabanındaki alt öğe sayısını sınırlayın.
- Realtime Database listesindeki öğelerin sayısını izleyin.
- Realtime Database'deki verileri Google Cloud BigQuery'ye kopyalayın.
- Metni emojiye dönüştürün.
- Veritabanı kayıtları için hesaplanan meta verileri yönetme.
Yoğun görevleri uygulamanızda yerine bulutta yürütme
Kullanıcının cihazında çalıştırmak yerine, yoğun kaynak kullanan işlemleri (ağır CPU veya ağ bağlantısı) Google Cloud'a aktarmak için Cloud Functions'ten yararlanarak uygulamanızın yanıt verebilirliğini artırabilirsiniz. Örneğin, Cloud Storage'a yüklenen resimleri dinleyen, resmi işlevi çalıştıran örneğe indiren, değiştiren ve Cloud Storage'a geri yükleyen bir işlev yazabilirsiniz. Değişiklikleriniz arasında sharp veya Pillow gibi araçlarla resimleri yeniden boyutlandırma, kırpma ya da dönüştürme yer alabilir.
- Bir resim dosyası Cloud Storage adresine yüklendiğinde işlev tetiklenir.
- İşlev, resmi indirir ve küçük resmini oluşturur.
- İşlev, küçük resim konumunu veritabanına yazar, böylece bir istemci uygulaması bu küçük resmi bulup kullanabilir.
- İşlev, küçük resmi yeni bir konumda Cloud Storage'e geri yükler.
- Uygulama, küçük resim bağlantısını indirir.
Görsel işleme örneğinin adım adım açıklamalı kılavuzu için Cloud Storage etkinliklerini işleme başlıklı makaleyi inceleyin.
Firebase bulutunda toplu işlere dair diğer örnekler
- Kullanılmayan Firebase hesaplarını düzenli olarak silme Node.js | Python.
- Yüklenen resimleri otomatik olarak yedekleyin Node.js | Python.
- Kullanıcılara toplu e-posta gönderme
- Verileri düzenli aralıklarla toplayın ve özetleyin.
- Beklemedeki bir çalışma sırasını işleme.
Üçüncü taraf hizmetler ve API'lerle entegrasyon
Cloud Functions, web API'lerini çağırarak ve kullanıma sunarak uygulamanızın diğer hizmetlerle daha iyi çalışmasına yardımcı olabilir. Örneğin, geliştirme konusunda ortak çalışma için kullanılan bir uygulama, GitHub'ın çalışma grubu sohbet odasına kaydetmesi yayınlayabilir.
- Kullanıcı, GitHub deposuna gönderim yapar.
- HTTPS işlevi, GitHub webhook API'si aracılığıyla tetiklenir.
- İşlev, bir Slack kanalına commit bildirimi gönderir.
Üçüncü taraf hizmetler ve API'lerle entegrasyon için diğer yöntemler
- Yüklenen görüntüleri analiz etmek ve etiketlemek için Google Cloud Vision API'yi kullanın.
- Google Çeviri'yi kullanarak mesajları çevirin.
- Kullanıcıların oturumunu açmak için özel kimlik doğrulama kullanma.
- Realtime Database yazmalarında bir webhook'a istek gönderin.
- Realtime Database öğelerinde tam metin aramayı etkinleştirin.
- Kullanıcılardan gelen ödemelerle ilgili işlem yapın.
- Telefon aramalarına ve SMS'lere otomatik yanıtlar oluşturabilirsiniz.
- Google Asistan'ı kullanarak bir chatbot oluşturun.