Firebase Data Connect'i kullanmaya başlama

Bu hızlı başlangıç kılavuzunda şunları öğreneceksiniz:

  • Firebase Data Connect'i Firebase projenize ekleyin.
  • Bir üretim örneğiyle çalışmak için Visual Studio Code uzantısı içeren bir geliştirme ortamı oluşturun.
  • Ardından şunları nasıl yapacağınızı göstereceğiz:
    • Bir e-posta uygulaması için şema oluşturun ve üretime dağıtın.
    • Şemanız için sorgular ve dönüşümleri tanımlayın.
    • Nihai prototipinizi üretime dağıtın.

Ön koşullar

Bu hızlı başlangıç kılavuzunu kullanmak için aşağıdakilere ihtiyacınız vardır.

Projenize Data Connect'i ekleme ve veri kaynağı oluşturma

  1. Henüz oluşturmadıysanız bir Firebase projesi oluşturun.
    1. Firebase konsolunda Proje ekle'yi tıklayın, ardından ekrandaki talimatları uygulayın.
  2. Projenizi Blaze planına yükseltin. Bu sayede PostgreSQL için Cloud SQL örneği oluşturabilirsiniz.

  3. Firebase konsolunun Data Connect bölümüne gidin ve ürün kurulumu iş akışını takip edin.

  4. PostgreSQL için Cloud SQL veritabanınız için bir konum seçin.

  5. Daha sonra onaylamak için proje, hizmet ve veritabanı adlarını ve kimliklerini not edin.

  6. Kalan kurulum akışını takip edip Bitti'yi tıklayın.

Bir geliştirme ortamı seçme ve kurma

Visual Studio Code'da bir uygulamanın prototipini oluşturarak Data Connect ile başlayacaksınız.

İsteğe bağlı olarak Data Connect emülatörünü kullanarak yerel geliştirme için yerel PostgreSQL veritabanı yükleyebilirsiniz. Bu kurulum, bu hızlı başlangıç kılavuzunun sonunda ele alınmıştır.

Data Connect, prototip oluşturma için iki geliştirme deneyimini destekler:

  • Web veya Kotlin Android geliştiricisiyseniz PostgreSQL için Cloud SQL örneğinize bağlanırken yerel olarak şema ve işlemler prototipini oluşturabilir veya (isteğe bağlı olarak) PostgreSQL'i yerel olarak çalıştırabilirsiniz.
  • Web geliştiricisiyseniz PostgreSQL ile önceden yapılandırılmış bir IDX şablonu, Data Connect emülatörüne sahip VS Code uzantısı ve sizin için ayarlanmış hızlı başlangıç kodu yardımıyla IDX çalışma alanında prototip oluşturmak amacıyla IDX'i kullanabilirsiniz.

VS kod geliştirme

IDX kullanmak yerine yerel olarak geliştirme yapmak istiyorsanız geliştirmenizi hızlı bir şekilde yinelemenize yardımcı olması için Firebase VS Code uzantısını ayarlayın.

  1. Yerel projeniz için yeni bir dizin oluşturun.
  2. Yeni dizinde VS Code'u açın.
  3. VSIX paketi olarak verilen uzantıyı Firebase Storage'dan indirin.
  4. VS Code'da Görünüm menüsünden Uzantılar'ı seçin.
  5. Uzantılar panelinin başlık çubuğunda menü simgesini more_horiz tıklayın ve ardından VSIX'ten yükle... adımlarını izleyin.

IDX geliştirmesi

IDX, web uygulaması geliştirme için optimize edilmiş bir ortamdır. Kotlin Android geliştiricisiyseniz VS Kodu geliştirme sekmesindeki adımları uygulayın.

Data Connect IDX şablonu oluşturmak için:

  1. Şablona Project IDX sitesinde erişin.
  2. Kurulum akışını uygulayın.

Yerel projenizi oluşturun

Normal talimatları uygulayarak KSA'yı yükleyin.

Ardından, Firebase Data Connect denemesini etkinleştirin.

firebase experiments:enable dataconnect

Yerel projenizi ayarlamak için proje dizininizi başlatın.

Proje dizininizi oluşturun

Proje dizininizi başlatın.

VS Code'un sol panelinde Firebase simgesini tıklayarak Firebase VS Code uzantısı kullanıcı arayüzünü açın.

Firebase uzantısı kullanıcı arayüzünde:

  1. Oturum açtığınızdan emin olun.
  2. Veritabanı temel hazırlığı da dahil olmak üzere Data Connect kurulum akışının tamamlandığını Google Cloud Console'u kullanarak onaylayın.
  3. Run firebase init (firebase init çalıştır) düğmesini tıklayın.
  4. İstemler için VS Code alt panelindeki Terminal sekmesini kontrol edin.
  5. Bu dizinde kullanılacak bir özellik olarak Data Connect 'i seçin.
  6. İstendiğinde, daha önce konsolda oluşturduğunuz Data Connect projesinin proje, hizmet ve veritabanı kimliklerini sağlayın.

Bu akış, yerel çalışma dizininizde önemli dataconnect.yaml ve connector.yaml dosyalarını içeren firebase.json ve .firebaserc dosyalarının yanı sıra dataconnect alt dizini oluşturur.

Data Connect şeması ve sorgusu oluşturma

Kurulumunuz tamamlandı. Artık Data Connect ile geliştirmeye başlayabiliriz.

Kullanıcıları ve e-postaları modellemek için GraphQL'i kullanmaya başlayın. Kaynakların güncellenmesine kalan süre:

  • /dataconnect/schema/schema.gql
  • /dataconnect/default-connector/queries.gql

Şema oluşturmaya başla

Firebase proje dizininizde dataconnect klasörüne dikkat edin. Bu aşamada GraphQL'i kullanarak Cloud SQL veritabanı için veri modelinizi tanımlarsınız.

/dataconnect/schema/schema.gql dosyasında, kullanıcıları ve e-postaları içeren bir şema tanımlamaya başlayın.

Kullanıcı

Data Connect'te GraphQL alanları sütunlarla eşlenir. Kullanıcıların bir uid, name ve address e-posta adresi vardır. Data Connect birkaç temel veri türünü tanır: String ve Date.

Aşağıdaki snippet'i kopyalayın veya dosyadaki ilgili satırların açıklamasını kaldırın.

# File `/dataconnect/schema/schema.gql`

type User @table(key: "uid") {
   uid: String!
   name: String!
   address: String!
}

Herhangi bir UUID id anahtarı sağlanmamışsa Firebase Data Connect, varsayılan olarak bir UUID ekler. Ancak bu durumda, uid öğemin birincil anahtar olmasını istersiniz. Bunu @table(key: "uid") yönergesiyle yapabilirsiniz.

E-posta

Artık kullanıcılarınız olduğuna göre e-postaları modelleyebilirsiniz. Burada, e-posta verileri için tipik alanları (veya sütunları) ekleyebilirsiniz. Birincil anahtarın yönetilmesinde Data Connect'ten yararlanabileceğiniz için bu kez birincil anahtar eklenmez.

# File `/dataconnect/schema/schema.gql`

type Email @table {
   subject: String!
   sent: Date!
   text: String!
   from: User!
}

from alanının bir User türüyle eşlendiğine dikkat edin. Data Connect, bunun Email ile User arasında bir ilişki olduğunu anlıyor ve bu ilişkiyi sizin adınıza yönetecek.

Şemanızı üretime dağıtma

Üretim veritabanınızla çalışmak için Firebase VS Code uzantısını kullandığınızdan, devam etmeden önce şemanızı dağıtmanız gerekiyor.

  1. Dağıtım için Firebase VS Code uzantısını kullanabilirsiniz.
    • Uzantı kullanıcı arayüzünde, Firebase Data Connect panelinin altındaki Dağıt'ı tıklayın.
  2. Alternatif olarak Firebase CLI'yı kullanabilirsiniz.

    firebase deploy
    
  3. Uzantı veya CLI akışında, şema değişikliklerini incelemeniz ve zararlı olabilecek değişiklikleri onaylamanız gerekebilir. Şunları yapmanız istenir:

    • firebase dataconnect:sql:diff kullanarak şema değişikliklerini inceleme
    • İstediğiniz değişiklikleri firebase dataconnect:sql:migrate tarihine kadar başlatılan akışı kullanarak uygulayın.

Tablolarınıza veri eklemek için mutasyonlar yürütme

VS Code düzenleyici panelinde, /dataconnect/schema/schema.gql ürünündeki GraphQL türlerinin üzerinde CodeLens düğmelerini görebilirsiniz.

Geliştirme zamanı sorguları ve mutasyonlar

Bu CodeLens düğmeleriyle ilişkilendirilmiş adsız işlemler, hızlı ve faydalı işlemlerdir. Bu örnekte, tabloya veri eklenir. Data Connect, veritabanında nasıl ve kimlerin çalışabileceğini açıklamak için GraphQL mutasyonlarını kullanır. Bu düğme kullanıldığında, hızlı veri başlangıç noktası için bir geliştirme zamanı işlemi oluşturulur.

Şemanızı üretime dağıttığınızdan, bu işlemleri arka ucunuzda gerçekleştirmek için schema.gql'de Veri ekle CodeLens düğmelerini ve oluşturulan dosyalarda Çalıştır (Üretim) düğmelerini kullanabilirsiniz.

User ve Email tablolarına kayıt eklemek için:

  1. schema.gql ürününde User tür beyanının üzerindeki Veri ekle düğmesini tıklayın.
  2. Oluşturulan User_insert.gql dosyasında, üç alana ait verileri sabit kodlayın.
  3. Çalıştır (Üretim) düğmesini tıklayın.
    Firebase Data Connect için Code Lens Çalıştır düğmesi
  4. Email tablosuna bir kayıt eklemek için önceki adımları tekrarlayın. Oluşturulan Email_insert mutasyonunda belirtildiği gibi, fromUid alanında kullanıcınızın uid değerini sağlayın.

E-postaları listelemek için sorgu yazın

Şimdi sıra işin eğlenceli kısmına, sorgulara. Geliştirici olarak, GraphQL sorguları yerine SQL sorguları yazmaya alışkınsınız. Bu nedenle, bu sorgu başlangıçta biraz farklı görünebilir. Bununla birlikte, GraphQL ham SQL'den çok daha kısa ve tür açısından güvenlidir. VS Code uzantımız ise geliştirme deneyimini kolaylaştırıyor.

/dataconnect/default-connector/queries.gql dosyasını düzenlemeye başlayın. Tüm e-postaları almak istiyorsanız bunun gibi bir sorgu kullanın.

# File `/dataconnect/default-connector/queries.gql`

query ListEmails @auth(level: NO_ACCESS) {
  emails {
    id, subject, text, sent
    from {
      name
    }
  }
}

Yakındaki CodeLens düğmesini kullanarak sorguyu yürütün.

Gerçekten heyecan verici bir özellik, veritabanının ilişkilerini bir grafik gibi ele alabilme. E-postada, Kullanıcıya referans veren bir from alanı olduğundan, alanı iç içe yerleştirebilir ve kullanıcıyla ilgili bilgileri geri alabilirsiniz.

Tamamladığınız prototipi üretime dağıtın

Bir geliştirme iterasyonu ile çalıştınız. Artık şemanızı, verilerinizi ve sorgularınızı, şemanızda yaptığınız gibi Firebase uzantısı kullanıcı arayüzü veya Firebase CLI ile sunucuya dağıtabilirsiniz.

Dağıtımdan sonra Data Connect hizmetiniz istemcilerin işlemlerini işlemeye hazır hale gelir. PostgreSQL İçin Cloud SQL örneği, dağıtılan nihai oluşturulmuş şema ve verilerle güncellenecektir.

(İsteğe bağlı) PostgreSQL'i yerel olarak yükleme

PostgreSQL'i yerel olarak yüklemek ve emülatörle entegre etmek, tamamen yerel bir geliştirme ortamında prototip oluşturmanıza olanak tanır.

Yeni bir PostgreSQL örneği yükleyebilir veya mevcut bir örneği kullanabilirsiniz.

PostgreSQL'i yükleme

Platformunuz için talimatları uygulayarak PostgreSQL sürüm 15.x'i yükleyin.

Yükleme sırasında ana makine adı, bağlantı noktası, kullanıcı adı, şifre ve ilgili parametreler çıkışına dikkat edin.

PostgreSQL örneğinize bağlanmak için emülatör aşağıdakilere ihtiyaç duyar:

  • Bu kurulum yapılandırma parametreleri
  • dataconnect.yaml içindeki veritabanı adı ve yerel örneğinizde başlatılan uygun şekilde adlandırılmış bir veritabanı.

.firebaserc öğenizi bağlantı dizesiyle güncelleme

.firebaserc dosyanızdaki aşağıdaki anahtara eklenecek bir bağlantı dizesi için yerel PostgreSQL kullanıcı adınız ve şifreniz dahil olmak üzere yerel PostgreSQL yapılandırma ayrıntılarınızı kullanın.

{
  "projects": {},
  ...,
  ...,
  "dataconnectEmulatorConfig": {
    "postgres": {
      "localConnectionString": "postgresql://postgresusername:postgrespassword@localhost:5432?sslmode=disable"
    }}
}

Yerel PostgreSQL örneğinize bağlanın

Bu yapılandırmayı tamamladıktan sonra yerel veritabanınıza bağlanmak için:

  1. VS Code'da, soldaki panelde Firebase simgesini tıklayarak Firebase VS Code uzantısı kullanıcı arayüzünü açın.
  2. Connect to Local PostgreSQL (Yerel PostgreSQL'e Bağlan) düğmesini tıklayın.

Sonraki adımlar