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

Trong phần hướng dẫn 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. Bạn sẽ:

  • 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, khi nâng cấp lên gói Blaze).

Chọn quy trình phát triển cục bộ

Data Connect cung cấp cho bạn hai cách để cài đặt các công cụ phát triển và làm việc trên máy.

Đ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

  1. Tạo một thư mục mới cho dự án cục bộ.
  2. Chạy lệnh sau trong thư mục mới mà bạn đã tạo.

      curl -sL https://firebase.tools/dataconnect | bash
    

    Tập lệnh này sẽ cố gắng thiết lập môi trường phát triển cho bạn và khởi chạy IDE dựa trên trình duyệt. IDE này cung cấp các công cụ, bao gồm cả một tiện ích VS Code được đóng gói sẵn, để giúp bạn quản lý giản đồ và xác định các truy vấn và đột biến sẽ được sử dụng trong ứng dụng, cũng như tạo các SDK có kiểu mạnh.

alias dataconnect='curl -sL https://firebase.tools/dataconnect | bash'

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 cửa sổ IDE, trong bảng điều khiển bên trái, 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 chỉnh sửa IDE, 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 CodeLens 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 CodeLens 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, việc này có thể hơi khác một chút lúc đầu.

Tuy nhiên, GraphQL ngắn gọn và an toàn về loại hơn nhiều so với SQL thô. Ngoài ra, tiện ích VS Code của chúng tôi còn 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ì bản ghi 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 IDE, 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 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 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 IDE, hãy chạy firebase init dataconnect và chọn Mã 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 VS Code, hãy nhấp vào nút Deploy to production (Triển khai phiên bản chính thức).

  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 đồ, đồ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: