Cloud Functions ile neler yapabilirsiniz?

Cloud Functions, geliştiricilerin Firebase ve Google Cloud etkinliklerine erişmesine ve bu etkinliklere göre kod çalıştırmak için ölçeklenebilir işlem gücüne olanak tanır. Firebase uygulamalarının Cloud Functions'ı benzersiz gereksinimlerini karşılamak için benzersiz şekillerde kullanması beklenmektedir. Ancak tipik kullanım alanları aşağıdaki alanlara girebilir:

İlginizi çeken her bir kategorinin kullanım alanlarını ve örneklerini inceledikten sonra Başlangıç eğiticimize veya kimlik doğrulama etkinlikleri, analiz etkinlikleri ve daha fazlasıyla ilgili belirli "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 bir uygulamayla etkileşim halinde olmasını ve ilgili bilgilerden haberdar olmalarını sağlamak için Cloud Functions'ı kullanabilir. Örneğin, kullanıcıların uygulama içinde birbirlerinin etkinliklerini izlemelerine izin veren bir uygulama düşünün. Bir kullanıcı kendisini başka bir kullanıcının takipçisi olarak eklediğinde, Realtime Database'de bir 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şturan bir işlevi 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öndermek üzere bir ileti oluşturur.
  3. FCM, bildirim mesajını kullanıcının cihazına gönderir.

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

Bildirimlerin 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önderin.
  • Bir kullanıcı yeni hesap oluşturduğunda SMS onayı gönder.

Veritabanı temizleme ve bakım işlemlerini gerçekleştirme

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

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

  1. İşlevin veritabanı etkinliği işleyicisi, belirli bir yoldaki yazma etkinliklerini dinler ve bir mesaj metnini içeren etkinlik verilerini getirir.
  2. İşlev, dizeleri büyük harfe dönüştürecek şekilde metni işler.
  3. İşlev, güncellenen metni tekrar veritabanına yazar.

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

Veritabanı temizlik ve bakımıyla ilgili diğer kullanım alanları

  • Silinmiş bir kullanıcının içeriği Realtime Database'den tamamen silinsin.
  • Firebase veritabanındaki alt düğüm sayısını sınırlayın.
  • Realtime Database listesindeki öğe sayısını takip eder.
  • 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önetin.

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

Google Cloud kaynaklarını yoğun bir şekilde kullanan işlere (ağır CPU veya ağ iletişimi) yük atmak için Cloud Functions'tan yararlanabilir ve böylece uygulamanızın duyarlılığını bir kullanıcının cihazında çalıştırmak yerine artırabilirsiniz. Örneğin, Cloud Storage'a yapılan görüntülerin yüklenmesini dinlemek, görüntüyü işlevi çalıştıran örneğe indirmek, değiştirmek ve tekrar Cloud Storage'a yüklemek için bir işlev yazabilirsiniz. Değişiklikleriniz, Sharp veya Pillow gibi araçlar kullanarak resimleri yeniden boyutlandırmayı, kırpmayı veya dönüştürmeyi içerebilir.

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, görüntüyü indirir ve küçük resim sürümünü oluşturur.
  3. İşlev, küçük resim konumunu veritabanına yazar. Böylece, bir istemci uygulaması bunu bulup kullanabilir.
  4. İşlev, küçük resmi yeni bir konumda yeniden Cloud Storage'a 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 bulutundaki diğer toplu iş örnekleri

  • 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önderin.
  • Verileri düzenli aralıklarla toplayın ve özetleyin.
  • Bekleyen ç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 aşamasında ortak çalışma için kullanılan bir uygulama, GitHub kaydetme işlemlerini bir çalışma grubu sohbet odasına gönderebilir.

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

  1. Kullanıcı, kaydetme işlemlerini GitHub kod deposuna aktarır.
  2. HTTPS işlevleri, GitHub webhook API'si aracılığıyla tetiklenir.
  3. İşlev, ekibin Slack kanalına kaydetme 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 oturum açmak için özel kimlik doğrulamasını kullanın.
  • Realtime Database yazmalarında bir webhook'a istek gönderin.
  • Realtime Database öğelerinde tam metin aramasını etkinleştir.
  • Kullanıcılardan gelen ödemeleri işleme.
  • Telefon çağrılarına ve SMS mesajlarına otomatik yanıtlar oluşturun.
  • Google Asistan'ı kullanarak chatbot oluşturun.