Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

데이터 내보내기 및 가져오기

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Cloud Firestore 관리 내보내기 및 가져오기 서비스를 사용하여 실수로 데이터를 삭제한 경우 복구하고 오프라인 처리를 위해 데이터를 내보낼 수 있습니다. 모든 문서 또는 특정 컬렉션만 내보낼 수 있습니다. 마찬가지로 내보내기에서 모든 데이터를 가져오거나 특정 컬렉션만 가져올 수 있습니다. 하나의 Cloud Firestore 데이터베이스에서 내보낸 데이터를 다른 Cloud Firestore 데이터베이스로 가져올 수 있습니다. Cloud Firestore 내보내기를 BigQuery로 로드 할 수도 있습니다.

이 페이지에서는 관리형 내보내기 및 가져오기 서비스와 Cloud Storage 를 사용하여 Cloud Firestore 문서를 내보내고 가져오는 방법을 설명합니다. Cloud Firestore 관리 내보내기 및 가져오기 서비스는 gcloud 명령줄 도구 및 Cloud Firestore API( REST , RPC )를 통해 사용할 수 있습니다.

시작하기 전에

관리형 내보내기 및 가져오기 서비스를 사용하려면 먼저 다음 작업을 완료해야 합니다.

  1. Google Cloud 프로젝트에 결제를 사용 설정하세요. 결제가 사용 설정된 Google Cloud 프로젝트만 내보내기 및 가져오기 기능을 사용할 수 있습니다.
  2. Cloud Firestore 데이터베이스 위치 근처에 프로젝트용 Cloud Storage 버킷을 만듭니다 . 내보내기 및 가져오기 작업에 요청자 지불 버킷을 사용할 수 없습니다.
  3. 계정에 Cloud Firestore 및 Cloud Storage에 필요한 권한이 있는지 확인하세요. 프로젝트 소유자인 경우 계정에 필요한 권한이 있습니다. 그렇지 않으면 다음 역할이 내보내기 및 가져오기 작업과 Cloud Storage 액세스에 필요한 권한을 부여합니다.

    • Cloud Firestore 역할: Owner , Cloud Datastore Owner 또는 Cloud Datastore Import Export Admin
    • Cloud Storage 역할: Owner 또는 Storage Admin

기본 서비스 계정 권한

각 Google Cloud 프로젝트는 PROJECT_ID @appspot.gserviceaccount.com 이라는 기본 서비스 계정을 자동으로 만듭니다. 내보내기 및 가져오기 작업은 이 서비스 계정을 사용하여 Cloud Storage 작업을 승인합니다.

프로젝트의 기본 서비스 계정에는 내보내기 또는 가져오기 작업에 사용되는 Cloud Storage 버킷에 대한 액세스 권한이 필요합니다. Cloud Storage 버킷이 Cloud Firestore 데이터베이스와 동일한 프로젝트에 있는 경우 기본 서비스 계정은 기본적으로 버킷에 액세스할 수 있습니다 .

Cloud Storage 버킷이 다른 프로젝트에 있는 경우 기본 서비스 계정에 Cloud Storage 버킷에 대한 액세스 권한을 부여해야 합니다.

서비스 계정에는 내보내기 또는 가져오기 작업에 사용할 Cloud Storage 버킷에 대한 Storage Admin 역할이 필요합니다.

App Engine 기본 서비스 계정을 사용 중지하거나 삭제하면 App Engine 앱이 Cloud Firestore 데이터베이스에 액세스할 수 없게 됩니다. App Engine 서비스 계정을 비활성화한 경우 다시 활성화할 수 있습니다. 서비스 계정 활성화 를 참조하십시오. 지난 30일 이내에 App Engine 서비스 계정을 삭제한 경우 서비스 계정을 복원할 수 있습니다. 서비스 계정 삭제 취소 를 참조하세요.

프로젝트에 gcloud 설정

Google Cloud Platform Console 또는 gcloud 명령줄 도구를 통해 가져오기 및 내보내기 작업을 시작할 수 있습니다. gcloud 를 사용하려면 명령줄 도구를 설정하고 다음 방법 중 하나로 프로젝트에 연결하세요.

데이터 내보내기

내보내기 작업은 데이터베이스의 문서를 Cloud Storage 버킷의 파일 세트로 복사합니다. 내보내기는 내보내기 시작 시간에 생성된 정확한 데이터베이스 스냅샷이 아닙니다. 내보내기에는 작업이 실행되는 동안 변경된 내용이 포함될 수 있습니다.

모든 문서 내보내기

구글 클라우드 콘솔

  1. Google Cloud Platform 콘솔에서 Cloud Firestore 가져오기/내보내기 페이지로 이동합니다.

    가져오기/내보내기 페이지로 이동

  2. 내보내기 를 클릭합니다.

  3. 전체 데이터베이스 내보내기 옵션을 클릭합니다.

  4. 대상 선택 아래에 Cloud Storage 버킷 이름을 입력하거나 찾아보기 버튼을 사용하여 버킷을 선택합니다.

  5. 내보내기 를 클릭합니다.

콘솔이 가져오기/내보내기 페이지로 돌아갑니다. 작업이 성공적으로 시작되면 페이지는 최근 가져오기 및 내보내기 페이지에 항목을 추가합니다. 실패하면 페이지에 오류 메시지가 표시됩니다.

gcloud

firestore export 명령어를 사용하여 데이터베이스의 모든 문서를 내보내고 [BUCKET_NAME] 을 Cloud Storage 버킷 이름으로 바꿉니다. --async 플래그를 추가하여 작업이 완료될 때까지 gcloud 도구가 기다리지 않도록 합니다.

gcloud firestore export gs://[BUCKET_NAME]

버킷 이름 뒤에 파일 접두사를 추가하여 내보내기를 구성할 수 있습니다(예: BUCKET_NAME/my-exports-folder/export-name . 파일 접두사를 제공하지 않으면 관리형 내보내기 서비스가 현재 타임스탬프를 기반으로 파일 접두사를 생성합니다.

내보내기 작업을 시작하면 터미널을 닫아도 작업이 취소되지 않습니다. 작업 취소 를 참조하십시오.

특정 컬렉션 내보내기

구글 클라우드 콘솔

  1. Google Cloud Platform 콘솔에서 Cloud Firestore 가져오기/내보내기 페이지로 이동합니다.

    가져오기/내보내기 페이지로 이동

  2. 내보내기 를 클릭합니다.

  3. 하나 이상의 컬렉션 그룹 내보내기 옵션을 클릭합니다. 드롭다운 메뉴를 사용하여 하나 이상의 컬렉션 그룹을 선택합니다.

  4. 대상 선택 아래에 Cloud Storage 버킷 이름을 입력하거나 찾아보기 버튼을 사용하여 버킷을 선택합니다.

  5. 내보내기 를 클릭합니다.

콘솔이 가져오기/내보내기 페이지로 돌아갑니다. 작업이 성공적으로 시작되면 페이지는 최근 가져오기 및 내보내기 페이지에 항목을 추가합니다. 실패하면 페이지에 오류 메시지가 표시됩니다.

gcloud

특정 컬렉션 그룹을 내보내려면 --collection-ids 플래그를 사용합니다. 이 작업은 지정된 컬렉션 ID가 있는 컬렉션 그룹만 내보냅니다. 컬렉션 그룹에는 지정된 컬렉션 ID가 있는 모든 컬렉션과 하위 컬렉션(모든 경로)이 포함됩니다.

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

데이터 가져오기

Cloud Storage에 파일을 내보내면 해당 파일의 문서를 프로젝트나 다른 프로젝트로 다시 가져올 수 있습니다. 가져오기 작업에 대한 다음 사항에 유의하십시오.

  • 데이터를 가져올 때 필요한 인덱스는 데이터베이스의 현재 인덱스 정의를 사용하여 업데이트됩니다. 내보내기에는 인덱스 정의가 포함되지 않습니다.

  • 가져오기는 새 문서 ID를 할당하지 않습니다. 가져오기는 내보내기 시 캡처된 ID를 사용합니다. 문서를 가져올 때 ID 충돌을 방지하기 위해 해당 ID가 예약됩니다. 동일한 ID를 가진 문서가 이미 존재하는 경우 가져오기는 기존 문서를 덮어씁니다.

  • 데이터베이스의 문서가 가져오기의 영향을 받지 않는 경우 가져온 후에도 데이터베이스에 남아 있습니다.

  • 가져오기 작업은 Cloud Functions를 트리거하지 않습니다. 스냅샷 수신기 는 가져오기 작업과 관련된 업데이트를 받습니다.

  • .overall_export_metadata 파일 이름은 상위 폴더의 이름과 일치해야 합니다.

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

    내보내기의 출력 파일을 이동하거나 복사하는 경우 PARENT_FOLDER_NAME.overall_export_metadata 파일 이름을 동일하게 유지하십시오.

내보내기에서 모든 문서 가져오기

구글 클라우드 콘솔

  1. Google Cloud Platform 콘솔에서 Cloud Firestore 가져오기/내보내기 페이지로 이동합니다.

    가져오기/내보내기 페이지로 이동

  2. 가져오기 를 클릭합니다.

  3. 파일 이름 필드에 완료된 내보내기 작업의 .overall_export_metadata 파일 이름을 입력합니다. 찾아보기 버튼을 사용하여 파일을 선택할 수 있습니다.

  4. 가져오기 를 클릭합니다.

콘솔이 가져오기/내보내기 페이지로 돌아갑니다. 작업이 성공적으로 시작되면 페이지는 최근 가져오기 및 내보내기 페이지에 항목을 추가합니다. 실패하면 페이지에 오류 메시지가 표시됩니다.

gcloud

firestore import 명령어를 사용하여 이전 내보내기 작업에서 문서를 가져옵니다.

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

여기서 [BUCKET_NAME][EXPORT_PREFIX] 는 내보내기 파일의 위치를 ​​가리킵니다. 예를 들어:

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

Google Cloud Platform 콘솔의 Cloud Storage 브라우저에서 내보내기 파일의 위치를 ​​확인할 수 있습니다.

Cloud Storage 브라우저 열기

가져오기 작업을 시작하면 터미널을 닫아도 작업이 취소되지 않습니다. 작업 취소 를 참조하십시오.

특정 컬렉션 가져오기

구글 클라우드 콘솔

콘솔에서 특정 컬렉션을 선택할 수 없습니다. 대신 gcloud 를 사용하세요.

gcloud

내보내기 파일 집합에서 특정 컬렉션 그룹을 가져오려면 --collection-ids 플래그를 사용합니다. 이 작업은 지정된 컬렉션 ID가 있는 컬렉션 그룹만 가져옵니다. 컬렉션 그룹에는 지정된 컬렉션 ID가 있는 모든 컬렉션과 하위 컬렉션(모든 경로)이 포함됩니다.

특정 컬렉션 그룹 내보내기만 특정 컬렉션 그룹 가져오기를 지원합니다. 모든 문서 내보내기에서 특정 컬렉션을 가져올 수 없습니다.

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

내보내기 및 가져오기 작업 관리

내보내기 또는 가져오기 작업을 시작하면 Cloud Firestore에서 작업에 고유한 이름을 할당합니다. 작업 이름을 사용하여 작업을 삭제, 취소 또는 상태를 확인할 수 있습니다.

작업 이름은 다음과 같이 projects/[PROJECT_ID]/databases/(default)/operations/ 접두사가 붙습니다.

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

그러나 describe , canceldelete 명령에 대한 작업 이름을 지정할 때 접두사를 생략할 수 있습니다.

모든 내보내기 및 가져오기 작업 나열

구글 클라우드 콘솔

Google Cloud Platform 콘솔의 Cloud Firestore 가져오기/내보내기 페이지에서 최근 내보내기 및 가져오기 작업 목록을 볼 수 있습니다.

가져오기/내보내기 페이지로 이동

gcloud

operations list 명령을 사용하여 실행 중이거나 최근에 완료된 내보내기 및 가져오기 작업을 모두 확인합니다.

gcloud firestore operations list

운영현황 확인

구글 클라우드 콘솔

Google Cloud Platform 콘솔의 Cloud Firestore 가져오기/내보내기 페이지에서 최근 내보내기 또는 가져오기 작업의 상태를 볼 수 있습니다.

가져오기/내보내기 페이지로 이동

gcloud

operations describe 명령을 사용하여 내보내기 또는 가져오기 작업의 상태를 표시합니다.

gcloud firestore operations describe [OPERATION_NAME]

완료 시간 예측

장기 실행 작업의 상태에 대한 요청은 workEstimatedworkCompleted 지표를 반환합니다. 이러한 각 메트릭은 바이트 수와 엔터티 수 모두에서 반환됩니다.

  • workEstimated 는 작업이 처리할 예상 총 바이트 수와 문서를 보여줍니다. Cloud Firestore는 예측할 수 없는 경우 이 측정항목을 생략할 수 있습니다.

  • workCompleted 는 지금까지 처리된 바이트 및 문서 수를 보여줍니다. 작업이 완료된 후 이 값은 실제로 처리된 바이트 및 문서의 총 수를 표시하며 workEstimated 값보다 클 수 있습니다.

작업을 workCompleted 별로 workEstimated 하여 대략적인 진행 예상으로 추정합니다. 이 추정치는 지연된 통계 수집에 의존하기 때문에 정확하지 않을 수 있습니다.

작업 취소

구글 클라우드 콘솔

Google Cloud Platform 콘솔의 Cloud Firestore 가져오기/내보내기 페이지에서 실행 중인 내보내기 또는 가져오기 작업을 취소할 수 있습니다.

가져오기/내보내기 페이지로 이동

최근 가져오기 및 내보내기 테이블에서 현재 실행 중인 작업에는 완료 됨 열에 취소 버튼이 포함되어 있습니다. 작업을 중지하려면 취소 버튼을 클릭합니다. 버튼이 취소 중 메시지로 변경된 다음 작업이 완전히 중지되면 취소됨 으로 변경됩니다.

gcloud

operations cancel 명령을 사용하여 진행 중인 작업을 중지합니다.

gcloud firestore operations cancel [OPERATION_NAME]

실행 중인 작업을 취소해도 작업이 실행 취소되지 않습니다. 취소된 내보내기 작업은 Cloud Storage에 이미 내보낸 문서를 그대로 두고 취소된 가져오기 작업은 이미 데이터베이스에 적용된 업데이트를 그대로 둡니다. 부분적으로 완료된 내보내기는 가져올 수 없습니다.

작업 삭제

gcloud firestore operations delete 명령어를 사용하여 최근 작업 목록에서 작업을 삭제합니다. 이 명령어는 Cloud Storage에서 내보내기 파일을 삭제하지 않습니다.

gcloud firestore operations delete [OPERATION_NAME]

내보내기 및 가져오기 작업에 대한 청구 및 가격 책정

관리형 내보내기 및 가져오기 서비스를 사용하려면 먼저 Google Cloud 프로젝트에 대한 결제를 사용 설정해야 합니다. 내보내기 및 가져오기 작업은 Cloud Firestore 가격 책정 에 나열된 요금으로 문서 읽기 및 쓰기에 대해 요금이 부과됩니다.

내보내기 및 가져오기 작업 비용은 지출 한도 에 포함되지 않습니다. 내보내기 또는 가져오기 작업은 완료될 때까지 Google Cloud 예산 알림을 트리거하지 않습니다. 마찬가지로 내보내기 또는 가져오기 작업 중에 수행된 읽기 및 쓰기는 작업이 완료된 후 일일 할당량 에 적용됩니다. 내보내기 및 가져오기 작업은 콘솔의 사용 섹션에 표시된 사용에 영향을 주지 않습니다.

수출 및 수입 비용 보기

내보내기 및 가져오기 작업은 goog-firestoremanaged:exportimport 레이블을 청구 작업에 적용합니다. Cloud Billing 보고서 페이지 에서 이 라벨을 사용하여 가져오기 및 내보내기 작업과 관련된 비용을 볼 수 있습니다.

필터 메뉴에서 goog-firestoremanaged 레이블에 액세스합니다.

BigQuery로 내보내기

Cloud Firestore 내보내기에서 BigQuery로 데이터를 로드할 수 있지만 collection-ids 필터를 지정한 경우에만 가능합니다. Cloud Firestore 내보내기에서 데이터 로드를 참조하세요.

BigQuery 열 한도

BigQuery는 테이블당 열 수를 10,000개로 제한합니다. Cloud Firestore 내보내기 작업은 각 컬렉션 그룹에 대한 BigQuery 테이블 스키마를 생성합니다. 이 스키마에서 컬렉션 그룹 내의 고유한 각 필드 이름은 스키마 열이 됩니다.

컬렉션 그룹의 BigQuery 스키마가 열 10,000개를 초과하는 경우 Cloud Firestore 내보내기 작업은 맵 필드를 바이트로 처리하여 열 한도 미만을 유지하려고 시도합니다. 이 변환으로 열 수가 10,000개 미만이 되면 BigQuery에 데이터를 로드할 수 있지만 맵 필드 내의 하위 필드를 쿼리할 수는 없습니다. 열 수가 여전히 10,000개를 초과하면 내보내기 작업이 컬렉션 그룹에 대한 BigQuery 스키마를 생성하지 않으며 해당 데이터를 BigQuery에 로드할 수 없습니다.

형식 및 메타데이터 파일 내보내기

관리형 내보내기의 출력은 LevelDB 로그 형식 을 사용합니다.

메타데이터 파일

내보내기 작업은 지정한 각 컬렉션 그룹에 대한 메타데이터 파일을 만듭니다. 메타데이터 파일의 이름은 일반적으로 ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata 입니다.

메타데이터 파일은 프로토콜 버퍼이며 protoc 프로토콜 컴파일러 로 디코딩할 수 있습니다. 예를 들어 메타데이터 파일을 디코딩하여 내보내기 파일에 포함된 컬렉션 그룹을 확인할 수 있습니다.

protoc --decode_raw < export0.export_metadata

서비스 에이전트 마이그레이션

이제 App Engine 서비스 계정 대신 Cloud Firestore 서비스 에이전트를 사용하여 가져오기 및 내보내기 작업을 승인할 수 있습니다. 서비스 에이전트 및 서비스 계정은 다음 이름 지정 규칙을 사용합니다.

Cloud Firestore 서비스 에이전트
service- project_number @gcp-sa-firestore.iam.gserviceaccount.com
App Engine 서비스 계정
project_id @appspot.gserviceaccount.com

Cloud Firestore 서비스 에이전트는 Cloud Firestore 전용이므로 선호됩니다. App Engine 서비스 계정은 둘 이상의 서비스에서 공유됩니다.

승인 계정 보기

Google Cloud Platform 콘솔의 가져오기/내보내기 페이지에서 요청을 승인하기 위해 가져오기 및 내보내기 작업에서 사용하는 계정을 볼 수 있습니다. 데이터베이스에서 이미 Cloud Firestore 서비스 에이전트를 사용하고 있는지도 확인할 수 있습니다.

  1. Google Cloud Platform 콘솔에서 Cloud Firestore 가져오기/내보내기 페이지로 이동합니다.

    가져오기/내보내기로 이동

  2. 레이블 로 실행되는 가져오기/내보내기 작업 옆에 있는 권한 부여 계정을 봅니다.

프로젝트에서 Cloud Firestore 서비스 에이전트를 사용하지 않는 경우 다음 기술 중 하나를 사용하여 Cloud Firestore 서비스 에이전트로 마이그레이션할 수 있습니다.

이러한 기술 중 첫 번째는 효과 범위를 단일 Cloud Firestore 프로젝트로 현지화하기 때문에 선호됩니다. 두 번째 기술은 기존 Cloud Storage 버킷 권한을 마이그레이션하지 않기 때문에 선호되지 않습니다. 그러나 조직 수준에서 보안 준수를 제공합니다.

Cloud Storage 버킷 권한을 확인하고 업데이트하여 마이그레이션

마이그레이션 프로세스에는 두 단계가 있습니다.

  1. Cloud Storage 버킷 권한을 업데이트합니다. 자세한 내용은 다음 섹션을 참조하십시오.
  2. Cloud Firestore 서비스 에이전트로의 마이그레이션을 확인합니다.

서비스 에이전트 버킷 권한

다른 프로젝트의 Cloud Storage 버킷을 사용하는 내보내기 또는 가져오기 작업의 경우 해당 버킷에 대한 Cloud Firestore 서비스 에이전트 권한을 부여해야 합니다. 예를 들어 다른 프로젝트로 데이터를 이동하는 작업은 다른 프로젝트의 버킷에 액세스해야 합니다. 그렇지 않으면 Cloud Firestore 서비스 에이전트로 마이그레이션한 후 이러한 작업이 실패합니다.

동일한 프로젝트 내에 있는 가져오기 및 내보내기 워크플로는 권한을 변경할 필요가 없습니다. Cloud Firestore 서비스 에이전트는 기본적으로 동일한 프로젝트의 버킷에 액세스할 수 있습니다.

다른 프로젝트에서 Cloud Storage 버킷에 대한 권한을 업데이트하여 service- project_number @gcp-sa-firestore.iam.gserviceaccount.com 서비스 에이전트에 대한 액세스 권한을 부여합니다. 서비스 에이전트에 Firestore Service Agent 역할을 부여합니다.

Firestore Service Agent 역할은 Cloud Storage 버킷에 대한 읽기 및 쓰기 권한을 부여합니다. 읽기 권한만 부여하거나 쓰기 권한만 부여해야 하는 경우 사용자 정의 역할을 사용하십시오.

다음 섹션에 설명된 마이그레이션 프로세스는 권한 업데이트가 필요할 수 있는 Cloud Storage 버킷을 식별하는 데 도움이 됩니다.

프로젝트를 Firestore 서비스 에이전트로 마이그레이션

App Engine 서비스 계정에서 Cloud Firestore 서비스 에이전트로 마이그레이션하려면 다음 단계를 완료하세요. 완료되면 이전을 취소할 수 없습니다.

  1. Google Cloud Platform 콘솔에서 Cloud Firestore 가져오기/내보내기 페이지로 이동합니다.

    가져오기/내보내기로 이동

  2. 프로젝트가 아직 Cloud Firestore 서비스 에이전트로 마이그레이션되지 않은 경우 마이그레이션을 설명하는 배너와 버킷 상태 확인 버튼이 표시됩니다. 다음 단계는 잠재적 권한 오류를 식별하고 수정하는 데 도움이 됩니다.

    버킷 상태 확인 을 클릭합니다.

    마이그레이션을 완료하는 옵션과 Cloud Storage 버킷 목록이 있는 메뉴가 나타납니다. 목록 로드가 완료되는 데 몇 분 정도 걸릴 수 있습니다.

    이 목록에는 최근 가져오기 및 내보내기 작업에 사용되었지만 현재 Cloud Firestore 서비스 에이전트에 읽기 및 쓰기 권한을 부여하지 않은 버킷이 포함됩니다.

  3. 프로젝트의 Cloud Firestore 서비스 에이전트의 기본 이름을 기록해 둡니다. 레이블 에 대한 액세스 권한을 부여하기 위해 서비스 에이전트 이름이 서비스 에이전트 아래에 나타납니다.
  4. 향후 가져오기 또는 내보내기 작업에 사용할 목록의 모든 버킷에 대해 다음 단계를 완료하십시오.

    1. 이 버킷의 테이블 행에서 수정 을 클릭합니다. 그러면 새 탭에서 해당 버킷의 권한 페이지가 열립니다.

    2. 추가 를 클릭합니다.
    3. New principals 필드에 Cloud Firestore 서비스 에이전트의 이름을 입력합니다.
    4. 역할 선택 필드에서 Service Agents > Firestore Service Agent 를 선택합니다.
    5. 저장 을 클릭합니다.
    6. Cloud Firestore 가져오기/내보내기 페이지가 있는 탭으로 돌아갑니다.
    7. 목록의 다른 버킷에 대해 이 단계를 반복합니다. 목록의 모든 페이지를 확인하십시오.
  5. Firestore 서비스 에이전트로 마이그레이션을 클릭합니다. 권한 확인에 실패한 버킷이 여전히 있는 경우 Migrate 를 클릭하여 마이그레이션을 확인해야 합니다.

    마이그레이션이 완료되면 알림이 표시됩니다. 이전은 실행취소할 수 없습니다.

마이그레이션 상태 보기

  1. 프로젝트의 마이그레이션 상태를 확인하려면 Google Cloud Platform 콘솔에서 가져오기/내보내기 페이지로 이동하세요.

    가져오기/내보내기로 이동

  2. 레이블 로 실행되는 가져오기/내보내기 작업 옆에 있는 보안 주체를 찾습니다.

    보안 주체가 service- project_number @gcp-sa-firestore.iam.gserviceaccount.com 인 경우 프로젝트가 이미 Cloud Firestore 서비스 에이전트로 마이그레이션된 것입니다. 마이그레이션은 실행 취소할 수 없습니다.

    프로젝트가 마이그레이션되지 않은 경우 버킷 상태 확인 버튼이 있는 배너가 페이지 상단에 나타납니다. 마이그레이션을 완료하려면 Firestore 서비스 에이전트 로 마이그레이션을 참조하세요.

조직 전체 정책 제약 조건 추가

  • 조직의 정책에서 다음 제약 조건을 설정합니다.

    가져오기/내보내기에 Firestore 서비스 에이전트가 필요합니다 ( firestore.requireP4SAforImportExport ).

    이 제약 조건은 Cloud Firestore 서비스 에이전트를 사용하여 요청을 승인하기 위해 가져오기 및 내보내기 작업이 필요합니다. 이 제약 조건을 설정하려면 조직 정책 만들기 및 관리 를 참조하세요.

이 조직 정책 제약조건을 적용해도 Cloud Firestore 서비스 에이전트에 대한 적절한 Cloud Storage 버킷 권한이 자동으로 부여되지 않습니다.

제약 조건이 가져오기 또는 내보내기 워크플로에 대한 권한 오류를 생성하는 경우 이를 비활성화하여 기본 서비스 계정을 사용하도록 되돌릴 수 있습니다. Cloud Storage 버킷 권한을 확인하고 업데이트 한 후 제약조건을 다시 사용 설정할 수 있습니다.