Firebase Data Connect'i yerel olarak kullanmaya başlayın

Bu hızlı başlangıç kılavuzunda, üretim SQL örneği oluşturmadan uygulamanızda Firebase Data Connect'ü yerel olarak nasıl oluşturacağınızı öğreneceksiniz.

  • Firebase Data Connect dosyasını Firebase projenize ekleyin.
  • Yerel bir örnekle çalışmak için Visual Studio Code uzantısı içeren bir geliştirme ortamı oluşturun.
  • Ardından aşağıdakileri nasıl yapacağınızı göstereceğiz:
    • Film uygulaması için şema oluşturma
    • Uygulamanızda kullanılacak sorguları ve mutasyonları tanımlayın
    • Sorgularınızı ve mutasyonlarınızı yerel bir emülatörde örnek veri kullanarak test edin
    • Güçlü şekilde yazılmış SDK'lar oluşturun ve bunları uygulamanızda kullanın
    • Son şemanızı, sorgularınızı ve verilerinizi buluta yayayın (İsteğe bağlı, Blaze planı gerekir).

Ön koşullar

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

Geliştirme ortamını ayarlama

Şemayı yönetmek ve uygulamanızda kullanılacak sorguları tanımlamak için Visual Studio Code'a ihtiyacınız vardır. Ayrıca, güçlü şekilde yazılmış bir SDK sizin için otomatik olarak oluşturulur:

  1. Yerel projeniz için yeni bir dizin oluşturun.
  2. VS Code'u yeni dizinde açın.
  3. Visual Studio Code Marketplace'ten Firebase Data Connect uzantısını yükleyin.

Proje dizininizi oluşturma

Yerel projenizi oluşturmak için proje dizininizi ilk kullanıma hazırlayın. VS Code'un sol panelinde Firebase simgesini tıklayarak Data Connect VS Code uzantısı kullanıcı arayüzünü açın:

  1. Google ile oturum aç düğmesini tıklayın.
  2. Firebase projesi bağla düğmesini tıklayın ve daha önce konsolda oluşturduğunuz projeyi seçin.
  3. Firebase init'i çalıştır düğmesini tıklayın.
  4. Emülatörleri başlat düğmesini tıklayın.

Şema oluşturma

Firebase proje dizininizdeki /dataconnect/schema/schema.gql dosyasında, filmlerle ilgili bir GraphQL şeması tanımlamaya başlayın.

Film

Data Connect'te GraphQL alanları sütunlarla eşlenir. Filmde id, title, imageUrl ve genre var. Data Connect, String ve UUID temel veri türlerini tanır.

Aşağıdaki snippet'i kopyalayın veya dosyada ilgili satırların yorumunu kaldırın.

# By default, a UUID id key will be created by default as primary key.
# If you want to specify a primary key, say title, which you can do through
# the @table(key: "title") directive
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

MovieMetadata

Aşağıdaki snippet'i kopyalayın veya dosyada ilgili satırların yorumunu kaldırın.

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

movie alanının Movie türüyle eşleştirildiğini unutmayın. Data Connect, bunun Movie ile MovieMetadata arasındaki bir ilişki olduğunu anlıyor ve bu ilişkiyi sizin için yönetecektir.

Veri Bağlantısı şemaları hakkında daha fazla bilgiyi dokümanda bulabilirsiniz.

Tablolarınıza veri ekleme

VS Code düzenleyici panelinde, /dataconnect/schema/schema.gql içindeki GraphQL türlerinin üzerinde CodeLens düğmelerinin göründüğünü görürsünüz. Yerel veritabanınıza veri eklemek için Veri ekle ve Çalıştır (Yerel) düğmelerini kullanabilirsiniz.

Movie ve MovieMetadata tablolarına kayıt eklemek için:

  1. schema.gql dosyasında, Movie tür beyanının üstündeki Veri ekle düğmesini tıklayın.
    Firebase Data Connect için Code Lens Veri ekle düğmesi
  2. Oluşturulan Movie_insert.gql dosyasında, üç alan için verileri sabit kodlayın.
  3. Çalıştır (Yerel) düğmesini tıklayın.
    Firebase Data Connect için Code Lens Çalıştır düğmesi
  4. Oluşturulan MovieMetadata_insert mutasyonunda istendiği gibi MovieMetadata tablosuna kayıt eklemek için önceki adımları tekrarlayın ve movieId alanına Filminizin id değerini girin.

Verilerin eklendiğini hızlıca doğrulamak için:

  1. schema.gql dosyasına dönüp Movie tür beyanının üzerindeki Verileri oku düğmesini tıklayın.
  2. Elde edilen Movie_read.gql dosyasında, sorguyu yürütmek için Çalıştır (Yerel) düğmesini tıklayın.

Veri Bağlantısı mutasyonları hakkında daha fazla bilgiyi dokümanda bulabilirsiniz.

Sorgunuzu tanımlayın

Şimdi eğlenceli kısma geçelim: Uygulamanızda ihtiyaç duyacağınız sorguları tanımlayalım. Geliştirici olarak GraphQL sorguları yerine SQL sorguları yazmaya alışkın olduğunuzdan bu durum başlangıçta biraz farklı gelebilir. Ancak GraphQL, ham SQL'den çok daha kısa ve tür açısından güvenlidir. VS Code uzantımız da geliştirme deneyimini kolaylaştırır.

/dataconnect/connector/queries.gql dosyasını düzenlemeye başlayın. Tüm filmleri almak istiyorsanız aşağıdaki gibi bir sorgu kullanın.

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

# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

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

Buradaki gerçekten heyecan verici bir özellik, veritabanının ilişkilerini grafik gibi ele alma olanağıdır. MovieMetadata, filme referans veren bir movie alanına sahip olduğundan, alanı iç içe yerleştirebilir ve film bilgileri hakkında bilgi alabilirsiniz. Oluşturulan movieMetadata_on_movie türünü ListMovies sorgusuna eklemeyi deneyin.

query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
    movieMetadata_on_movie {
        rating
    }
  }
}

Veri Bağlantısı sorguları hakkında daha fazla bilgiyi dokümanda bulabilirsiniz.

SDK oluşturma ve bunları uygulamanızda kullanma

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

  1. SDK'yı uygulamaya ekle düğmesini tıklayın.
  2. Açılan iletişim kutusunda, uygulamanızın kodunu içeren bir dizin seçin. Data Connect. SDK kodu oluşturulur ve bu klasöre kaydedilir.

  3. Uygulama platformunuzu seçin, ardından SDK kodunun seçtiğiniz dizinde hemen oluşturulduğunu unutmayın.

Oluşturulan SDK'yı istemci uygulamalarından (web, Android, iOS, Flutter) sorgu ve mutasyon çağırmada nasıl kullanacağınızı öğrenin.

Şemanızı ve sorgunuzu üretime dağıtma

Uygulamanızda yerel kurulumunuzu tamamladıktan sonra şemanızı, verilerinizi ve sorgularınızı buluta dağıtabilirsiniz. Cloud SQL örneği oluşturmak için Blaze planına ihtiyacınız vardır.

  1. Firebase konsolunun Veri Bağlantısı bölümüne gidin ve ücretsiz deneme sürümü Cloud SQL örneği oluşturun.

  2. VS Code'a entegre Terminal'de firebase init dataconnect komutunu çalıştırın ve konsolda yeni oluşturduğunuz Bölge/Hizmet Kimliği'ni seçin.

  3. "dataconnect/dataconnect.yaml dosyası zaten var, üzerine yazılsın mı?" sorulduğunda "Y" seçeneğini belirleyin.

  4. Data Connect VS Code uzantısı kullanıcı arayüzünde Üretime dağıt düğmesini tıklayın.

  5. Dağıtıldıktan sonra şemanın, işlemlerin ve verilerin buluta yüklendiğini doğrulamak için Firebase konsoluna gidin. Şemayı görüntüleyebilir ve işlemlerinizi konsolda da çalıştırabilirsiniz. PostgreSQL için Cloud SQL örneği, oluşturulan nihai dağıtılmış şemasıyla ve verileriyle güncellenir.

Sonraki adımlar

Dağıtılan projenizi inceleyin ve daha fazla araç keşfedin:

  • Firebase konsolunda veritabanınıza veri ekleyin, şemalarınızı inceleyip değiştirin ve Data Connect hizmetinizi izleyin.

Dokümanlar bölümünden daha fazla bilgi edinebilirsiniz. Örneğin, hızlı başlangıç kılavuzunu tamamladığınız için: