Thêm Cloud Firestore và Xác thực vào ứng dụng Google AI Studio

Google AI Studio tích hợp trực tiếp với Cloud FirestoreFirebase Authentication, cho phép bạn tạo các ứng dụng có dữ liệu liên tục và quy trình đăng nhập an toàn. Khi bạn sử dụng tính năng "Thêm phần phụ trợ Firebase" trong Google AI Studio, tác nhân sẽ tạo mã bắt buộc và kết nối ứng dụng của bạn với một dự án Firebase.

Tổng quan: Thêm một phần phụ trợ vào ứng dụng Google AI Studio

  1. Mô tả ý tưởng của bạn: Tạo một ứng dụng mới trong Google AI Studio và mô tả một tính năng yêu cầu cơ sở dữ liệu hoặc xác thực (ví dụ: "Xây dựng danh sách việc cần làm dùng chung").

  2. Bật tính năng tích hợp với Firebase: Chọn chip Thêm phần phụ trợ Firebase. Tác nhân này sẽ tạo mã cần thiết, bao gồm cả tệp /src/lib/firebase.ts và tệp firestore.rules, sau đó kết nối ứng dụng của bạn với Cloud FirestoreFirebase Authentication.

  3. Triển khai: Khi đã sẵn sàng, hãy dùng lựa chọn Chia sẻ > Xuất bản để triển khai ứng dụng của bạn lên Cloud Run.

Tìm hiểu về hạn mức dùng chung cho Cloud Firestore

Tất cả cơ sở dữ liệu Cloud Firestore do tác nhân cung cấp trong Google AI Studio đều được đặt trong cùng một "nhóm" cơ sở dữ liệu trong dự án Firebase của bạn. Tất cả các loại hình này đều có những đặc điểm sau:

  • Hạn mức dùng chung: Tất cả cơ sở dữ liệu trong nhóm đều dùng chung một hạn mức sử dụng (xem chi tiết bên dưới).
  • Không cần có tài khoản Cloud Billing: Bạn có thể tạo và kiểm thử ứng dụng mà không cần thêm thông tin thanh toán. Xem thông tin chi tiết bên dưới về việc thêm thông tin thanh toán (không bắt buộc).
  • Đặt lại hằng ngày: Nếu bạn đạt đến hạn mức hằng ngày (ví dụ: 50.000 lượt đọc/ngày), dịch vụ sẽ tạm dừng cho tất cả các cơ sở dữ liệu trong nhóm và tiếp tục vào ngày hôm sau vào khoảng nửa đêm theo Giờ Thái Bình Dương.

Các cơ sở dữ liệu Cloud Firestore trong nhóm hạn mức dùng chung có các giới hạn sau:

Chỉ số Hạn ngạch dung lượng
Dữ liệu đã lưu trữ Tổng cộng 1 GiB
Dữ liệu đầu ra của mạng 10 GiB mỗi tháng
Đơn vị đo 40.000 lượt ghi mỗi ngày
Đọc đơn vị 50.000 lượt đọc mỗi ngày
Đơn vị cập nhật theo thời gian thực 50.000 lượt cập nhật mỗi ngày

(Không bắt buộc) Thêm thông tin thanh toán để có hạn mức Cloud Firestore cao hơn

Nếu ứng dụng của bạn được nhiều người dùng biết đến và bạn cần vượt quá hạn mức không mất phí cho Cloud Firestore, bạn có thể nâng cấp dự án của mình lên Gói giá linh hoạt (trả tiền theo mức dùng).

  1. Thêm thông tin thanh toán (nếu bạn chưa thêm): Chuyển đến bảng điều khiển Firebase rồi liên kết một tài khoản thanh toán với dự án của bạn.
  2. Nâng cấp cơ sở dữ liệu: Theo mặc định, các cơ sở dữ liệu Cloud Firestore do tác nhân Google AI Studio tạo sẽ tiếp tục sử dụng hạn mức dùng chung ngay cả sau khi bạn nâng cấp gói giá. Để bật tính năng mở rộng có tính phí đầy đủ cho một cơ sở dữ liệu cụ thể, bạn phải di chuyển cơ sở dữ liệu đó ra khỏi nhóm theo cách thủ công bằng cách sử dụng lệnh curl.

    • PROJECT_ID : Mã dự án Firebase; tìm mã này trong phần Project Settings (Cài đặt dự án) của bảng điều khiển Firebase.
    • DATABASE_ID : Mã nhận dạng cơ sở dữ liệu Cloud Firestore, mã này sẽ khớp với mã nhận dạng applet của bạn; hãy tìm mã nhận dạng cơ sở dữ liệu này trong cột Tên trên trang cơ sở dữ liệu Cloud Firestore trong bảng điều khiển Firebase.
    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=limited_free_tier" \
    -d '{"limited_free_tier": false}'
    

Security Rules lượt tạo

Google AI Studio tự động tạo Firebase Security Rules dựa trên logic của ứng dụng. Những Security Rules này được thiết kế để "từ chối theo mặc định", tức là người dùng cuối của ứng dụng chỉ có thể truy cập vào dữ liệu mà họ sở hữu.

Xin lưu ý rằng nếu bạn điều chỉnh Security Rules theo cách thủ công ngay trong bảng điều khiển Firebase, thì tác nhân Google AI Studio sẽ không biết về những thay đổi này và những thay đổi đó sẽ bị ghi đè trong các lần lặp lại ứng dụng tiếp theo. Bạn nên sử dụng tác nhân Google AI Studio để điều chỉnh Firebase Security Rules nhằm đảm bảo các thay đổi của bạn được giữ nguyên và phù hợp với logic của ứng dụng.

Sử dụng dự án hiện có

Bạn cũng có thể yêu cầu tác nhân Google AI Studio cung cấp Cloud Firestore vào một dự án Google Cloud hiện có mà bạn sở hữu. Hướng dẫn cho tác nhân sử dụng dự án hiện có của bạn bằng một câu lệnh như:

Add Firestore to this app using project PROJECT_ID.
  • Một cơ sở dữ liệu Cloud Firestore mới sẽ được cung cấp cho dự án đó bằng hạn mức dùng chung.
  • Firebase Authentication bằng tính năng Đăng nhập bằng Google sẽ được thiết lập.
  • Một tài khoản dịch vụ sẽ được cấp quyền truy cập vào cơ sở dữ liệu Cloud Firestore của bạn. Để cho phép quyền truy cập của quản trị viên từ Google AI Studio, một tài khoản dịch vụ mới có tên là ais-sandbox@PROJECT_ID.iam.gservice.com sẽ được cấp quyền truy cập vào cơ sở dữ liệu Cloud Firestore của bạn. Tài khoản này chỉ liên kết với các ứng dụng Google AI Studio của bạn.
  • Hạn chế: Nếu dự án Firebase đã có một cơ sở dữ liệu Cloud Firestore, thì tác nhân sẽ không thể thêm một cơ sở dữ liệu khác. Bạn cần tạo một dự án mới, trống để sử dụng.

Sử dụng bảng điều khiển Firebase

Bạn có thể xem dữ liệu và chế độ cài đặt của ứng dụng trong bảng điều khiển Firebase. Để truy cập vào các dự án liên kết với Google AI Studio, hãy làm theo các bước sau:

  1. Chuyển đến bảng điều khiển Firebase rồi chọn dự án có nhãn AI Studio.
  2. Trong ngăn điều hướng bên trái, hãy nhấp vào Tạo > Cloud Firestore Cơ sở dữ liệu để xem và chỉnh sửa dữ liệu trong Cloud Firestore, hoặc nhấp vào Tạo > Authentication để định cấu hình chế độ cài đặt và dữ liệu Authentication.

Khắc phục sự cố và câu hỏi thường gặp

Tìm câu trả lời cho các câu hỏi thường gặp và tìm hiểu cách giải quyết vấn đề khi tích hợp Firebase với ứng dụng Google AI Studio của bạn.

Những phương thức xác thực nào được hỗ trợ?

Tác nhân Google AI Studio thiết lập tính năng Đăng nhập bằng Google khi bạn sử dụng tính năng Thêm phần phụ trợ Firebase. Để thiết lập các phương thức bổ sung, hãy bật các phương thức đó trong bảng điều khiển Firebase và yêu cầu nhân viên Google AI Studio hỗ trợ cập nhật cơ sở mã của bạn.

Tệp firebase-blueprint.json là gì?

Đây là một tệp trung gian được tác nhân Google AI Studio dùng để hiểu cơ sở mã của ứng dụng. Đừng sửa đổi tệp này theo cách thủ công vì việc này có thể khiến tác nhân tạo ra mã không chính xác hoặc Security Rules không an toàn.

Tôi nên làm gì nếu gặp lỗi "Vượt quá hạn mức"?

Đạt đến hạn mức Cloud Firestore có nghĩa là ứng dụng của bạn đã đạt đến hạn mức sử dụng hằng ngày cho nhóm hạn mức dùng chung Cloud Firestore của cơ sở dữ liệu. Có hai cách để giải quyết vấn đề này:

  • Cách 1: Chờ: Hạn mức được đặt lại hằng ngày vào khoảng nửa đêm theo giờ Thái Bình Dương.
  • Cách 2: Nâng cấp: Nâng cấp lên gói giá linh hoạt (trả tiền theo mức dùng).
    • Nếu Google AI Studio tác nhân thiết lập Cloud Firestore cho bạn, thì bạn phải sử dụng lệnh curl được mô tả trong phần Thêm thông tin thanh toán để nhận thêm hạn mức Cloud Firestore để chuyển cơ sở dữ liệu của bạn sang trạng thái trả phí thông thường. Nếu bạn thiết lập Cloud Firestore theo cách thủ công, thì không cần chạy lệnh curl.

Tôi nên làm gì nếu gặp lỗi "Thiếu hoặc không đủ quyền"?

Lỗi này xảy ra khi ứng dụng của bạn cố gắng đọc hoặc ghi dữ liệu vào cơ sở dữ liệu Cloud Firestore, nhưng yêu cầu bị Security Rules từ chối. Điều này cho biết Security Rules không cho phép thao tác đã thử dựa trên trạng thái xác thực hoặc đường dẫn dữ liệu hiện tại. Nhấp vào nút Khắc phục lỗi để nhắc tác nhân Google AI Studio cố gắng sửa Security Rules.

Điều gì sẽ xảy ra với phần phụ trợ Firebase của tôi khi tôi xoá ứng dụng Google AI Studio?

Việc xoá ứng dụng của bạn trong Google AI Studio không tự động xoá dự án Firebase, cơ sở dữ liệu hoặc cấu hình Cloud Firestore Firebase Authentication được kết nối.

Nếu đã thêm một phần phụ trợ Firebase, bạn phải chuyển đến bảng điều khiển Firebase theo cách thủ công và xoá dự án hoặc dọn dẹp từng tài nguyên (chẳng hạn như phiên bản cơ sở dữ liệu Cloud Firestore và nhà cung cấp Authentication) để đảm bảo xoá tất cả dữ liệu và cấu hình.

Tác nhân Google AI Studio có thể xoá hoặc chỉnh sửa dữ liệu trong cơ sở dữ liệu Cloud Firestore của tôi không?

Tác nhân Google AI Studio được thiết kế để giúp cung cấp các tài nguyên phụ trợ cần thiết và tạo mã cũng như Security Rules. Mặc dù bản thân tác nhân không thể trực tiếp xoá, chỉnh sửa hoặc thao tác với các mục dữ liệu trong cơ sở dữ liệu Cloud Firestore của bạn, nhưng tác nhân có thể ghi mã vào applet được thiết kế để thực hiện các thao tác này. Để thực hiện các tác vụ quản lý dữ liệu, chẳng hạn như xoá các mục, hãy chuyển đến trang cơ sở dữ liệu Cloud Firestore trong bảng điều khiển Firebase.

Tôi thuộc một tổ chức sử dụng Google Cloud; tôi có thể kết nối ứng dụng Google AI Studio của mình với một dự án hiện có trong môi trường Google Cloud của tổ chức không?

Đảm bảo dự án Firebase của bạn nằm trong một thư mục tổ chức Google Cloud cụ thể:

  1. Tạo dự án Firebase theo cách thủ công trước thời hạn.
  2. Khi thiết lập phần phụ trợ Firebase trong Google AI Studio, hãy hướng dẫn tác nhân sử dụng dự án hiện có của bạn:

    Add Firestore to this app using project PROJECT_ID.
    

Tại sao tôi không tìm thấy một số tài liệu trong bảng điều khiển Firebase?

Khi lưu dữ liệu vào một đường dẫn lồng nhau (chẳng hạn như /users/user1/messages/msg1) mà không tạo trước tài liệu mẹ (user1), tác nhân AI Studio sẽ tạo ra cái gọi là tài liệu mẹ không tồn tại. Những tài liệu này không xuất hiện trong bảng điều khiển Firebase, điều này có thể khiến bạn khó tìm thấy chúng khi duyệt qua cơ sở dữ liệu Cloud Firestore. Mặc dù điều này không ảnh hưởng đến cách ứng dụng của bạn chạy, nhưng bạn thường có thể mô tả vấn đề cho tác nhân AI Studio để nhắc tác nhân này tạo các tài liệu mẹ bị thiếu.

Để biết thêm thông tin, hãy xem phần Tài liệu mẹ không tồn tại.

Làm cách nào để chọn vị trí cho cơ sở dữ liệu Cloud Firestore của tôi?

Hiện tại, vị trí cho cơ sở dữ liệu Cloud Firestore của bạn được chọn tự động dựa trên vị trí của bạn và bạn không thể thay đổi hoặc chỉ định vị trí theo cách thủ công. Nếu bạn muốn có khả năng chọn một vị trí cụ thể, hãy cho chúng tôi biết bằng cách chuyển đến phần Cài đặt > Gửi ý kiến phản hồi trong Google AI Studio.

Google sử dụng dữ liệu của tôi (ví dụ: mã và câu lệnh) trong Google AI Studio như thế nào?

Hãy tham khảo Điều khoản dịch vụ bổ sung của Gemini API để biết thông tin chi tiết về cách dữ liệu của bạn được sử dụng.