Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Xuất và nhập dữ liệu

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Bạn có thể sử dụng dịch vụ xuất và nhập được quản lý của Cloud Firestore để khôi phục dữ liệu do vô tình xóa và xuất dữ liệu để xử lý ngoại tuyến. Bạn có thể xuất tất cả các tài liệu hoặc chỉ các bộ sưu tập cụ thể. Tương tự như vậy, bạn có thể nhập tất cả dữ liệu từ một lần xuất hoặc chỉ các bộ sưu tập cụ thể. Dữ liệu được xuất từ ​​một cơ sở dữ liệu Cloud Firestore có thể được nhập vào một cơ sở dữ liệu Cloud Firestore khác. Bạn cũng có thể tải các bản xuất của Cloud Firestore vào BigQuery .

Trang này mô tả cách xuất và nhập tài liệu Cloud Firestore bằng dịch vụ xuất và nhập được quản lý và Lưu trữ đám mây . Dịch vụ xuất và nhập do Cloud Firestore quản lý khả dụng thông qua công cụ dòng lệnh gcloud và API Cloud Firestore ( REST , RPC ).

Trước khi bắt đầu

Trước khi bạn có thể sử dụng dịch vụ xuất và nhập được quản lý, bạn phải hoàn thành các tác vụ sau:

  1. Bật thanh toán cho dự án Google Cloud của bạn. Chỉ các dự án Google Cloud có bật tính năng thanh toán mới có thể sử dụng chức năng xuất và nhập.
  2. Tạo bộ chứa Lưu trữ đám mây cho dự án của bạn ở vị trí gần vị trí cơ sở dữ liệu Cloud Firestore của bạn . Bạn không thể sử dụng nhóm Người yêu cầu thanh toán cho các hoạt động xuất và nhập.
  3. Đảm bảo rằng tài khoản của bạn có các quyền cần thiết cho Cloud Firestore và Cloud Storage. Nếu bạn là chủ sở hữu dự án, tài khoản của bạn có các quyền cần thiết. Mặt khác, các vai trò sau sẽ cấp các quyền cần thiết cho hoạt động xuất và nhập cũng như để truy cập vào Cloud Storage:

Quyền tài khoản dịch vụ mặc định

Mỗi dự án Google Cloud sẽ tự động tạo tài khoản dịch vụ mặc định có tên PROJECT_ID @appspot.gserviceaccount.com . Các hoạt động xuất và nhập sử dụng tài khoản dịch vụ này để ủy quyền cho các hoạt động của Cloud Storage.

Tài khoản dịch vụ mặc định của dự án của bạn yêu cầu quyền truy cập vào bộ chứa Lưu trữ đám mây được sử dụng trong thao tác xuất hoặc nhập. Nếu bộ chứa Cloud Storage của bạn nằm trong cùng một dự án với cơ sở dữ liệu Cloud Firestore của bạn thì tài khoản dịch vụ mặc định có quyền truy cập vào bộ chứa theo mặc định .

Nếu bộ chứa Cloud Storage nằm trong một dự án khác, thì bạn phải cấp cho tài khoản dịch vụ mặc định quyền truy cập vào bộ chứa Cloud Storage.

Tài khoản dịch vụ cần có vai trò Storage Admin cho bộ chứa Cloud Storage để sử dụng cho thao tác xuất hoặc nhập.

Nếu bạn tắt hoặc xóa tài khoản dịch vụ mặc định của App Engine, ứng dụng App Engine của bạn sẽ mất quyền truy cập vào cơ sở dữ liệu Cloud Firestore của bạn. Nếu bạn đã tắt tài khoản dịch vụ App Engine của mình, bạn có thể bật lại tài khoản đó, xem cách bật tài khoản dịch vụ . Nếu bạn đã xóa tài khoản dịch vụ App Engine của mình trong vòng 30 ngày qua, bạn có thể khôi phục tài khoản dịch vụ của mình, xem cách khôi phục tài khoản dịch vụ .

Thiết lập gcloud cho dự án của bạn

Bạn có thể bắt đầu các thao tác nhập và xuất thông qua Google Cloud Platform Console hoặc công cụ dòng lệnh gcloud . Để sử dụng gcloud , hãy thiết lập công cụ dòng lệnh và kết nối với dự án của bạn theo một trong các cách sau:

Xuất dữ liệu

Thao tác xuất sẽ sao chép tài liệu trong cơ sở dữ liệu của bạn sang một tập hợp tệp trong bộ chứa Lưu trữ đám mây. Lưu ý rằng một lần xuất không phải là một ảnh chụp nhanh cơ sở dữ liệu chính xác được thực hiện tại thời điểm bắt đầu xuất. Một lần xuất có thể bao gồm các thay đổi được thực hiện trong khi thao tác đang chạy.

Xuất tất cả tài liệu

Bảng điều khiển đám mây của Google

  1. Truy cập trang Nhập/xuất Cloud Firestore trong Bảng điều khiển Google Cloud Platform.

    Chuyển đến trang Nhập/Xuất

  2. Nhấp vào Xuất .

  3. Nhấp vào tùy chọn Xuất toàn bộ cơ sở dữ liệu .

  4. Bên dưới Choose Destination , nhập tên của bộ chứa Cloud Storage hoặc sử dụng nút Browse để chọn bộ chứa.

  5. Nhấp vào Xuất .

Bảng điều khiển quay lại trang Nhập/Xuất . Nếu thao tác bắt đầu thành công, trang sẽ thêm một mục nhập vào trang xuất và nhập gần đây. Khi không thành công, trang sẽ hiển thị thông báo lỗi.

gcloud

Sử dụng lệnh firestore export để xuất tất cả tài liệu trong cơ sở dữ liệu của bạn, thay thế [BUCKET_NAME] bằng tên của bộ chứa Cloud Storage của bạn. Thêm cờ --async để ngăn công cụ gcloud đợi thao tác hoàn tất.

gcloud firestore export gs://[BUCKET_NAME]

Bạn có thể sắp xếp các lần xuất của mình bằng cách thêm tiền tố tệp sau tên bộ chứa, ví dụ: BUCKET_NAME/my-exports-folder/export-name . Nếu bạn không cung cấp tiền tố tệp, dịch vụ xuất được quản lý sẽ tạo một tiền tố dựa trên dấu thời gian hiện tại.

Sau khi bạn bắt đầu thao tác xuất, việc đóng thiết bị đầu cuối sẽ không hủy thao tác, hãy xem hủy thao tác .

Xuất các bộ sưu tập cụ thể

Bảng điều khiển đám mây của Google

  1. Truy cập trang Nhập/xuất Cloud Firestore trong Bảng điều khiển Google Cloud Platform.

    Chuyển đến trang Nhập/Xuất

  2. Nhấp vào Xuất .

  3. Nhấp vào tùy chọn Xuất một hoặc nhiều nhóm bộ sưu tập . Sử dụng trình đơn thả xuống để chọn một hoặc nhiều nhóm bộ sưu tập.

  4. Bên dưới Choose Destination , nhập tên của bộ chứa Cloud Storage hoặc sử dụng nút Browse để chọn bộ chứa.

  5. Nhấp vào Xuất .

Bảng điều khiển quay lại trang Nhập/Xuất . Nếu thao tác bắt đầu thành công, trang sẽ thêm một mục nhập vào trang xuất và nhập gần đây. Khi không thành công, trang sẽ hiển thị thông báo lỗi.

gcloud

Để xuất các nhóm bộ sưu tập cụ thể, hãy sử dụng --collection-ids . Hoạt động chỉ xuất các nhóm bộ sưu tập có ID bộ sưu tập nhất định. Nhóm bộ sưu tập bao gồm tất cả các bộ sưu tập và bộ sưu tập con (tại bất kỳ đường dẫn nào) với ID bộ sưu tập được chỉ định.

gcloud firestore export gs://[BUCKET_NAME] --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1]

Nhập dữ liệu

Khi bạn đã xuất tệp trong Lưu trữ đám mây, bạn có thể nhập tài liệu trong các tệp đó trở lại dự án của mình hoặc dự án khác. Lưu ý các điểm sau về hoạt động nhập khẩu:

  • Khi bạn nhập dữ liệu, các chỉ mục bắt buộc sẽ được cập nhật bằng cách sử dụng định nghĩa chỉ mục hiện tại của cơ sở dữ liệu của bạn. Một bản xuất không chứa định nghĩa chỉ mục.

  • Quá trình nhập không chỉ định ID tài liệu mới. Quá trình nhập sử dụng ID được ghi lại tại thời điểm xuất. Khi một tài liệu đang được nhập, ID của nó được dành riêng để tránh xung đột ID. Nếu một tài liệu có cùng ID đã tồn tại, quá trình nhập sẽ ghi đè lên tài liệu hiện có.

  • Nếu một tài liệu trong cơ sở dữ liệu của bạn không bị ảnh hưởng bởi quá trình nhập, tài liệu đó sẽ vẫn còn trong cơ sở dữ liệu của bạn sau khi nhập.

  • Thao tác nhập không kích hoạt Chức năng đám mây. Người nghe ảnh chụp nhanh nhận được các bản cập nhật liên quan đến hoạt động nhập.

  • Tên tệp .overall_export_metadata phải khớp với tên của thư mục mẹ:

    gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/ PARENT_FOLDER_NAME / PARENT_FOLDER_NAME .overall_export_metadata

    Nếu bạn di chuyển hoặc sao chép các tệp đầu ra của một lần xuất, hãy giữ nguyên tên tệp PARENT_FOLDER_NAME.overall_export_metadata .

Nhập tất cả tài liệu từ một lần xuất

Bảng điều khiển đám mây của Google

  1. Truy cập trang Nhập/xuất Cloud Firestore trong Bảng điều khiển Google Cloud Platform.

    Chuyển đến trang Nhập/Xuất

  2. Nhấp vào Nhập .

  3. Trong trường Tên tệp , hãy nhập tên tệp của tệp .overall_export_metadata từ thao tác xuất đã hoàn tất. Bạn có thể sử dụng nút Browse để giúp bạn chọn tệp.

  4. Nhấp vào Nhập .

Bảng điều khiển quay lại trang Nhập/Xuất . Nếu thao tác bắt đầu thành công, trang sẽ thêm một mục nhập vào trang xuất và nhập gần đây. Khi không thành công, trang sẽ hiển thị thông báo lỗi.

gcloud

Sử dụng lệnh firestore import để nhập tài liệu từ thao tác xuất trước đó.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

trong đó [BUCKET_NAME][EXPORT_PREFIX] trỏ đến vị trí tệp xuất của bạn. Ví dụ:

gcloud firestore import gs://exports-bucket/2017-05-25T23:54:39_76544/

Bạn có thể xác nhận vị trí tệp xuất của mình trong trình duyệt Cloud Storage trong Google Cloud Platform Console:

Mở trình duyệt Cloud Storage

Sau khi bạn bắt đầu thao tác nhập, việc đóng thiết bị đầu cuối sẽ không hủy thao tác, xem hủy thao tác .

Nhập các bộ sưu tập cụ thể

Bảng điều khiển đám mây của Google

Bạn không thể chọn các bộ sưu tập cụ thể trong bảng điều khiển. Thay vào đó, hãy sử dụng gcloud .

gcloud

Để nhập các nhóm bộ sưu tập cụ thể từ một tập hợp các tệp xuất, hãy sử dụng --collection-ids . Thao tác này chỉ nhập các nhóm bộ sưu tập có ID bộ sưu tập nhất định. Nhóm bộ sưu tập bao gồm tất cả các bộ sưu tập và bộ sưu tập con (tại bất kỳ đường dẫn nào) với ID bộ sưu tập được chỉ định.

Chỉ xuất các nhóm bộ sưu tập cụ thể mới hỗ trợ nhập các nhóm bộ sưu tập cụ thể. Bạn không thể nhập các bộ sưu tập cụ thể từ xuất tất cả các tài liệu.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1]

Quản lý hoạt động xuất nhập khẩu

Sau khi bạn bắt đầu thao tác xuất hoặc nhập, Cloud Firestore sẽ gán cho thao tác một tên duy nhất. Bạn có thể sử dụng tên thao tác để xóa, hủy hoặc kiểm tra trạng thái thao tác.

Tên hoạt động có tiền tố là projects/[PROJECT_ID]/databases/(default)/operations/ , ví dụ:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

Tuy nhiên, bạn có thể bỏ qua tiền tố khi chỉ định tên hoạt động describe các lệnh description , canceldelete .

Liệt kê tất cả các hoạt động xuất nhập khẩu

Bảng điều khiển đám mây của Google

Bạn có thể xem danh sách các hoạt động xuất và nhập gần đây trong trang Nhập/xuất Cloud Firestore của Google Cloud Platform Console.

Chuyển đến trang Nhập/Xuất

gcloud

Sử dụng lệnh operations list để xem tất cả các hoạt động xuất và nhập đang chạy và đã hoàn thành gần đây:

gcloud firestore operations list

Kiểm tra tình trạng hoạt động

Bảng điều khiển đám mây của Google

Bạn có thể xem trạng thái của hoạt động xuất hoặc nhập gần đây trong trang Nhập/xuất Cloud Firestore của Google Cloud Platform Console.

Chuyển đến trang Nhập/Xuất

gcloud

Sử dụng lệnh operations describe để hiển thị trạng thái của thao tác xuất hoặc nhập.

gcloud firestore operations describe [OPERATION_NAME]

Ước tính thời gian hoàn thành

Yêu cầu về trạng thái của một hoạt động chạy dài sẽ trả về chỉ số workEstimatedworkCompleted . Mỗi số liệu này được trả về ở cả số byte và số lượng thực thể:

  • workEstimated hiển thị tổng số byte ước tính và ghi lại một thao tác sẽ xử lý. Cloud Firestore có thể bỏ qua chỉ số này nếu không thể đưa ra ước tính.

  • workCompleted hiển thị số byte và tài liệu được xử lý cho đến nay. Sau khi thao tác hoàn tất, giá trị hiển thị tổng số byte và tài liệu đã thực sự được xử lý, giá trị này có thể lớn hơn giá trị của workEstimated .

Chia workCompleted theo workEstimated tính để ước tính tiến độ sơ bộ. Ước tính này có thể không chính xác vì nó phụ thuộc vào việc thu thập số liệu thống kê bị trì hoãn.

Hủy bỏ một hoạt động

Bảng điều khiển đám mây của Google

Bạn có thể hủy thao tác xuất hoặc nhập đang chạy trong trang Nhập/xuất Cloud Firestore của Google Cloud Platform Console.

Chuyển đến trang Nhập/Xuất

Trong bảng Nhập và xuất gần đây , các thao tác hiện đang chạy bao gồm nút Hủy trong cột Đã hoàn thành . Nhấn nút Cancel để dừng thao tác. Nút thay đổi thành thông báo Đang hủy và sau đó thành Đã hủy khi hoạt động dừng hoàn toàn.

gcloud

Sử dụng lệnh operations cancel để dừng hoạt động đang diễn ra:

gcloud firestore operations cancel [OPERATION_NAME]

Hủy bỏ một hoạt động đang chạy không hoàn tác hoạt động. Thao tác xuất bị hủy sẽ để lại các tài liệu đã được xuất trong Cloud Storage và thao tác nhập bị hủy sẽ giữ nguyên các bản cập nhật đã được thực hiện cho cơ sở dữ liệu của bạn. Bạn không thể nhập xuất đã hoàn thành một phần.

Xóa một hoạt động

Sử dụng lệnh gcloud firestore operations delete để xóa một hoạt động khỏi danh sách các hoạt động gần đây. Lệnh này sẽ không xóa các tệp xuất khỏi Cloud Storage.

gcloud firestore operations delete [OPERATION_NAME]

Thanh toán và định giá cho các hoạt động xuất khẩu và nhập khẩu

Bạn được yêu cầu kích hoạt thanh toán cho dự án Google Cloud của mình trước khi sử dụng dịch vụ xuất và nhập được quản lý. Hoạt động xuất và nhập được tính phí cho các lần đọc và ghi tài liệu theo mức giá được liệt kê trong phần định giá của Cloud Firestore .

Chi phí cho các hoạt động xuất nhập khẩu không được tính vào giới hạn chi tiêu của bạn. Hoạt động xuất hoặc nhập sẽ không kích hoạt cảnh báo ngân sách Google Cloud của bạn cho đến sau khi hoàn thành. Tương tự, các lần đọc và ghi được thực hiện trong một thao tác xuất hoặc nhập được áp dụng cho hạn ngạch hàng ngày của bạn sau khi thao tác này hoàn tất. Hoạt động xuất và nhập sẽ không ảnh hưởng đến việc sử dụng được hiển thị trong phần sử dụng của bảng điều khiển.

Xem chi phí xuất nhập khẩu

Các hoạt động xuất và nhập áp dụng nhãn goog-firestoremanaged:exportimport cho các hoạt động được lập hóa đơn. Trong trang báo cáo Thanh toán qua đám mây , bạn có thể sử dụng nhãn này để xem chi phí liên quan đến hoạt động nhập và xuất:

Truy cập nhãn goog-firestoremanaged từ trình đơn bộ lọc.

Xuất sang BigQuery

Bạn có thể tải dữ liệu từ bản xuất của Cloud Firestore vào BigQuery, nhưng chỉ khi bạn đã chỉ định bộ lọc collection-ids . Xem Đang tải dữ liệu từ các bản xuất của Cloud Firestore .

Giới hạn cột BigQuery

BigQuery áp đặt giới hạn 10.000 cột trên mỗi bảng. Các hoạt động xuất của Cloud Firestore tạo một lược đồ bảng BigQuery cho từng nhóm bộ sưu tập. Trong lược đồ này, mỗi tên trường duy nhất trong một nhóm bộ sưu tập sẽ trở thành một cột lược đồ.

Nếu giản đồ BigQuery của nhóm bộ sưu tập vượt quá 10.000 cột, thì hoạt động xuất của Cloud Firestore sẽ cố gắng duy trì dưới giới hạn cột bằng cách coi các trường bản đồ là byte. Nếu chuyển đổi này mang lại số lượng cột dưới 10.000, thì bạn có thể tải dữ liệu vào BigQuery, nhưng bạn không thể truy vấn các trường con trong các trường bản đồ. Nếu số lượng cột vẫn vượt quá 10.000, thì thao tác xuất sẽ không tạo giản đồ BigQuery cho nhóm tập hợp và bạn không thể tải dữ liệu của nó vào BigQuery.

Xuất tệp định dạng và siêu dữ liệu

Đầu ra của quá trình xuất được quản lý sử dụng định dạng nhật ký LevelDB .

Tệp siêu dữ liệu

Thao tác xuất sẽ tạo một tệp siêu dữ liệu cho từng nhóm bộ sưu tập mà bạn chỉ định. Các tệp siêu dữ liệu thường được đặt tên là ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata .

Các tệp siêu dữ liệu là bộ đệm giao thức và bạn có thể giải mã chúng bằng trình biên dịch giao thức protoc . Ví dụ: bạn có thể giải mã tệp siêu dữ liệu để xác định nhóm bộ sưu tập mà tệp xuất chứa:

protoc --decode_raw < export0.export_metadata

Di chuyển đại lý dịch vụ

Giờ đây, bạn có thể sử dụng tác nhân dịch vụ Cloud Firestore để ủy quyền cho các hoạt động nhập và xuất thay vì tài khoản dịch vụ App Engine. Tác nhân dịch vụ và tài khoản dịch vụ sử dụng các quy ước đặt tên sau:

Đại lý dịch vụ Cloud Firestore
service- project_number @gcp-sa-firestore.iam.gserviceaccount.com
Tài khoản dịch vụ App Engine
project_id @appspot.gserviceaccount.com

Đại lý dịch vụ Cloud Firestore thích hợp hơn vì nó dành riêng cho Cloud Firestore. Tài khoản dịch vụ App Engine được chia sẻ bởi nhiều dịch vụ.

Xem tài khoản ủy quyền

Bạn có thể xem tài khoản mà hoạt động nhập và xuất của mình sử dụng để ủy quyền các yêu cầu từ trang Nhập/Xuất trong Bảng điều khiển Google Cloud Platform. Bạn cũng có thể xem liệu cơ sở dữ liệu của mình đã sử dụng tác nhân dịch vụ Cloud Firestore chưa.

  1. Truy cập trang Nhập/xuất Cloud Firestore trong Bảng điều khiển Google Cloud Platform.

    Chuyển đến Nhập/Xuất

  2. Xem tài khoản ủy quyền bên cạnh công việc Nhập/Xuất chạy dưới dạng nhãn.

Nếu dự án của bạn không sử dụng tác nhân dịch vụ Cloud Firestore, bạn có thể di chuyển sang tác nhân dịch vụ Cloud Firestore bằng một trong các kỹ thuật sau:

Kỹ thuật đầu tiên trong số này thích hợp hơn vì nó bản địa hóa phạm vi ảnh hưởng cho một dự án Cloud Firestore duy nhất. Kỹ thuật thứ hai không được ưu tiên vì nó không di chuyển các quyền của bộ chứa Cloud Storage hiện có. Tuy nhiên, nó cung cấp sự tuân thủ bảo mật ở cấp độ tổ chức.

Di chuyển bằng cách kiểm tra và cập nhật các quyền của bộ chứa Cloud Storage

Quá trình di chuyển có hai bước:

  1. Cập nhật các quyền của bộ chứa Cloud Storage. Xem phần sau để biết chi tiết.
  2. Xác nhận di chuyển sang đại lý dịch vụ Cloud Firestore.

Quyền bộ chứa tác nhân dịch vụ

Đối với mọi hoạt động xuất hoặc nhập sử dụng bộ chứa Cloud Storage trong một dự án khác, bạn phải cấp quyền cho tác nhân dịch vụ Cloud Firestore cho bộ chứa đó. Ví dụ: các hoạt động di chuyển dữ liệu sang một dự án khác cần truy cập vào một bộ chứa trong dự án đó. Mặt khác, các thao tác này không thành công sau khi di chuyển sang tác nhân dịch vụ Cloud Firestore.

Nhập và xuất các quy trình công việc nằm trong cùng một dự án không yêu cầu thay đổi quyền. Tác nhân dịch vụ Cloud Firestore có thể truy cập các bộ chứa trong cùng một dự án theo mặc định.

Cập nhật quyền cho bộ chứa Cloud Storage từ các dự án khác để cấp quyền truy cập cho tác nhân service- project_number @gcp-sa-firestore.iam.gserviceaccount.com . Cấp cho đại lý dịch vụ vai trò Firestore Service Agent .

Vai trò Firestore Service Agent cấp quyền đọc và ghi cho bộ chứa Lưu trữ đám mây. Nếu bạn cần cấp quyền chỉ đọc hoặc chỉ ghi, hãy sử dụng vai trò tùy chỉnh .

Quá trình di chuyển được mô tả trong phần sau đây giúp bạn xác định các bộ chứa Cloud Storage có thể yêu cầu cập nhật quyền.

Di chuyển dự án sang Firestore Service Agent

Hoàn thành các bước sau để di chuyển từ tài khoản dịch vụ App Engine sang tác nhân dịch vụ Cloud Firestore. Sau khi hoàn tất, quá trình di chuyển không thể hoàn tác.

  1. Truy cập trang Nhập/xuất Cloud Firestore trong Bảng điều khiển Google Cloud Platform.

    Chuyển đến Nhập/Xuất

  2. Nếu dự án của bạn chưa được di chuyển sang tác nhân dịch vụ Cloud Firestore, bạn sẽ thấy một biểu ngữ mô tả quá trình di chuyển và nút Kiểm tra trạng thái nhóm. Bước tiếp theo giúp bạn xác định và khắc phục các lỗi về quyền tiềm ẩn.

    Nhấp vào Kiểm tra trạng thái nhóm .

    Một menu xuất hiện với tùy chọn hoàn tất quá trình di chuyển của bạn và danh sách các bộ chứa Cloud Storage. Có thể mất vài phút để tải xong danh sách.

    Danh sách này bao gồm các bộ chứa gần đây đã được sử dụng trong hoạt động nhập và xuất, nhưng hiện không cấp quyền đọc và ghi cho tác nhân dịch vụ Cloud Firestore.

  3. Ghi lại tên chính của đại lý dịch vụ Cloud Firestore trong dự án của bạn. Tên tác nhân dịch vụ xuất hiện bên dưới Tác nhân dịch vụ để cấp quyền truy cập vào nhãn.
  4. Đối với bất kỳ bộ chứa nào trong danh sách mà bạn sẽ sử dụng cho các hoạt động nhập hoặc xuất trong tương lai, hãy hoàn thành các bước sau:

    1. Trong hàng của bảng nhóm này, hãy nhấp vào Khắc phục . Thao tác này sẽ mở trang quyền của nhóm đó trong tab mới.

    2. Nhấp vào Thêm .
    3. Trong trường Hiệu trưởng mới , hãy nhập tên của đại lý dịch vụ Cloud Firestore của bạn.
    4. Trong trường Chọn vai trò , chọn Đại lý dịch vụ > Đại lý dịch vụ Firestore .
    5. Nhấp vào Lưu .
    6. Quay lại tab có trang Nhập/Xuất Cloud Firestore.
    7. Lặp lại các bước này cho các nhóm khác trong danh sách. Đảm bảo xem tất cả các trang của danh sách.
  5. Nhấp vào Di chuyển sang Đại lý dịch vụ Firestore . Nếu bạn vẫn có các bộ chứa kiểm tra quyền không thành công, bạn cần xác nhận quá trình di chuyển của mình bằng cách nhấp vào Di chuyển .

    Một cảnh báo thông báo cho bạn khi quá trình di chuyển của bạn hoàn tất. Không thể hoàn tác quá trình di chuyển.

Xem trạng thái di chuyển

  1. Để xác minh trạng thái di chuyển dự án của bạn, hãy truy cập trang Nhập/Xuất trong Bảng điều khiển Google Cloud Platform:

    Chuyển đến Nhập/Xuất

  2. Tìm phần chính bên cạnh công việc Nhập/Xuất chạy dưới dạng nhãn.

    Nếu chính là service- project_number @gcp-sa-firestore.iam.gserviceaccount.com thì dự án của bạn đã được di chuyển sang tác nhân dịch vụ Cloud Firestore. Không thể hoàn tác quá trình di chuyển.

    Nếu dự án chưa được di chuyển, một biểu ngữ sẽ xuất hiện ở đầu trang với nút Kiểm tra trạng thái nhóm. Xem Di chuyển đến tác nhân dịch vụ Firestore để hoàn tất quá trình di chuyển.

Thêm ràng buộc chính sách toàn tổ chức

  • Đặt ràng buộc sau trong chính sách của tổ chức bạn:

    Yêu cầu Đại lý dịch vụ Firestore để nhập/xuất ( firestore.requireP4SAforImportExport ).

    Ràng buộc này yêu cầu các hoạt động nhập và xuất sử dụng tác nhân dịch vụ Cloud Firestore để ủy quyền cho các yêu cầu. Để đặt ràng buộc này, hãy xem Tạo và quản lý chính sách tổ chức .

Việc áp dụng ràng buộc chính sách tổ chức này không tự động cấp quyền bộ chứa Cloud Storage thích hợp cho tác nhân dịch vụ Cloud Firestore.

Nếu ràng buộc tạo ra lỗi quyền cho bất kỳ quy trình nhập hoặc xuất nào, bạn có thể tắt nó để quay lại sử dụng tài khoản dịch vụ mặc định. Sau khi kiểm tra và cập nhật các quyền của bộ chứa Cloud Storage , bạn có thể kích hoạt lại ràng buộc.