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ủa mình trên máy 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 của bạn.
  • 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à dữ liệu đột biến bằng dữ liệu mẫu so với trình mô phỏng cục bộ
    • Tạo SDK được nhập đúng và sử dụng chúng trong ứng dụng của bạn
    • 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 tính năng bắt đầu nhanh này, bạn cần có:

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ộ của bạn.
  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 Sign in with Google (Đăng nhập bằng Google).
  2. Nhấp vào nút Connect a Firebase project (Kết nối dự án Firebase) rồi chọn dự án bạn được 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, ở tệp /dataconnect/schema/schema.gql , hãy bắt đầu xác định một 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. Phim 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
}

Siêu dữ liệu phim

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, đồng thời 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 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, dữ liệu mã cứng cho 3 trường.
  3. Nhấp vào nút Run (Local) (Chạy (Cục bộ).
    ) Nút Chạy Code Ống kính 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 uid của Phim vào trường movie, như được nhắc trong trường đã tạo ra đột biến MovieMetadata_insert.

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

  1. Quay lại schema.gql, nhấp vào nút Đọc dữ liệu.
  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 của bạn

Bây giờ, phần thú vị: hãy xác định các truy vấn bạn sẽ cần trong ứng dụng của mình. 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ề kiểu 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 cách sử dụng nút CodeLens lân cận.

Một tính năng thực sự thú vị ở đây là khả năng xử lý mối quan hệ như một biểu đồ. Vì MovieMetadata có trường movie tham chiếu một bộ phim, bạn có thể lồng ghép vào thực địa và nhận thông tin về thông tin phim trở lại. Hãy thử thêm loại movieMetadata_on_movie đã tạo vào loại 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 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 Add SDK to app (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 của bạn, sau đó lưu ý rằng mã SDK sẽ xuất hiện ngay lập tức được tạo trong thư mục bạn đã chọn.

Tìm hiểu cách sử dụng SDK đã tạo để gọi truy vấn và đột biến từ ứng dụng ứng dụng (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 hiệ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 gói Blaze để thiết lập phiên bản Cloud SQL.

  1. Chuyển đến mục Kết nối dữ liệu trên bảng điều khiển của Firebase rồi tạo bản dùng thử Cloud SQL miễn phí.

  2. Trong Terminal được tích hợp Mã VS, hãy chạy firebase init dataconnect và chọn Khu vực/Mã 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 thực 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 thực thể PostgreSQL sẽ được cập nhật với phiên bản cuối cùng đã triển khai giản đồ và dữ liệu tạo ra.

Các bước tiếp theo

Xem lại dự án đã triển khai của bạn 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 đồ, đồng thời 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: