Package google.firestore.admin.v1beta2

색인

Firestore관리자

작업은 FirestoreAdmin 서비스에 의해 생성되지만 google.longrunning.Operations 서비스를 통해 액세스됩니다.

인덱스 생성

rpc CreateIndex( CreateIndexRequest ) returns ( Operation )

복합 인덱스를 생성합니다. 생성 상태를 추적하는 데 사용할 수 있는 google.longrunning.Operation 이 반환됩니다. 작업에 대한 메타데이터는 IndexOperationMetadata 유형입니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

삭제인덱스

rpc DeleteIndex( DeleteIndexRequest ) returns ( Empty )

복합 인덱스를 삭제합니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

문서 내보내기

rpc ExportDocuments( ExportDocumentsRequest ) returns ( Operation )

Google Cloud Firestore에서 문서 전체 또는 일부의 사본을 Google Cloud Storage와 같은 다른 저장소 시스템으로 내보냅니다. 문서에 대한 최근 업데이트는 내보내기에 반영되지 않을 수 있습니다. 내보내기는 백그라운드에서 수행되며 생성된 작업 리소스를 통해 진행 상황을 모니터링하고 관리할 수 있습니다. 내보내기 출력은 관련 작업이 완료된 후에만 사용할 수 있습니다. 내보내기 작업이 완료되기 전에 취소되면 Google Cloud Storage에 일부 데이터가 남을 수 있습니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

GetField

rpc GetField( GetFieldRequest ) returns ( Field )

필드에 대한 메타데이터 및 구성을 가져옵니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

인덱스 가져오기

rpc GetIndex( GetIndexRequest ) returns ( Index )

복합 인덱스를 가져옵니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

가져오기문서

rpc ImportDocuments( ImportDocumentsRequest ) returns ( Operation )

Google Cloud Firestore로 문서를 가져옵니다. 동일한 이름을 가진 기존 문서를 덮어씁니다. 가져오기는 백그라운드에서 발생하며 생성된 작업 리소스를 통해 진행 상황을 모니터링하고 관리할 수 있습니다. ImportDocuments 작업이 취소되면 데이터의 하위 집합이 이미 Cloud Firestore로 가져왔을 수 있습니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

목록필드

rpc ListFields( ListFieldsRequest ) returns ( ListFieldsResponse )

이 데이터베이스에 대한 필드 구성 및 메타데이터를 나열합니다.

현재 FirestoreAdmin.ListFields 명시적으로 재정의된 목록 필드만 지원합니다. 이 쿼리를 실행하려면 indexConfig.usesAncestorConfig:false 로 설정된 필터를 사용하여 FirestoreAdmin.ListFields 호출하세요.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

목록 인덱스

rpc ListIndexes( ListIndexesRequest ) returns ( ListIndexesResponse )

복합 인덱스를 나열합니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

업데이트필드

rpc UpdateField( UpdateFieldRequest ) returns ( Operation )

필드 구성을 업데이트합니다. 현재 필드 업데이트는 단일 필드 인덱스 구성에만 적용됩니다. 그러나 FirestoreAdmin.UpdateField 호출하면 호출자가 인식하지 못하는 구성이 변경되지 않도록 필드 마스크를 제공해야 합니다. 필드 마스크는 { paths: "index_config" } 로 지정되어야 합니다.

이 호출은 필드 업데이트 상태를 추적하는 데 사용할 수 있는 google.longrunning.Operation 을 반환합니다. 작업에 대한 메타데이터는 FieldOperationMetadata 유형입니다.

데이터베이스의 기본 필드 설정을 구성하려면 리소스 이름이 있는 특수 Field projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* 사용합니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

CreateIndex요청

FirestoreAdmin.CreateIndex 에 대한 요청입니다.

필드
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 형식의 상위 이름

index

Index

생성할 복합 인덱스입니다.

삭제인덱스요청

FirestoreAdmin.DeleteIndex 에 대한 요청입니다.

필드
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} 형식의 이름

내보내기문서메타데이터

FirestoreAdmin.ExportDocumentsgoogle.longrunning.Operation 결과에 대한 메타데이터입니다.

필드
start_time

Timestamp

이 작업이 시작된 시간입니다.

end_time

Timestamp

이 작업이 완료된 시간입니다. 작업이 아직 진행 중인 경우 설정이 해제됩니다.

operation_state

OperationState

내보내기 작업의 상태입니다.

progress_documents

Progress

이 작업의 진행 상황을 문서로 표시합니다.

progress_bytes

Progress

이 작업의 진행률(바이트)입니다.

collection_ids[]

string

내보내는 컬렉션 ID입니다.

output_uri_prefix

string

엔터티를 내보내는 위치입니다.

문서 내보내기요청

FirestoreAdmin.ExportDocuments 에 대한 요청입니다.

필드
name

string

내보낼 데이터베이스입니다. projects/{project_id}/databases/{database_id} 형식이어야 합니다.

collection_ids[]

string

내보낼 컬렉션 ID입니다. 지정되지 않음은 모든 컬렉션을 의미합니다.

output_uri_prefix

string

출력 URI입니다. 현재는 gs://BUCKET_NAME[/NAMESPACE_PATH] 형식의 Google Cloud Storage URI만 지원합니다. 여기서 BUCKET_NAME 은 Google Cloud Storage 버킷의 이름이고 NAMESPACE_PATH 는 선택적인 Google Cloud Storage 네임스페이스 경로입니다. 이름을 선택할 때 Google Cloud Storage 이름 지정 지침( https://cloud.google.com/storage/docs/naming )을 고려하세요. URI가 버킷(네임스페이스 경로 없음)인 경우 시작 시간을 기준으로 접두사가 생성됩니다.

내보내기문서응답

google.longrunning.Operation 응답 필드에 반환됩니다.

필드
output_uri_prefix

string

출력 파일의 위치입니다. 작업이 성공적으로 완료된 후 Cloud Firestore(이 프로젝트 또는 다른 프로젝트)로 가져오기를 시작하는 데 사용할 수 있습니다.

필드

데이터베이스의 단일 필드를 나타냅니다.

필드는 동일한 ID를 가진 데이터베이스의 모든 컬렉션을 나타내는 "컬렉션 그룹"별로 그룹화됩니다.

필드
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path} 형식의 필드 이름

필드 경로는 간단한 필드 이름(예: address 또는 map_value 내의 필드 경로(예: address.city ) 또는 특수 필드 경로일 수 있습니다. 유일한 유효한 특수 필드는 모든 필드를 나타내는 * 입니다.

필드 경로는 (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: * , . , ``` (backtick), [ , ]` 및 모든 ASCII 기호 문자.

예: (참고: 여기의 주석은 마크다운 구문으로 작성되었으므로 코드 블록을 나타내는 추가 백틱 레이어가 있습니다.) \ address.city`는 in the field , not the map key address.city represents a field named . `*`는 임의의 필드가 아닌 *` represents a field named .

특수 Field 모든 필드에 대한 기본 색인 설정이 포함되어 있습니다. 이 필드의 리소스 이름은 다음과 같습니다: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*Field 에 정의된 인덱스는 자체 Field 인덱스 구성이 없는 모든 필드에 적용됩니다.

index_config

IndexConfig

이 필드의 색인 구성입니다. 설정하지 않으면 필드 인덱싱이 ancestor_field 에 정의된 구성으로 되돌아갑니다. 이 필드의 모든 인덱스를 명시적으로 제거하려면 빈 인덱스 목록이 있는 인덱스 구성을 지정하세요.

IndexConfig

이 필드의 색인 구성입니다.

필드
indexes[]

Index

이 필드에 지원되는 인덱스입니다.

uses_ancestor_config

bool

출력만 가능합니다. true인 경우 Field 의 인덱스 구성은 ancestor_field 에 지정된 구성에서 설정됩니다. false인 경우 Field 의 인덱스 구성이 명시적으로 정의됩니다.

ancestor_field

string

출력만 가능합니다. 이 필드의 인덱스 구성이 설정되는( uses_ancestor_config 가 true인 경우) 또는 이 필드에 인덱스 구성이 없는 경우( uses_ancestor_config 가 false인 경우) 설정 되는 Field 의 리소스 이름을 지정합니다.

reverting

bool

출력 전용 true인 경우 Field 의 인덱스 구성이 되돌려지는 중입니다. 완료되면 인덱스 구성은 ancestor_field 에 지정된 필드와 동일한 상태로 전환되며, 이 시점에서 uses_ancestor_config true 가 되고 revertingfalse 가 됩니다.

FieldOperation메타데이터

FirestoreAdmin.UpdateFieldgoogle.longrunning.Operation 결과에 대한 메타데이터입니다.

필드
start_time

Timestamp

이 작업이 시작된 시간입니다.

end_time

Timestamp

이 작업이 완료된 시간입니다. 작업이 아직 진행 중인 경우 설정이 해제됩니다.

field

string

이 작업이 수행되는 필드 리소스입니다. 예: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

index_config_deltas[]

IndexConfigDelta

이 작업의 의도를 설명하는 IndexConfigDelta 목록입니다.

state

OperationState

작업 상태입니다.

document_progress

Progress

이 작업의 진행 상황을 문서로 표시합니다.

bytes_progress

Progress

이 작업의 진행률(바이트)입니다.

IndexConfigDelta

인덱스 구성 변경에 대한 정보입니다.

필드
change_type

ChangeType

인덱스가 어떻게 변경되는지 지정합니다.

index

Index

인덱스가 변경되고 있습니다.

변경 유형

인덱스가 어떻게 변경되는지 지정합니다.

열거형
CHANGE_TYPE_UNSPECIFIED 변경 유형이 지정되지 않았거나 알려져 있지 않습니다.
ADD 단일 필드 인덱스가 추가되고 있습니다.
REMOVE 단일 필드 인덱스가 제거되고 있습니다.

GetField요청

FirestoreAdmin.GetField 에 대한 요청입니다.

필드
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id} 형식의 이름

GetIndex요청

FirestoreAdmin.GetIndex 에 대한 요청입니다.

필드
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} 형식의 이름

가져오기문서메타데이터

FirestoreAdmin.ImportDocumentsgoogle.longrunning.Operation 결과에 대한 메타데이터입니다.

필드
start_time

Timestamp

이 작업이 시작된 시간입니다.

end_time

Timestamp

이 작업이 완료된 시간입니다. 작업이 아직 진행 중인 경우 설정이 해제됩니다.

operation_state

OperationState

가져오기 작업의 상태입니다.

progress_documents

Progress

이 작업의 진행 상황을 문서로 표시합니다.

progress_bytes

Progress

이 작업의 진행률(바이트)입니다.

collection_ids[]

string

가져오는 컬렉션 ID입니다.

input_uri_prefix

string

가져오는 문서의 위치입니다.

문서 가져오기요청

FirestoreAdmin.ImportDocuments 에 대한 요청입니다.

필드
name

string

가져올 데이터베이스입니다. projects/{project_id}/databases/{database_id} 형식이어야 합니다.

collection_ids[]

string

가져올 컬렉션 ID입니다. 지정되지 않음은 가져오기에 포함된 모든 컬렉션을 의미합니다.

input_uri_prefix

string

내보낸 파일의 위치입니다. 이는 성공적으로 완료된 내보내기의 ImportDocumentsResponse의 output_uri_prefix와 일치해야 합니다. google.firestore.admin.v1beta2.ExportDocumentsResponse.output_uri_prefix 를 참조하세요.

색인

Cloud Firestore 색인을 사용하면 데이터베이스의 문서에 대해 간단하고 복잡한 쿼리를 수행할 수 있습니다.

필드
name

string

출력만 가능합니다. 이 인덱스에 대한 서버 정의 이름입니다. 복합 인덱스에 대한 이 이름의 형식은 다음과 같습니다: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} 단일 필드 인덱스의 경우 이 필드는 비어 있습니다.

query_scope

QueryScope

컬렉션 쿼리 범위가 지정된 인덱스는 쿼리 시 지정되고 동일한 컬렉션 ID를 가진 특정 문서의 하위 컬렉션에 대한 쿼리를 허용합니다.

컬렉션 그룹 쿼리 범위가 지정된 인덱스는 쿼리 시간에 지정되고 이 인덱스와 동일한 컬렉션 ID를 가진 특정 문서의 하위 컬렉션에 대한 쿼리를 허용합니다.

fields[]

IndexField

이 인덱스가 지원하는 필드입니다.

복합 인덱스의 경우 이는 항상 2개 이상의 필드입니다. 마지막 필드 항목은 항상 필드 경로 __name__ 에 대한 것입니다. 생성 시 __name__ 마지막 필드로 지정되지 않은 경우 정의된 마지막 필드와 동일한 방향으로 자동으로 추가됩니다. 복합 인덱스의 마지막 필드가 방향성이 아닌 경우 __name__ (명시적으로 지정하지 않는 한) ASCENDING으로 정렬됩니다.

단일 필드 인덱스의 경우 이는 항상 연관된 필드의 필드 경로와 동일한 필드 경로를 가진 정확히 하나의 항목입니다.

state

State

출력만 가능합니다. 색인의 제공 상태입니다.

인덱스필드

인덱스의 필드입니다. field_path는 어떤 필드가 인덱싱되는지 설명하고 value_mode는 필드 값이 인덱싱되는 방식을 설명합니다.

필드
field_path

string

이름이 될 수 있습니다. 단일 필드 인덱스의 경우 이는 필드 이름과 일치해야 하며 그렇지 않으면 생략될 수 있습니다.

유니온 필드 value_mode . 필드 값이 인덱싱되는 방식입니다. value_mode 다음 중 하나만 가능합니다.
order

Order

이 필드가 지정된 순서에 따른 정렬이나 =, <, <=, >, >=를 사용한 비교를 지원함을 나타냅니다.

array_config

ArrayConfig

이 필드가 array_value 에 대한 작업을 지원함을 나타냅니다.

배열 구성

지원되는 배열 값 구성입니다.

열거형
ARRAY_CONFIG_UNSPECIFIED 인덱스는 추가 배열 쿼리를 지원하지 않습니다.
CONTAINS 인덱스는 배열 포함 쿼리를 지원합니다.

주문하다

지원되는 주문입니다.

열거형
ORDER_UNSPECIFIED 순서가 지정되지 않았습니다. 유효한 옵션이 아닙니다.
ASCENDING 필드는 필드 값의 오름차순으로 정렬됩니다.
DESCENDING 필드는 필드 값의 내림차순으로 정렬됩니다.

쿼리 범위

쿼리 범위는 쿼리가 실행되는 범위를 정의합니다. 이는 StructuredQuery의 from 필드에 지정됩니다.

열거형
QUERY_SCOPE_UNSPECIFIED 쿼리 범위가 지정되지 않았습니다. 유효한 옵션이 아닙니다.
COLLECTION 컬렉션 쿼리 범위가 지정된 인덱스를 사용하면 쿼리 시 지정되고 인덱스에 의해 지정된 컬렉션 ID가 있는 특정 문서의 하위 컬렉션에 대한 쿼리가 허용됩니다.
COLLECTION_GROUP 컬렉션 그룹 쿼리 범위가 지정된 인덱스는 인덱스에 의해 지정된 컬렉션 ID가 있는 모든 컬렉션에 대한 쿼리를 허용합니다.

상태

인덱스의 상태입니다. 인덱스 생성 중에 인덱스는 CREATING 상태가 됩니다. 인덱스가 성공적으로 생성되면 READY 상태로 전환됩니다. 인덱스 생성 시 문제가 발생하면 인덱스가 NEEDS_REPAIR 상태로 전환됩니다.

열거형
STATE_UNSPECIFIED 상태가 지정되지 않았습니다.
CREATING 인덱스를 생성하는 중입니다. 인덱스에 대해 활성 장기 실행 작업이 있습니다. 문서를 작성할 때 색인이 업데이트됩니다. 일부 인덱스 데이터가 존재할 수 있습니다.
READY 인덱스를 사용할 준비가 되었습니다. 문서를 작성할 때 색인이 업데이트됩니다. 인덱스는 적용되는 모든 저장된 문서에서 완전히 채워집니다.
NEEDS_REPAIR 인덱스를 생성하는 중이지만 문제가 발생했습니다. 인덱스에 대한 활성 장기 실행 작업이 없으며 가장 최근에 완료된 장기 실행 작업이 실패했습니다. 문서를 작성할 때 색인은 업데이트되지 않습니다. 일부 인덱스 데이터가 존재할 수 있습니다. google.longrunning.Operations API를 사용하여 마지막으로 이 색인을 생성하려고 시도한 작업이 실패한 이유를 확인한 후 색인을 다시 생성하세요.

IndexOperationMetadata

FirestoreAdmin.CreateIndexgoogle.longrunning.Operation 결과에 대한 메타데이터입니다.

필드
start_time

Timestamp

이 작업이 시작된 시간입니다.

end_time

Timestamp

이 작업이 완료된 시간입니다. 작업이 아직 진행 중인 경우 설정이 해제됩니다.

index

string

이 작업이 수행되는 인덱스 리소스입니다. 예: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}

state

OperationState

작업 상태입니다.

progress_documents

Progress

이 작업의 진행 상황을 문서로 표시합니다.

progress_bytes

Progress

이 작업의 진행률(바이트)입니다.

목록필드요청

FirestoreAdmin.ListFields 에 대한 요청입니다.

필드
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 형식의 상위 이름

filter

string

목록 결과에 적용할 필터입니다. 현재 FirestoreAdmin.ListFields 명시적으로 재정의된 목록 필드만 지원합니다. 이 쿼리를 실행하려면 indexConfig.usesAncestorConfig:false 로 설정된 필터를 사용하여 FirestoreAdmin.ListFields 호출하세요.

page_size

int32

반환할 결과 수입니다.

page_token

string

FirestoreAdmin.ListFields 에 대한 이전 호출에서 반환된 페이지 토큰으로, 다음 결과 페이지를 가져오는 데 사용될 수 있습니다.

목록필드응답

FirestoreAdmin.ListFields 에 대한 응답입니다.

필드
fields[]

Field

요청된 필드입니다.

next_page_token

string

다른 결과 페이지를 요청하는 데 사용할 수 있는 페이지 토큰입니다. 비어 있으면 이것이 마지막 페이지입니다.

목록인덱스요청

FirestoreAdmin.ListIndexes 에 대한 요청입니다.

필드
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 형식의 상위 이름

filter

string

목록 결과에 적용할 필터입니다.

page_size

int32

반환할 결과 수입니다.

page_token

string

FirestoreAdmin.ListIndexes 에 대한 이전 호출에서 반환된 페이지 토큰으로, 다음 결과 페이지를 가져오는 데 사용될 수 있습니다.

목록인덱스응답

FirestoreAdmin.ListIndexes 에 대한 응답입니다.

필드
indexes[]

Index

요청된 인덱스입니다.

next_page_token

string

다른 결과 페이지를 요청하는 데 사용할 수 있는 페이지 토큰입니다. 비어 있으면 이것이 마지막 페이지입니다.

작업 상태

작업 상태를 설명합니다.

열거형
OPERATION_STATE_UNSPECIFIED 지정되지 않음.
INITIALIZING 요청 처리를 준비 중입니다.
PROCESSING 요청이 활발히 처리되고 있습니다.
CANCELLING 사용자가 해당 작업에 대해 google.longrunning.Operations.CancelOperation을 호출한 후 요청이 취소되는 중입니다.
FINALIZING 요청이 처리되었으며 완료 단계에 있습니다.
SUCCESSFUL 요청이 성공적으로 완료되었습니다.
FAILED 요청 처리가 완료되었지만 오류가 발생했습니다.
CANCELLED 사용자가 google.longrunning.Operations.CancelOperation을 호출한 후 요청 취소가 완료되었습니다.

진전

작업 진행 상황을 설명합니다. 작업 단위는 일반적이며 Progress 사용되는 위치에 따라 해석되어야 합니다.

필드
estimated_work

int64

예상 작업량.

completed_work

int64

완료된 작업량.

업데이트필드요청

FirestoreAdmin.UpdateField 에 대한 요청입니다.

필드
field

Field

업데이트할 필드입니다.

update_mask

FieldMask

필드를 기준으로 한 마스크입니다. 지정된 경우 이 field_mask로 지정된 구성만 필드에서 업데이트됩니다.