Chỉ áp dụng cho phiên bản Cloud Firestore Enterprise. |
Bạn có thể sử dụng dịch vụ xuất và nhập được quản lý để khôi phục dữ liệu bị xoá do nhầm lẫn và xuất dữ liệu để xử lý ngoại tuyến. Bạn có thể xuất tất cả tài liệu hoặc chỉ xuất một số bộ sưu tập cụ thể. Tương tự, bạn có thể nhập tất cả dữ liệu từ một tệp xuất hoặc chỉ nhập các bộ sưu tập cụ thể. Bạn có thể nhập dữ liệu được xuất từ một Cloud Firestore có cơ sở dữ liệu tương thích với MongoDB vào một Cloud Firestore khác có cơ sở dữ liệu tương thích với MongoDB. Bạn cũng có thể tải Cloud Firestore có khả năng tương thích với dữ liệu xuất của MongoDB vào BigQuery.
Trang này mô tả cách xuất và nhập Cloud Firestore bằng các tài liệu tương thích với MongoDB bằng cách sử dụng dịch vụ xuất và nhập được quản lý và Cloud Storage. Dịch vụ xuất và nhập được quản lý có khả năng tương thích với MongoDB của Cloud Firestore có sẵn thông qua công cụ dòng lệnh gcloud
và API có khả năng tương thích với MongoDB của Cloud Firestore (REST, RPC).
Trước khi bắt đầu
Để có thể sử dụng dịch vụ xuất và nhập được quản lý, bạn phải hoàn tất các việc sau:
- Bật tính năng thanh toán cho dự án Google Cloud của bạn. Chỉ những dự án Google Cloud đã 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.
- Tạo một bộ chứa Cloud Storage cho dự án của bạn ở một vị trí gần vị trí cơ sở dữ liệu tương thích với Cloud Firestore bằng MongoDB. Bạn không thể sử dụng một vùng lưu trữ Người yêu cầu thanh toán cho các thao tác xuất và nhập.
-
Đảm bảo tài khoản của bạn có các quyền cần thiết đối với Cloud Firestore có khả năng tương thích với MongoDB và Cloud Storage. Nếu là chủ sở hữu dự án, thì tài khoản của bạn có các quyền cần thiết. Nếu không, các vai trò sau đây sẽ cấp các quyền cần thiết cho hoạt động xuất và nhập, cũng như cho quyền truy cập vào Cloud Storage:
- Cloud Firestore có các vai trò tương thích với MongoDB:
Owner
,Cloud Datastore Owner
hoặcCloud Datastore Import Export Admin
Vai trò Cloud Storage:
Owner
hoặcStorage Admin
- Cloud Firestore có các vai trò tương thích với MongoDB:
Quyền của nhân viên hỗ trợ dịch vụ
Các thao tác xuất và nhập dữ liệu sử dụng tác nhân dịch vụ Cloud Firestore để uỷ quyền cho các thao tác Cloud Storage. Tác nhân dịch vụ Cloud Firestore sử dụng quy ước đặt tên sau:
- Cloud Firestore nhân viên hỗ trợ dịch vụ
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Để tìm hiểu thêm về trợ lý dịch vụ, hãy xem bài viết Trợ lý dịch vụ.
Tác nhân dịch vụ Cloud Firestore cần có quyền truy cập vào nhóm Cloud Storage được dùng trong thao tác xuất hoặc nhập. Nếu vùng 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, thì tác nhân dịch vụ Cloud Firestore có thể truy cập vào vùng 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ác nhân dịch vụ Cloud Firestore quyền truy cập vào bộ chứa Cloud Storage.
Chỉ định vai trò cho nhân viên hỗ trợ
Bạn có thể dùng công cụ dòng lệnh gsutil để chỉ định một trong các vai trò bên dưới. Ví dụ: để chỉ định vai trò Quản trị viên bộ nhớ cho tác nhân dịch vụ Cloud Firestore, hãy chạy lệnh sau:
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \ gs://[BUCKET_NAME]
Thay thế PROJECT_NUMBER
bằng số dự án của bạn. Số này được dùng để đặt tên cho tác nhân dịch vụ Cloud Firestore. Để xem tên nhân viên hỗ trợ dịch vụ, hãy xem phần Xem tên nhân viên hỗ trợ dịch vụ.
Ngoài ra, bạn có thể chỉ định vai trò này bằng Google Cloud Console.
Xem tên nhân viên hỗ trợ dịch vụ
Bạn có thể xem tài khoản mà các thao tác nhập và xuất của bạn dùng để uỷ quyền các yêu cầu trên trang Nhập/Xuất trong bảng điều khiển Google Cloud. Bạn cũng có thể xem liệu cơ sở dữ liệu của mình có sử dụng tác nhân dịch vụ Cloud Firestore hay tài khoản dịch vụ App Engine cũ hay không.
- Xem tài khoản uỷ quyền bên cạnh nhãn Nhập/Xuất các công việc chạy dưới dạng.
Tác nhân dịch vụ cần có vai trò Storage Admin
đối với vùng chứa Cloud Storage sẽ được dùng cho thao tác xuất hoặc nhập.
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 bảng điều khiển Google Cloud 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 những cách sau:
Truy cập vào
gcloud
từ bảng điều khiển Google Cloud bằng cách sử dụng Cloud Shell.Đảm bảo bạn đã định cấu hình
gcloud
cho đúng dự án:gcloud config set project [PROJECT_ID]
Nhập dữ liệu
Sau khi xuất tệp trong Cloud Storage, 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 vào một dự án khác. Lưu ý những điểm sau đây về các thao tác nhập:
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ác định nghĩa chỉ mục hiện tại của cơ sở dữ liệu. Tệp xuất không chứa các định nghĩa chỉ mục.
Thao tác nhập không chỉ định mã nhận dạng tài liệu mới. Tính năng nhập sử dụng các mã nhận dạng được ghi lại tại thời điểm xuất. Khi một tài liệu đang được nhập, mã nhận dạng của tài liệu đó sẽ được dành riêng để tránh xung đột mã nhận dạng. Nếu đã có một tài liệu có cùng mã nhận dạng, thì thao tác nhập sẽ ghi đè 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 chịu ảnh hưởng của một thao tác nhập, thì tài liệu đó sẽ vẫn nằm trong cơ sở dữ liệu của bạn sau khi 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 tệp xuất, hãy giữ nguyên tên tệp PARENT_FOLDER_NAME và
.overall_export_metadata
.Thao tác nhập vào Cloud Firestore có cơ sở dữ liệu tương thích với MongoDB từ một thao tác xuất có các bộ sưu tập con sẽ không thành công vì Cloud Firestore có khả năng tương thích với MongoDB không hỗ trợ các bộ sưu tập con.
Thao tác nhập vào cơ sở dữ liệu Cloud Firestore phiên bản Chuẩn từ một tệp xuất có các loại BSON sẽ không thành công vì Cloud Firestore phiên bản Chuẩn không hỗ trợ các loại BSON.
Thao tác nhập vào cơ sở dữ liệu Cloud Firestore có khả năng tương thích với MongoDB không thể nhập dữ liệu từ các không gian tên không mặc định (API Datastore).
Bạn chỉ được phép nhập vào một Cloud Firestore có cơ sở dữ liệu tương thích với MongoDB từ các tệp dữ liệu chứa không gian tên không mặc định nếu thao tác xuất có bộ lọc
--namespace-ids
có không gian tên mặc định. Chỉ dữ liệu từ không gian tên mặc định mới được nhập.
Nhập tất cả tài liệu từ một tệp xuất
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Cơ sở dữ liệu.
Chọn một cơ sở dữ liệu trong danh sách cơ sở dữ liệu.
Trong trình đơn điều hướng, hãy nhấp vào Nhập/Xuất.
Nhấp vào Nhập.
Trong trường Filename (Tên tệp), hãy nhập tên tệp của một tệp
.overall_export_metadata
trong một thao tác xuất đã hoàn tất. Bạn có thể dùng nút Duyệt qua để chọn tệp.Nhấp vào Nhập.
Bảng điều khiển sẽ 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 vào trang nhập và xuất gần đây. Nếu 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ừ một thao tác xuất trước đó.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]
Thay thế nội dung sau:
BUCKET_NAME/EXPORT_PREFIX
: vị trí của các tệp xuất.DATABASE
: tên của cơ sở dữ liệu.
Ví dụ:
gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'
Bạn có thể xác nhận vị trí của các tệp xuất trong trình duyệt Cloud Storage trong bảng điều khiển Google Cloud:
Sau khi bạn bắt đầu một thao tác nhập, việc đóng thiết bị đầu cuối sẽ không huỷ thao tác đó, hãy xem phần huỷ thao tác.
Nhập bộ sưu tập cụ thể
Bảng điều khiển Google Cloud
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 bộ sưu tập cụ thể từ một nhóm tệp xuất, hãy sử dụng cờ --collection-ids
. Thao tác này chỉ nhập những bộ sưu tập có mã bộ sưu tập đã cho.
Chỉ định tên cơ sở dữ liệu bằng cờ --database
.
Chỉ có chế độ xuất các bộ sưu tập cụ thể mới hỗ trợ chế độ nhập các bộ sưu tập cụ thể. Bạn không thể nhập các bộ sưu tập cụ thể từ tệp xuất của tất cả tài liệu.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2] \ --database=[DATABASE]
Nhập từ một tệp xuất có dữ liệu PITR
Hãy làm theo các bước tương tự như trong phần Nhập tất cả tài liệu hoặc Nhập các bộ sưu tập cụ thể để nhập dữ liệu PITR. Nếu có bất kỳ tài liệu nào đã tồn tại trong cơ sở dữ liệu của bạn, thì tài liệu đó sẽ bị ghi đè.
Xuất dữ liệu
Thao tác xuất sẽ sao chép các tài liệu trong cơ sở dữ liệu của bạn vào một nhóm tệp trong bộ chứa Cloud Storage. Xin lưu ý rằng dữ liệu xuất không phải là ảnh chụp nhanh chính xác của cơ sở dữ liệu được thực hiện vào thời điểm bắt đầu xuất. Một thao tác xuất có thể bao gồm những 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 Google Cloud
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Cơ sở dữ liệu.
Chọn cơ sở dữ liệu cần thiết trong danh sách cơ sở dữ liệu.
Trong trình đơn điều hướng, hãy nhấp vào Nhập/Xuất.
Nhấp vào Xuất.
Nhấp vào lựa chọn Xuất toàn bộ cơ sở dữ liệu.
Chọn Xuất trạng thái hiện tại của cơ sở dữ liệu để xuất dữ liệu hiện tại.
Trong phần Đích đến, hãy nhập tên của một vùng chứa Cloud Storage hoặc dùng nút Duyệt xem để chọn một vùng chứa.
Nhấp vào Xuất.
Bảng điều khiển sẽ 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 vào trang nhập và xuất gần đây. Nếu 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 nhóm Cloud Storage. Thêm cờ --async
để ngăn công cụ gcloud
chờ thao tác hoàn tất.
gcloud firestore export gs://[BUCKET_NAME] \ --database=[DATABASE]
Thay thế nội dung sau:
BUCKET_NAME
: sắp xếp các tệp xuất bằng cách thêm tiền tố tệp sau tên nhóm, 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.DATABASE
: tên của cơ sở dữ liệu mà bạn muốn xuất tài liệu.
Sau khi bạn bắt đầu thao tác xuất, việc đóng thiết bị đầu cuối sẽ không huỷ thao tác đó, hãy xem phần huỷ thao tác.
Xuất các bộ sưu tập cụ thể
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Cơ sở dữ liệu.
Chọn cơ sở dữ liệu cần thiết trong danh sách cơ sở dữ liệu.
Trong trình đơn điều hướng, hãy nhấp vào Nhập/Xuất.
Nhấp vào Xuất.
Nhấp vào lựa 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 bộ sưu tập.
Chọn Xuất trạng thái hiện tại của cơ sở dữ liệu để xuất dữ liệu hiện tại.
Trong phần Đích đến, hãy nhập tên của một vùng chứa Cloud Storage hoặc dùng nút Duyệt xem để chọn một vùng chứa.
Nhấp vào Xuất.
Bảng điều khiển sẽ 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 vào trang nhập và xuất gần đây. Nếu không thành công, trang sẽ hiển thị thông báo lỗi.
gcloud
Để xuất các bộ sưu tập cụ thể, hãy dùng cờ --collection-ids
. Thao tác này chỉ xuất những bộ sưu tập có mã nhận dạng bộ sưu tập đã cho.
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2] \ --database=[DATABASE]
Ví dụ: bạn có thể thiết kế một tập hợp restaurants
trong cơ sở dữ liệu foo
để thêm các tập hợp khác, chẳng hạn như ratings
, reviews
hoặc outlets
. Để xuất một bộ sưu tập restaurants
và reviews
cụ thể, lệnh của bạn sẽ có dạng như sau:
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=restaurants,reviews \ --database='cymbal'
Xuất từ dấu thời gian PITR
Bạn có thể xuất cơ sở dữ liệu sang Cloud Storage từ dữ liệu PITR.
Bạn có thể xuất dữ liệu PITR có dấu thời gian là dấu thời gian nguyên phút trong vòng 7 ngày qua, nhưng không được sớm hơn earliestVersionTime
. Nếu dữ liệu không còn tồn tại ở dấu thời gian đã chỉ định, thì thao tác xuất sẽ không thành công.
Thao tác xuất PITR hỗ trợ tất cả các bộ lọc, bao gồm cả việc xuất tất cả tài liệu và xuất các bộ sưu tập cụ thể.
Lưu ý những điểm sau đây trước khi xuất dữ liệu PITR:
- Chỉ định dấu thời gian theo định dạng RFC 3339. Ví dụ:
2020-09-01T23:59:30.234233Z
. - Đảm bảo rằng dấu thời gian bạn chỉ định là dấu thời gian ở phút nguyên trong vòng 7 ngày qua, nhưng không sớm hơn
earliestVersionTime
. Nếu dữ liệu không còn tồn tại ở dấu thời gian đã chỉ định, thì sẽ xảy ra lỗi. - Bạn sẽ không bị tính phí cho lệnh xuất PITR không thành công.
Bảng điều khiển
-
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Cơ sở dữ liệu.
Chuyển đến phần Cơ sở dữ liệu - Chọn một cơ sở dữ liệu trong danh sách cơ sở dữ liệu.
- Trong trình đơn điều hướng, hãy nhấp vào Nhập/Xuất.
- Nhấp vào Xuất.
- Định cấu hình nguồn xuất để xuất toàn bộ cơ sở dữ liệu hoặc chỉ xuất các bộ sưu tập cụ thể.
Trong phần Chọn trạng thái cơ sở dữ liệu để xuất, hãy chọn Xuất từ một thời điểm trước đó.
Chọn thời điểm chụp ảnh nhanh để dùng cho việc xuất
- Trong phần Đích đến, hãy nhập tên của một vùng chứa Cloud Storage hoặc dùng nút Duyệt qua để chọn một vùng chứa.
-
Nhấp vào Xuất.
Bảng điều khiển sẽ 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 vào trang nhập và xuất gần đây. Nếu không thành công, trang sẽ hiển thị thông báo lỗi.
gcloud
Bạn có thể xuất cơ sở dữ liệu sang Cloud Storage từ dữ liệu PITR bằng lệnh gcloud firestore export
.
Xuất cơ sở dữ liệu, chỉ định tham số snapshot-time
thành dấu thời gian khôi phục. Chạy lệnh sau để xuất cơ sở dữ liệu vào nhóm của bạn.
gcloud firestore export gs://[BUCKET_NAME_PATH] \ --snapshot-time=[PITR_TIMESTAMP]
Trong đó PITR_TIMESTAMP
là dấu thời gian PITR ở độ chi tiết theo phút, ví dụ: 2023-05-26T10:20:00.00Z
.
Thêm cờ --collection-ids
để xuất các bộ sưu tập cụ thể.
Quản lý các thao tác xuất và nhập
Sau khi bạn bắt đầu một thao tác xuất hoặc nhập, Cloud Firestore có khả năng tương thích với MongoDB sẽ chỉ định cho thao tác đó một tên duy nhất. Bạn có thể sử dụng tên thao tác để xoá, huỷ hoặc kiểm tra trạng thái của thao tác.
Tên thao tác có tiền tố là projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/
, ví dụ:
projects/my-project/databases/my-database/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
Tuy nhiên, bạn có thể bỏ qua tiền tố khi chỉ định tên thao tác cho các lệnh describe
, cancel
và delete
.
Liệt kê tất cả các thao tác xuất và nhập
Bảng điều khiển Google Cloud
Bạn có thể xem danh sách các thao tác xuất và nhập gần đây trên trang Nhập/Xuất của Google Cloud Console.
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Cơ sở dữ liệu.
Chọn cơ sở dữ liệu cần thiết trong danh sách cơ sở dữ liệu.
Trong trình đơn điều hướng, hãy nhấp vào Nhập/Xuất.
gcloud
Dùng lệnh operations list
để xem tất cả các thao tác xuất và nhập đang chạy và mới hoàn tất:
gcloud firestore operations list
Kiểm tra trạng thái hoạt động
Bảng điều khiển Google Cloud
Bạn có thể xem trạng thái của một thao tác xuất hoặc nhập gần đây trên trang Nhập/Xuất của Google Cloud Console.
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Cơ sở dữ liệu.
Chọn cơ sở dữ liệu cần thiết trong danh sách cơ sở dữ liệu.
Trong trình đơn điều hướng, hãy nhấp vào Nhập/Xuất.
gcloud
Sử dụng lệnh operations describe
để cho biết 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 thao tác diễn ra trong thời gian dài sẽ trả về các chỉ số workEstimated
và workCompleted
. Mỗi chỉ số này được trả về theo cả số lượng byte và số lượng thực thể:
workEstimated
cho biết tổng số byte và tài liệu ước tính mà một thao tác sẽ xử lý. Cloud Firestore có khả năng tương thích với MongoDB có thể bỏ qua chỉ số này nếu không thể ước tính.workCompleted
cho biết số lượng byte và tài liệu đã xử lý cho đến thời điểm hiện tại. Sau khi thao tác hoàn tất, giá trị này cho biết tổng số byte và tài liệu đã được xử lý thực tế, có thể lớn hơn giá trị củaworkEstimated
.
Chia workCompleted
cho workEstimated
để ước tính tiến trình một cách sơ bộ. Số liệu ước tính này có thể không chính xác vì phụ thuộc vào việc thu thập số liệu thống kê bị trì hoãn.
Huỷ thao tác
Bảng điều khiển Google Cloud
Bạn có thể huỷ một thao tác xuất hoặc nhập đang chạy trên trang Nhập/Xuất của bảng điều khiển Google Cloud.
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Cơ sở dữ liệu.
Chọn cơ sở dữ liệu cần thiết trong danh sách cơ sở dữ liệu.
Trong trình đơn điều hướng, hãy nhấp vào Nhập/Xuất.
Trong bảng Hoạt động nhập và xuất gần đây, các thao tác đang chạy sẽ có nút Huỷ trong cột Đã hoàn tất. Nhấp vào nút Huỷ để dừng thao tác. Nút này sẽ chuyển thành thông báo Đang huỷ rồi chuyển thành Đã huỷ khi thao tác dừng hoàn toàn.
gcloud
Sử dụng lệnh operations cancel
để dừng một thao tác đang diễn ra:
gcloud firestore operations cancel [OPERATION_NAME]
Việc huỷ một thao tác đang chạy sẽ không huỷ thao tác đó. Thao tác xuất bị huỷ sẽ giữ lại các tài liệu đã xuất trong Cloud Storage, còn thao tác nhập bị huỷ sẽ giữ nguyên các nội dung cập nhật đã thực hiện cho cơ sở dữ liệu của bạn. Bạn không thể nhập một tệp xuất chưa hoàn tất.
Xoá một thao tác
Sử dụng lệnh gcloud firestore operations delete
để xoá một thao tác khỏi danh sách các thao tác gần đây. Lệnh này sẽ không xoá các tệp xuất khỏi Cloud Storage.
gcloud firestore operations delete [OPERATION_NAME]
Thanh toán và định giá cho hoạt động xuất và nhập
Bạn phải bật tính năng thanh toán cho dự án Google Cloud thì mới có thể sử dụng dịch vụ xuất và nhập được quản lý.
Các thao tác xuất và nhập được tính phí cho các đơn vị đọc và đơn vị ghi theo mức giá được liệt kê trong phần Giá của Cloud Firestore có khả năng tương thích với MongoDB.
Các tệp đầu ra được lưu trữ trong Cloud Storage được tính vào chi phí lưu trữ dữ liệu Cloud Storage của bạn.
Các thao tác xuất hoặc nhập sẽ không kích hoạt cảnh báo Google Cloudngân sách cho đến khi hoàn tất. Các thao tác xuất và nhập sẽ không ảnh hưởng đến mức sử dụng xuất hiện trong phần mức sử dụng của bảng điều khiển.
Xem chi phí xuất và nhập
Các thao tác xuất và nhập sẽ áp dụng nhãn goog-firestoremanaged:exportimport
cho các thao tác được tính phí. Trên trang Báo cáo thanh toán trên đám mây, bạn có thể sử dụng nhãn này để xem chi phí liên quan đến các hoạt động nhập và xuất:
Xuất sang BigQuery
Bạn có thể tải dữ liệu từ một Cloud Firestore có khả năng tương thích với MongoDB xuất vào BigQuery, nhưng chỉ khi bạn chỉ định một bộ lọc collection-ids
. Xem phần Tải dữ liệu từ Cloud Firestore bằng các tệp xuất tương thích với MongoDB.
Khi tải dữ liệu tương thích với MongoDB trong Cloud Firestore vào BigQuery, các kiểu dữ liệu BSON sẽ được biểu thị bằng kiểu dữ liệu STRING
.
Giới hạn BigQuery cột
BigQuery áp đặt giới hạn 10.000 cột cho mỗi bảng. Các thao tác xuất tương thích với Cloud Firestore bằng MongoDB sẽ tạo một giản đồ bảng BigQuery cho mỗi tập hợp. Trong giản đồ này, mỗi tên trường duy nhất trong một tập hợp sẽ trở thành một cột giản đồ.
Nếu giản đồ BigQuery của một tập hợp vượt quá 10.000 cột, thì thao tác xuất Cloud Firestore có khả năng tương thích với MongoDB 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 lượt chuyển đổi này làm giảm số lượng cột xuống dưới 10.000, bạn có thể tải dữ liệu vào BigQuery, nhưng không thể truy vấn các trường phụ 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 lược đồ BigQuery cho bộ sưu tập và bạn không thể tải dữ liệu của bộ sưu tập đó vào BigQuery.
Xuất tệp định dạng và siêu dữ liệu
Đầu ra của một hoạt động xuất được quản lý sẽ 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 mỗi bộ sưu tập mà bạn chỉ định. Các tệp siêu dữ liệu thường có 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ã một tệp siêu dữ liệu để xác định những bộ sưu tập mà các tệp xuất chứa:
protoc --decode_raw < export0.export_metadata