Cloud Functions ile neler yapabilirsiniz?

Cloud Functions, geliştiricilerin Firebase ve Google Cloud etkinliklerine erişmelerinin yanı sıra 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ı beklense de tipik kullanım alanları aşağıdaki gibi olabilir:

İlgilendiğiniz her kategorinin kullanım alanlarını ve örneklerini inceleyin, ardından Başlarken eğiticimize ya da kimlik doğrulama etkinlikleri, analiz etkinlikleri ve daha fazlasına yönelik özel "Nasıl Yapılır?" kılavuzlarına geçin.

İlginç bir şey olduğunda kullanıcıları bilgilendir

Geliştiriciler, kullanıcıların etkileşimini sağlamak ve bir uygulamayla ilgili bilgileri güncel tutmak için Cloud Functions'ı 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, Gerçek Zamanlı Veritabanı'nda yazma işlemi gerçekleşir. Ardından bu yazma etkinliği, uygun kullanıcılara yeni takipçiler kazandıklarını bildirmek için Firebase Cloud Messaging (FCM) bildirimleri oluşturma işlevini tetikleyebilir.

Aşağıda açıklanan uygulama akışını gösteren şema

  1. İşlev, takipçilerin depolandığı Realtime Database yoluna yazma işlemlerinde tetiklenir.
  2. İşlev, FCM aracılığıyla gönderilecek bir mesaj oluşturur.
  3. FCM, bildirim mesajını kullanıcının cihazına gönderir.

Çalışan kodu incelemek için GitHub'daki örnek koda bakın:

Bildirimle ilgili diğer ilginç 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.
  • Bir kullanıcı yeni hesap oluşturduğunda SMS onayı gönderin.

Veritabanı temizliği ve bakımı gerçekleştirme

Cloud Functions veritabanı olayı işleme özelliği sayesinde, Realtime Database'i veya Cloud Firestore'u kullanıcı davranışına göre değiştirebilir ve sistemi istediğiniz durumda tutabilirsiniz. Örneğin, yazma etkinliklerini izleyebilir ve kullanıcıların mesajlarındaki belirli dizelerin biçimini (örneğin, tümünü büyük harfli olacak şekilde) değiştirebilirsiniz. Bunu şu şekilde yapabilirsiniz:

Aşağıda açıklanan uygulama akışını gösteren şema

  1. İşlevin veritabanı etkinlik işleyicisi, belirli bir yoldaki yazma etkinliklerini dinler ve bir mesajın metnini içeren etkinlik verilerini alır.
  2. İşlev, dizeleri büyük harfli olacak şekilde değiştirmek için metni işler.
  3. İşlev, güncellenen metni veritabanına yazar.

Çalışan kodu incelemek için GitHub'daki örnek koda bakın:

Veritabanı temizleme ve bakımına yönelik diğer kullanım alanları

  • Silinen bir kullanıcının içeriğini Realtime Database'den tamamen silin.
  • Firebase veritabanındaki alt düğümlerin sayısını sınırlandırın.
  • Realtime Database listesindeki öğe sayısını izler.
  • Realtime Database'den Google Cloud BigQuery'ye veri kopyalayın.
  • Metni emojiye dönüştürün.
  • Veritabanı kayıtları için hesaplanan meta verileri yönetme.

Yoğun görevleri uygulamanız yerine bulutta yürütün

Google Cloud'un kaynakları yoğun şekilde kullanan işlerine (yoğun CPU veya ağ iletişimi) boşaltmak için Cloud Functions'tan yararlanarak uygulamanızın kullanıcıları cihazında çalıştırmayı tercih edebilir, uygulamanızın duyarlılığını artırabilirsiniz. Örneğin, Cloud Storage'a görüntü yüklemelerini dinlemek için bir işlev yazabilir, görüntüyü işlevi çalıştıran örneğe indirebilir, değiştirebilir ve tekrar Cloud Storage'a yükleyebilirsiniz. Bu değişiklikler arasında sharp veya Yastık gibi araçlarla resimleri yeniden boyutlandırma, kırpma veya dönüştürme yer alabilir.

Aşağıda açıklanan uygulama akışını gösteren şema

  1. Cloud Storage'a resim dosyası yüklendiğinde bir işlev tetiklenir.
  2. İşlev, resmi indirir ve resmin küçük resim sürümünü oluşturur.
  3. İşlev, küçük resim konumunu veritabanına yazar, böylece bir istemci uygulaması bu küçük resmi bulup kullanabilir.
  4. İşlev, küçük resmi yeni bir konumda Cloud Storage'a geri yükler.
  5. Uygulama, küçük resim bağlantısını indirir.

Görüntü işleme örneğinin adım adım açıklamalı kılavuzu için Cloud Storage etkinliklerini işleme kılavuzuna bakın.

Firebase bulutunda toplu işlere dair diğer örnekler

  • Kullanılmayan Firebase hesaplarını düzenli olarak silin Node.js | Python.
  • Yüklenen resimleri otomatik olarak yedekleyin Node.js | Python.
  • Kullanıcılara toplu e-posta gönderebilir.
  • 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ğırıp 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.

Aşağıda açıklanan uygulama akışını gösteren şema

  1. Kullanıcı, kaydetme işlemlerini GitHub deposuna aktarır.
  2. HTTPS işlevi, GitHub webhook API'si aracılığıyla tetiklenir.
  3. İşlev, bir ekibin Slack kanalına kayıt bildirimi gönderir.

Üçüncü taraf hizmetler ve API'lerle entegrasyonun diğer yolları

  • 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 yazma işlemlerinde webhook'a istek gönderin.
  • Realtime Database öğelerinde tam metin aramayı etkinleştir.
  • Kullanıcılardan gelen ödemelerle ilgili işlem yapın.
  • Telefon çağrıları ve SMS mesajları için otomatik yanıtlar oluşturun.
  • Google Asistan'ı kullanarak bir chatbot oluşturun.