Cloud Functions for Firebase

Cloud Functions for Firebase; arka plan etkinlikleri, HTTPS istekleri, Admin SDK veya Cloud Scheduler işlerinin tetiklediği etkinliklere yanıt olarak arka uç kodlarını otomatik olarak çalıştırmanızı sağlayan sunucusuz bir çerçevedir. JavaScript, TypeScript veya Python kodunuz Google Cloud altyapısında depolanır ve yönetilen bir ortamda çalıştırılır. Kendi sunucularınızı yönetmeniz ve ölçeklendirmeniz gerekmez.

Google Cloud'da Cloud Functions'ı zaten kullanıyor musunuz? Firebase'in bu resme nasıl uyum sağladığı hakkında daha fazla bilgi edinin.

Başlarken Kullanım alanları

Temel özellikler

Firebase özelliklerini entegre eder ve Firebase'i Google Cloud'a bağlar

Yazdığınız işlevler, Firebase Authentication tetikleyicilerinden Cloud Storage Tetikleyicilerine kadar çeşitli Firebase ve Google Cloud özellikleri tarafından oluşturulan etkinliklere yanıt verebilir.

Cloud Functions ile Admin SDK'yı kullanarak Firebase özellikleri genelinde entegrasyon yapın ve kendi webhook'larınızı yazarak üçüncü taraf hizmetlerle entegrasyon sağlayın. Cloud Functions, standart kodu en aza indirerek işlevinizin Firebase ve Google Cloud'u kullanmayı kolaylaştırır.
Bakım gerektirmez Komut satırından tek bir komutla JavaScript, TypeScript veya Python kodunuzu sunucularımıza dağıtın. Ardından Firebase, kullanıcılarınızın kullanım kalıplarına uygun şekilde bilgi işlem kaynaklarını otomatik olarak ölçeklendirir. Kimlik bilgileri, sunucu yapılandırması, yeni sunucu sağlama veya eski sunucuları devre dışı bırakma gibi konularda endişelenmezsiniz.
Uygulama mantığını gizli ve güvenli tutar Çoğu durumda geliştiriciler, istemci tarafında değişiklik yapılmasını önlemek için uygulama mantığını sunucuda kontrol etmeyi tercih eder. Ayrıca, bazen bu koda tersine mühendislik uygulanması istenmez. Cloud Functions, istemciden tamamen yalıtılmıştır. Bu sayede gizli olduğundan ve her zaman tam olarak istediğinizi yaptığından emin olabilirsiniz.

Nasıl çalışır?

Bir işlev yazıp dağıttıktan sonra Google 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 dinleyip işlevi tetiklendiğinde çalıştırabilir.

Yük arttıkça veya azaldıkça Google yanıt verir ve işlevinizi çalıştırmak için gereken sanal sunucu örneği sayısını hızla ölçeklendirir. Her işlev kendi ortamında, kendi yapılandırmasıyla izole halde çalışır.

Bir arka plan işlevinin yaşam döngüsü

  1. Bir etkinlik sağlayıcısı (ör. Cloud Firestore) seçerek ve işlevin yürütülmesi gereken koşulları tanımlayarak yeni bir işlev için kod yazarsınız.
  2. İşlevinizi dağıttığınızda:
    1. Firebase CLI, işlev kodunun .zip arşivini oluşturur. Bu arşiv, Cloud Functions'ın projenizde gcf-artifacts adlı Artifact Registry deposu oluşturmadan önce gcf-sources ön ekiyle bir Cloud Storage paketine yüklenir.
    2. Cloud Build işlev kodunu alır ve işlev kaynağını oluşturur. Cloud Build günlüklerini Google Cloud Console'da görüntüleyebilirsiniz.
    3. Derlenen işlevler kodunun container görüntüsü, projenizdeki özel bir Artifact Registry deposuna (gcf-artifacts adlı) yüklenir ve yeni işleviniz kullanıma sunulur.
  3. Etkinlik sağlayıcı, işlevin koşullarıyla eşleşen bir etkinlik oluşturduğunda kod çağrılır.
  4. İşlev çok sayıda etkinliği işlemekle meşgulse Google, işleri daha hızlı işlemek için daha fazla örnek oluşturur. İşlev boştaysa örnekler temizlenir.
  5. Güncellenmiş kodu dağıtarak işlevi güncellediğinizde, Artifact Registry'deki derleme yapılarıyla birlikte eski sürümlerin örnekleri temizlenir ve bunların yerini yeni örnekler alır.
  6. İşlevi sildiğinizde tüm örnekler, zip arşivleri ve Artifact Registry'deki ilgili derleme yapıları temizlenir. İşlev ile etkinlik sağlayıcı arasındaki bağlantı kaldırılır.

Arka plan işlevine sahip etkinlikleri dinlemenin yanı sıra, işlevleri doğrudan bir HTTP isteği veya istemciden yapılan bir çağrıyla da çağırabilirsiniz. Ayrıca, Yönetici SDK'si aracılığıyla işlevleri sabit bir programa veya görev işlevlerini sıraya koymak için tetikleyebilirsiniz.

Uygulama yolu

Cloud Functions'ı kurma Firebase CLI'yı yükleyin ve Firebase projenizde Cloud Functions'ı ilk kullanıma hazırlayın.
Fonksiyonları yazma Firebase hizmetleri, Google Cloud hizmetleri veya diğer etkinlik sağlayıcılardan gelen etkinlikleri işlemek için JavaScript kodu, TypeScript kodu veya Python kodu yazın.
İşlevleri test edin İşlevlerinizi test etmek için yerel emülatörü kullanın.
Dağıtma ve izleme Projeniz için faturalandırmayı etkinleştirin ve Firebase CLI'yi kullanarak işlevlerinizi dağıtın. Günlüklerinizi görüntülemek ve bunlar arasında arama yapmak için Google Cloud Console'u kullanabilirsiniz.

Sonraki adımlar