Package google.firestore.admin.v1beta2

색인

FirestoreAdmin

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

CreateIndex

rpc CreateIndex(CreateIndexRequest) returns (Operation)

복합 색인을 만듭니다. 이렇게 하면 생성 상태를 추적하는 데 사용할 수 있는 google.longrunning.Operation가 반환됩니다. 작업의 메타데이터는 IndexOperationMetadata 유형입니다.

승인 범위

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

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

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

DeleteIndex

rpc DeleteIndex(DeleteIndexRequest) returns (Empty)

복합 색인을 삭제합니다.

승인 범위

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

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

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

ExportDocuments

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

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

GetIndex

rpc GetIndex(GetIndexRequest) returns (Index)

복합 색인을 가져옵니다.

승인 범위

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

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

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

ImportDocuments

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

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

ListFields

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

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

ListIndexes

rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse)

복합 색인을 나열합니다.

승인 범위

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

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

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

UpdateField

rpc UpdateField(UpdateFieldRequest) returns (Operation)

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

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

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

승인 범위

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

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

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

CreateIndexRequest

FirestoreAdmin.CreateIndex의 요청입니다.

입력란
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 양식의 상위 요소 이름

index

Index

만들 복합 색인입니다.

DeleteIndexRequest

FirestoreAdmin.DeleteIndex의 요청입니다.

입력란
name

string

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

ExportDocumentsMetadata

FirestoreAdmin.ExportDocuments에서 검색한 google.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

항목을 내보낼 위치입니다.

ExportDocumentsRequest

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가 네임스페이스 경로가 없는 버킷이면 시작 시간을 기준으로 프리픽스가 생성됩니다.

ExportDocumentsResponse

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`represents a field namedaddress.city, not the map key cityin the fieldaddress. `*`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_configtrue, revertingfalse가 됩니다.

FieldOperationMetadata

FirestoreAdmin.UpdateField에서 검색한 google.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

변경 중인 색인입니다.

ChangeType

색인 변경 방법을 지정합니다.

열거형
CHANGE_TYPE_UNSPECIFIED 변경 유형이 지정되지 않았거나 알려지지 않았습니다.
ADD 단일 필드 색인을 추가하는 중입니다.
REMOVE 단일 필드 색인을 삭제하는 중입니다.

GetFieldRequest

FirestoreAdmin.GetField의 요청입니다.

입력란
name

string

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

GetIndexRequest

FirestoreAdmin.GetIndex의 요청입니다.

입력란
name

string

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

ImportDocumentsMetadata

FirestoreAdmin.ImportDocuments에서 검색한 google.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

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

ImportDocumentsRequest

FirestoreAdmin.ImportDocuments의 요청입니다.

입력란
name

string

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

collection_ids[]

string

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

input_uri_prefix

string

내보낸 파일의 위치입니다. 성공적으로 완료된 내보내기의 ExportDocumentsResponse의 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

출력 전용. 색인의 제공 상태입니다.

IndexField

색인의 필드입니다. field_path는 색인이 생성되는 필드를 설명하고 value_mode는 필드 값의 색인이 생성되는 방식을 설명합니다.

입력란
field_path

string

name일 수 있습니다. 단일 필드 색인의 경우 필드 이름과 일치해야 하며, 그렇지 않으면 생략할 수 있습니다.

통합 필드 value_mode. 필드 값의 색인이 생성되는 방식입니다. value_mode은 다음 중 하나여야 합니다.
order

Order

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

array_config

ArrayConfig

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

ArrayConfig

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

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

주문

지원되는 순서입니다.

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

QueryScope

쿼리 범위는 쿼리가 실행되는 범위를 정의합니다. 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.CreateIndex에서 검색한 google.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

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

ListFieldsRequest

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에 대한 이전 호출에서 반환된 페이지 토큰으로, 결과의 다음 페이지를 가져오는 데 사용될 수 있습니다.

ListFieldsResponse

FirestoreAdmin.ListFields의 응답입니다.

입력란
fields[]

Field

요청된 필드입니다.

next_page_token

string

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

ListIndexesRequest

FirestoreAdmin.ListIndexes의 요청입니다.

입력란
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 양식의 상위 요소 이름

filter

string

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

page_size

int32

반환할 결과 수입니다.

page_token

string

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

ListIndexesResponse

FirestoreAdmin.ListIndexes의 응답입니다.

입력란
indexes[]

Index

요청된 색인입니다.

next_page_token

string

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

OperationState

작업의 상태를 설명합니다.

열거형
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

완료된 작업의 양입니다.

UpdateFieldRequest

FirestoreAdmin.UpdateField의 요청입니다.

입력란
field

Field

업데이트할 필드입니다.

update_mask

FieldMask

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