Bắt đầu sử dụng Firebase Data Connect tại địa phương

Trong phần bắt đầu nhanh này, bạn sẽ tìm hiểu cách tạo Firebase Data Connect trong ứng dụng cục bộ mà không cần thiết lập phiên bản SQL chính thức.

  • Thêm Firebase Data Connect vào dự án Firebase.
  • Thiết lập môi trường phát triển bao gồm tiện ích Visual Studio Code để làm việc với một thực thể cục bộ.
  • Sau đó, chúng tôi sẽ hướng dẫn bạn cách:
    • Tạo giản đồ cho ứng dụng phim
    • Xác định cụm từ tìm kiếm và đột biến sẽ được sử dụng trong ứng dụng
    • Kiểm thử truy vấn và đột biến bằng dữ liệu mẫu trên trình mô phỏng cục bộ
    • Tạo SDK có kiểu mạnh và sử dụng các SDK đó trong ứng dụng
    • Triển khai giản đồ, truy vấn và dữ liệu cuối cùng lên đám mây (Không bắt buộc, cần có gói Blaze).

Điều kiện tiên quyết

Để sử dụng hướng dẫn nhanh này, bạn cần có những thông tin sau.

Thiết lập môi trường phát triển

Bạn sẽ cần Visual Studio Code để quản lý giản đồ và xác định các truy vấn sẽ được sử dụng trong ứng dụng của bạn. Đồng thời, một SDK có kiểu mạnh sẽ được tạo tự động cho bạn:

  1. Tạo một thư mục mới cho dự án cục bộ.
  2. Mở VS Code trong thư mục mới.
  3. Cài đặt tiện ích Firebase Data Connect từ Visual Studio Code Marketplace.

Thiết lập thư mục dự án

Để thiết lập dự án cục bộ, hãy khởi chạy thư mục dự án. Trong bảng điều khiển bên trái của VS Code, hãy nhấp vào biểu tượng Firebase để mở giao diện người dùng của tiện ích Data Connect VS Code:

  1. Nhấp vào nút Đăng nhập bằng Google.
  2. Nhấp vào nút Kết nối dự án Firebase rồi chọn dự án bạn đã tạo trước đó trong bảng điều khiển.
  3. Nhấp vào nút Run firebase init (Chạy firebase init).
  4. Nhấp vào nút Start emulators (Bắt đầu trình mô phỏng).

Tạo giản đồ

Trong thư mục dự án Firebase, trong tệp /dataconnect/schema/schema.gql, hãy bắt đầu xác định giản đồ GraphQL về phim.

Phim

Trong Data Connect, các trường GraphQL được liên kết với các cột. Movie có id, title, imageUrlgenre. Data Connect nhận dạng các loại dữ liệu nguyên gốc: StringUUID.

Sao chép đoạn mã sau hoặc bỏ ghi chú các dòng tương ứng trong tệp.

# 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

Sao chép đoạn mã sau hoặc bỏ ghi chú các dòng tương ứng trong tệp.

# 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
}

Lưu ý rằng trường movie được liên kết với một loại Movie. Data Connect hiểu rằng đây là mối quan hệ giữa MovieMovieMetadata và sẽ quản lý mối quan hệ này cho bạn.

Tìm hiểu thêm về giản đồ Data Connect trong tài liệu

Thêm dữ liệu vào bảng

Trong bảng điều khiển trình soạn thảo VS Code, bạn sẽ thấy các nút CodeLens xuất hiện trên các loại GraphQL trong /dataconnect/schema/schema.gql. Bạn có thể sử dụng các nút Add data (Thêm dữ liệu) và Run (Local) (Chạy (Tại máy)) để thêm dữ liệu vào cơ sở dữ liệu cục bộ.

Cách thêm bản ghi vào bảng MovieMovieMetadata:

  1. Trong schema.gql, hãy nhấp vào nút Thêm dữ liệu phía trên phần khai báo loại Movie.
    Nút Thêm dữ liệu của Kính lúp mã cho Firebase Data Connect
  2. Trong tệp Movie_insert.gql được tạo, hãy mã hoá cứng dữ liệu cho ba trường.
  3. Nhấp vào nút Run (Local) (Chạy (Cục bộ)).
    Nút Chạy của Code Lens cho Firebase Data Connect
  4. Lặp lại các bước trước đó để thêm một bản ghi vào bảng MovieMetadata, cung cấp id của Phim trong trường movieId, như được nhắc trong đột biến MovieMetadata_insert đã tạo.

Cách nhanh chóng xác minh dữ liệu đã được thêm:

  1. Quay lại schema.gql, hãy nhấp vào nút Read data (Đọc dữ liệu) phía trên phần khai báo loại Movie.
  2. Trong tệp Movie_read.gql thu được, hãy nhấp vào nút Run (Local) (Chạy (Cục bộ)) để thực thi truy vấn.

Tìm hiểu thêm về các đột biến Data Connect trong tài liệu

Xác định truy vấn

Bây giờ, hãy đến phần thú vị: xác định các truy vấn mà bạn cần trong ứng dụng. Là một nhà phát triển, bạn đã quen với việc viết truy vấn SQL thay vì truy vấn GraphQL, vì vậy, ban đầu, bạn có thể cảm thấy hơi khác. Tuy nhiên, GraphQL ngắn gọn và an toàn về loại hơn nhiều so với SQL thô. Tiện ích VS Code của chúng tôi cũng giúp bạn dễ dàng phát triển.

Bắt đầu chỉnh sửa tệp /dataconnect/connector/queries.gql. Nếu bạn muốn nhận tất cả phim, hãy sử dụng truy vấn như sau.

# 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
  }
}

Thực thi truy vấn bằng nút CodeLens ở gần.

Một tính năng thực sự thú vị ở đây là khả năng coi các mối quan hệ của cơ sở dữ liệu như một biểu đồ. Vì MovieMetadata có trường movie tham chiếu đến một bộ phim, nên bạn có thể lồng vào trường này và lấy lại thông tin về bộ phim. Hãy thử thêm loại movieMetadata_on_movie đã tạo vào truy vấn ListMovies.

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

Tìm hiểu thêm về truy vấn Data Connect trong tài liệu

Tạo SDK và sử dụng SDK trong ứng dụng

Trong bảng điều khiển bên trái của VS Code, hãy nhấp vào biểu tượng Firebase để mở giao diện người dùng của tiện ích Data Connect VS Code:

  1. Nhấp vào nút Thêm SDK vào ứng dụng.
  2. Trong hộp thoại xuất hiện, hãy chọn một thư mục chứa mã cho ứng dụng của bạn. Data Connect. Mã SDK sẽ được tạo và lưu tại đó.

  3. Chọn nền tảng ứng dụng, sau đó lưu ý rằng mã SDK sẽ được tạo ngay trong thư mục mà bạn đã chọn.

Tìm hiểu cách sử dụng SDK đã tạo để gọi các truy vấn và đột biến từ ứng dụng khách (web, Android, iOS, Flutter).

Triển khai giản đồ và truy vấn vào môi trường sản xuất

Sau khi thiết lập cục bộ trên ứng dụng, bạn có thể triển khai giản đồ, dữ liệu và truy vấn lên đám mây. Bạn sẽ cần có gói Blaze để thiết lập phiên bản Cloud SQL.

  1. Chuyển đến phần Data Connect (Kết nối dữ liệu) của bảng điều khiển Firebase và tạo một phiên bản Cloud SQL dùng thử miễn phí.

  2. Trong Terminal (Cổng) tích hợp của VS Code, hãy chạy firebase init dataconnect và chọn Mã nhận dạng khu vực/dịch vụ mà bạn vừa tạo trên bảng điều khiển.

  3. Chọn "Y" khi được nhắc "File dataconnect/dataconnect.yaml already exists, Overwrite?" (Tệp dataconnect/dataconnect.yaml đã tồn tại, Ghi đè?).

  4. Trong giao diện người dùng của Tiện ích Data Connect cho VS Code, hãy nhấp vào nút Deploy to production (Triển khai lên môi trường sản xuất).

  5. Sau khi triển khai, hãy chuyển đến bảng điều khiển Firebase để xác minh giản đồ, thao tác và dữ liệu đã được tải lên đám mây. Bạn cũng có thể xem giản đồ và chạy các thao tác trên bảng điều khiển. Phiên bản Cloud SQL cho PostgreSQL sẽ được cập nhật bằng giản đồ và dữ liệu được tạo đã triển khai cuối cùng.

Các bước tiếp theo

Xem lại dự án đã triển khai và khám phá các công cụ khác:

  • Thêm dữ liệu vào cơ sở dữ liệu, kiểm tra và sửa đổi giản đồ cũng như theo dõi dịch vụ Data Connect trong bảng điều khiển Firebase.

Xem thêm thông tin trong tài liệu. Ví dụ: vì bạn đã hoàn tất hướng dẫn nhanh: