Trong phần bắt đầu nhanh này, bạn sẽ tìm hiểu cách:
- 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 mã Visual Studio để hoạt động với một phiên bản chính thức.
- Sau đó, chúng tôi sẽ hướng dẫn bạn cách:
- Tạo giản đồ cho ứng dụng email và triển khai ứng dụng chính thức.
- Xác định truy vấn và trường hợp đột biến cho giản đồ của bạn.
- Triển khai nguyên mẫu hoàn chỉnh vào kênh phát hành công khai.
Đ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ó:
- Linux, macOS hoặc Windows
- Visual Studio Code
Thêm Data Connect vào dự án của bạn và tạo nguồn dữ liệu
- Tạo một dự án Firebase nếu bạn chưa tạo.
- Trong bảng điều khiển của Firebase, hãy nhấp vào Thêm dự án, sau đó làm theo hướng dẫn trên màn hình.
Nâng cấp dự án của bạn lên Gói linh hoạt. Việc này cho phép bạn tạo một Cloud SQL cho thực thể PostgreSQL.
Chuyển đến mục Kết nối dữ liệu trong bảng điều khiển của Firebase và làm theo quy trình thiết lập sản phẩm.
Chọn một vị trí cho cơ sở dữ liệu CloudSQL cho PostgreSQL.
Ghi lại tên cũng như mã dự án, dịch vụ và cơ sở dữ liệu để xác nhận sau.
Làm theo quy trình thiết lập còn lại, rồi nhấp vào Xong.
Chọn và thiết lập môi trường phát triển
Bạn sẽ bắt đầu với Data Connect bằng cách tạo nguyên mẫu cho một ứng dụng trong Visual Studio Code.
Bạn có thể tuỳ ý cài đặt cơ sở dữ liệu PostgreSQL cục bộ để phát triển cục bộ bằng trình mô phỏng Data Connect. Quy trình thiết lập này được đề cập ở cuối hướng dẫn bắt đầu nhanh này.
Data Connect hỗ trợ 2 trải nghiệm phát triển để tạo nguyên mẫu:
- Nếu là nhà phát triển web hoặc Kotlin Android, bạn có thể tạo nguyên mẫu và thao tác trên thiết bị trong khi kết nối với Cloud SQL cho thực thể PostgreSQL hoặc chạy PostgreSQL cục bộ (không bắt buộc).
Nếu là nhà phát triển web, bạn có thể sử dụng IDX để tạo nguyên mẫu trong không gian làm việc IDX bằng cách sử dụng mẫu IDX được định cấu hình sẵn với PostgreSQL, tiện ích Mã VS có trình mô phỏng Data Connect và mã bắt đầu nhanh giúp bạn thiết lập.
Phát triển mã so với mã nguồn
Nếu bạn muốn phát triển cục bộ thay vì sử dụng IDX, hãy thiết lập tiện ích Mã VS Firebase để giúp bạn nhanh chóng lặp lại quy trình phát triển.
- Tạo một thư mục mới cho dự án cục bộ của bạn.
- Mở Mã VS trong thư mục mới.
- Tải tiện ích xuống, được đóng gói dưới dạng gói VSIX, từ Bộ nhớ Firebase.
- Trong VS Code, từ trình đơn Chế độ xem, hãy chọn Tiện ích.
- Trên thanh tiêu đề của bảng điều khiển Tiện ích, hãy nhấp vào biểu tượng trình đơn more_horiz, sau đó làm theo hướng dẫn Cài đặt từ VSIX....
Phát triển IDX
IDX là một môi trường được tối ưu hoá để phát triển ứng dụng web. Nếu bạn là nhà phát triển Android bằng Kotlin, hãy làm theo các bước trên thẻ Phát triển mã VS.
Cách thiết lập mẫu Data Connect IDX:
- Truy cập mẫu tại trang web Project IDX.
- Làm theo quy trình thiết lập.
Thiết lập dự án cục bộ
Cài đặt CLI, làm theo các hướng dẫn thông thường.
Sau đó, hãy bật thử nghiệm Firebase Data Connect.
firebase experiments:enable dataconnect
Để thiết lập dự án cục bộ, hãy khởi chạy thư mục dự án.
Thiết lập thư mục dự án
Khởi chạy thư mục dự án.
Trong bảng điều khiển bên trái Mã VS, hãy nhấp vào biểu tượng Firebase để mở giao diện người dùng tiện ích Mã VS Firebase.
Trong giao diện người dùng của tiện ích Firebase:
- Hãy đảm bảo rằng bạn đã đăng nhập.
- Xác nhận rằng quy trình thiết lập Data Connect, bao gồm cả quy trình cấp phép cơ sở dữ liệu, đã hoàn tất bằng cách sử dụng bảng điều khiển Google Cloud.
- Nhấp vào nút Run firebase init (Chạy init Firebase).
- Kiểm tra thẻ Terminal (Thiết bị đầu cuối) trong Bảng điều khiển phía dưới Mã VS để tìm lời nhắc.
- Chọn Kết nối dữ liệu làm tính năng để sử dụng trong thư mục này.
- Khi được nhắc, hãy cung cấp mã dự án, dịch vụ và cơ sở dữ liệu của dự án Data Connect mà bạn đã tạo trước đó trong bảng điều khiển.
Quy trình này sẽ tạo các tệp firebase.json
và .firebaserc
cũng như các thư mục con dataconnect
bao gồm các tệp dataconnect.yaml
và connector.yaml
quan trọng trong thư mục đang làm việc cục bộ của bạn.
Tạo giản đồ và truy vấn Data Connect
Bạn đã thiết lập xong. Bây giờ, chúng ta có thể bắt đầu phát triển bằng Data Connect.
Bắt đầu sử dụng GraphQL để lập mô hình người dùng và email. Bạn sẽ cập nhật các nguồn bằng:
/dataconnect/schema/schema.gql
/dataconnect/default-connector/queries.gql
Bắt đầu phát triển một giản đồ
Trong thư mục dự án Firebase, hãy ghi lại thư mục dataconnect
. Đây là nơi bạn xác định mô hình dữ liệu cho cơ sở dữ liệu Cloud SQL bằng GraphQL.
Trong tệp /dataconnect/schema/schema.gql
, hãy bắt đầu xác định giản đồ bao gồm người dùng và email.
Người dùng
Trong Data Connect, các trường trong GraphQL được liên kết với các cột. Người dùng có một uid
, name
và email address
. Data Connect nhận dạng một số loại dữ liệu gốc: String
và Date
.
Sao chép đoạn mã sau hoặc huỷ nhận xét các dòng tương ứng trong tệp.
# File `/dataconnect/schema/schema.gql`
type User @table(key: "uid") {
uid: String!
name: String!
address: String!
}
Theo mặc định, Firebase Data Connect sẽ thêm khoá id
của UUID nếu không có khoá nào được cung cấp. Tuy nhiên, trong trường hợp này, bạn muốn uid
của tôi làm khoá chính. Bạn có thể thực hiện việc này thông qua lệnh @table(key: "uid")
.
Giờ đây khi đã có người dùng, bạn có thể lập mô hình email. Tại đây, bạn có thể thêm các trường (hoặc cột) điển hình cho dữ liệu email. Lần này, chúng tôi bỏ qua bước thêm khoá chính vì bạn có thể dựa vào Data Connect để quản lý khoá đó.
# File `/dataconnect/schema/schema.gql`
type Email @table {
subject: String!
sent: Date!
text: String!
from: User!
}
Xin lưu ý rằng trường from
được liên kết với một loại User
.
Data Connect hiểu rằng đây là mối quan hệ giữa Email
và User
, đồng thời sẽ quản lý mối quan hệ này cho bạn.
Triển khai giản đồ vào môi trường thực tế
Vì bạn đang dùng tiện ích Firebase VS để làm việc với cơ sở dữ liệu sản xuất, nên bạn cần triển khai giản đồ trước khi tiếp tục.
- Bạn có thể sử dụng phần mở rộng Mã Firebase VS để triển khai.
- Trong giao diện người dùng của tiện ích, bên dưới bảng điều khiển Kết nối dữ liệu Firebase, hãy nhấp vào Triển khai.
Ngoài ra, bạn có thể dùng Giao diện dòng lệnh (CLI) của Firebase.
firebase deploy
Trong luồng tiện ích hoặc luồng CLI, bạn có thể cần xem xét các thay đổi đối với giản đồ và phê duyệt các nội dung sửa đổi có khả năng gây thiệt hại. Bạn sẽ được nhắc:
- Xem xét các thay đổi đối với giản đồ bằng cách sử dụng
firebase dataconnect:sql:diff
- Khi bạn hài lòng với các thay đổi, hãy áp dụng các thay đổi đó bằng quy trình do
firebase dataconnect:sql:migrate
bắt đầu.
- Xem xét các thay đổi đối với giản đồ bằng cách sử dụng
Thực thi các phép biến đổi để thêm dữ liệu vào bảng
Trong bảng điều khiển Trình soạn thảo mã VS, bạn có thể thấy các nút CodeLens xuất hiện trên các loại GraphQL trong /dataconnect/schema/schema.gql
.
Truy vấn và đột biến trong thời gian phát triển
Các thao tác chưa được đặt tên liên kết với các nút CodeLens này là những thao tác nhanh chóng và hữu ích, trong trường hợp này là thêm dữ liệu vào bảng. Data Connect sử dụng các đột biến GraphQL để mô tả cách thức và những người có thể thao tác trên cơ sở dữ liệu. Việc sử dụng nút này sẽ tạo một thao tác trong thời gian phát triển để nhanh chóng gieo hạt dữ liệu.
Vì đã triển khai giản đồ cho phiên bản chính thức, nên bạn có thể sử dụng các nút Thêm dữ liệu trong CodeLens trong schema.gql
và nút Chạy (Bản chính thức) trong các tệp được tạo ra để thực hiện những thao tác này trên phần phụ trợ.
Cách thêm bản ghi vào bảng User
và Email
:
- Trong
schema.gql
, hãy nhấp vào nút Add data (Thêm dữ liệu) phía trên phần khai báo loạiUser
. - Trong tệp
User_insert.gql
được tạo, dữ liệu mã cứng cho 3 trường. - Nhấp vào nút Run (Phát hành công khai).
- Lặp lại các bước trước đó để thêm một bản ghi vào bảng
Email
, cung cấpuid
của người dùng trong trườngfromUid
, như được nhắc trong đột biếnEmail_insert
đã tạo.
Viết một truy vấn để liệt kê email
Phần thú vị nhất là truy vấn. Là một nhà phát triển, bạn đã quen viết các truy vấn SQL thay vì truy vấn GraphQL, vì vậy thoạt đầu bạn có thể 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ô. Ngoài ra, tiện ích VS Code của chúng tôi giúp trải nghiệm phát triển đơn giản hơn.
Bắt đầu chỉnh sửa tệp /dataconnect/default-connector/queries.gql
. Nếu bạn muốn nhận tất cả email, hãy sử dụng truy vấn như thế này.
# File `/dataconnect/default-connector/queries.gql`
query ListEmails @auth(level: NO_ACCESS) {
emails {
id, subject, text, sent
from {
name
}
}
}
Thực thi truy vấn bằng cách sử dụng nút CodeLens ở gần.
Một tính năng thực sự thú vị ở đây là khả năng xử lý các mối quan hệ của cơ sở dữ liệu như một biểu đồ. Vì Email có trường from
tham chiếu đến một Người dùng, nên bạn có thể lồng vào trường này và nhận lại thông tin về người dùng.
Triển khai nguyên mẫu đã hoàn thiện vào giai đoạn phát hành công khai
Bạn đã thực hiện một bước lặp trong quá trình phát triển. Giờ đây, bạn có thể triển khai giản đồ, dữ liệu và truy vấn cho máy chủ bằng giao diện người dùng tiện ích Firebase hoặc Firebase CLI, giống như cách bạn thực hiện với giản đồ.
Sau khi được triển khai, dịch vụ Data Connect của bạn sẽ sẵn sàng để xử lý các hoạt động của ứng dụng. Phiên bản Cloud SQL cho thực thể PostgreSQL sẽ được cập nhật với giản đồ và dữ liệu được tạo đã triển khai cuối cùng.
(Không bắt buộc) Cài đặt PostgreSQL cục bộ
Việc cài đặt PostgreSQL cục bộ và tích hợp với trình mô phỏng cho phép bạn tạo nguyên mẫu trong môi trường phát triển cục bộ hoàn toàn.
Bạn có thể cài đặt một thực thể mới của PostgreSQL hoặc sử dụng một thực thể hiện có.
Cài đặt PostgreSQL
Cài đặt PostgreSQL phiên bản 15.x theo hướng dẫn dành cho nền tảng của bạn.
- macOS. Tải và cài đặt Postgres.app.
- Windows: Sử dụng trình cài đặt EDB trên trang tải xuống PostgreSQL.
- Docker: Kéo và chạy hình ảnh
pgvector/pgvector:15
đi kèm với tính năng hỗ trợ vectơ và PostgreSQL 15.x. - Linux: Bạn nên sử dụng Docker với hình ảnh trước, nhưng cũng có thể làm theo hướng dẫn thay thế cho các bản phân phối phổ biến.
Lưu ý đầu ra tên máy chủ, cổng, tên người dùng, mật khẩu và các tham số liên quan trong trình tự cài đặt.
Để kết nối với phiên bản PostgreSQL, trình mô phỏng cần:
- Các thông số cấu hình thiết lập này
- Tên cơ sở dữ liệu từ
dataconnect.yaml
và một cơ sở dữ liệu có tên tương ứng được khởi động trong thực thể cục bộ của bạn.
Cập nhật .firebaserc
bằng chuỗi kết nối
Sử dụng thông tin cấu hình PostgreSQL cục bộ, bao gồm cả tên người dùng và mật khẩu PostgreSQL cục bộ, cho một chuỗi kết nối để thêm vào khoá sau trong tệp .firebaserc
của bạn.
{
"projects": {},
...,
...,
"dataconnectEmulatorConfig": {
"postgres": {
"localConnectionString": "postgresql://postgresusername:postgrespassword@localhost:5432?sslmode=disable"
}}
}
Kết nối với thực thể PostgreSQL cục bộ
Với cấu hình này được hoàn tất, để kết nối với cơ sở dữ liệu cục bộ của bạn:
- Trong Mã VS, trên 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 tiện ích Firebase VS Code.
- Nhấp vào nút Kết nối với PostgreSQL cục bộ.