REST Resource: projects.locations.collections.dataStores.branches.documents

리소스: Document

Document는 추천하거나 검색할 항목의 모든 원시 메타데이터 정보를 캡처합니다.

JSON 표현
{
  "name": string,
  "id": string,
  "schemaId": string,
  "content": {
    object (Content)
  },
  "parentDocumentId": string,
  "derivedStructData": {
    object
  },
  "aclInfo": {
    object (AclInfo)
  },
  "indexTime": string,
  "indexStatus": {
    object (IndexStatus)
  },

  // Union field data can be only one of the following:
  "structData": {
    object
  },
  "jsonData": string
  // End of list of possible types for union field data.
}
필드
name

string

변경할 수 없습니다. 문서의 전체 리소스 이름입니다. 형식은 projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}입니다.

이 필드는 UTF-8로 인코딩된 문자열이어야 하며 길이 제한은 1,024자(영문 기준)입니다.

id

string

변경할 수 없습니다. 문서의 식별자입니다.

ID는 RFC-1034 표준을 준수해야 하며 길이 제한은 128자(영문 기준)입니다.

schemaId

string

같은 데이터 스토어에 있는 스키마의 식별자입니다.

content

object (Content)

이 문서에 연결된 비정형 데이터입니다. 콘텐츠는 CONTENT_REQUIRED 데이터 스토어에 있는 경우에만 설정할 수 있으며 설정해야 합니다.

parentDocumentId

string

상위 문서의 식별자입니다. 현재 최대 2단계 문서 계층 구조를 지원합니다.

ID는 RFC-1034 표준을 준수해야 하며 길이 제한은 63자(영문 기준)입니다.

derivedStructData

object (Struct format)

출력 전용입니다. 이 필드는 OUTPUT_ONLY입니다. 원래 입력 문서에 없는 파생 데이터가 포함되어 있습니다.

aclInfo

object (AclInfo)

문서의 액세스 제어 정보입니다.

indexTime

string (Timestamp format)

출력 전용입니다. 문서의 색인이 마지막으로 생성된 시간입니다. 이 필드가 설정되면 문서가 검색 결과에 반환될 수 있습니다.

이 필드는 OUTPUT_ONLY입니다. 이 필드가 채워지지 않으면 문서가 색인 생성된 적이 없다는 의미입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

indexStatus

object (IndexStatus)

출력 전용입니다. 문서의 색인 상태입니다.

  • 문서의 색인이 성공적으로 생성되면 indexTime 필드가 채워집니다.
  • 그렇지 않고 오류로 인해 문서의 색인이 생성되지 않으면 errorSamples 필드가 채워집니다.
  • 그렇지 않고 문서의 색인이 진행 중이면 pendingMessage 필드가 채워집니다.
통합 필드 data. 데이터 표현 struct_data 또는 json_data 중 하나를 제공해야 합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 발생합니다. data은 다음 중 하나여야 합니다.
structData

object (Struct format)

문서의 구조화된 JSON 데이터입니다. 등록된 Schema를 준수해야 합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 발생합니다.

jsonData

string

문서의 JSON 문자열 표현입니다. 등록된 Schema를 준수해야 합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 발생합니다.

콘텐츠

이 문서에 연결된 비정형 데이터입니다.

JSON 표현
{
  "mimeType": string,

  // Union field content can be only one of the following:
  "rawBytes": string,
  "uri": string
  // End of list of possible types for union field content.
}
필드
mimeType

string

콘텐츠의 MIME 유형입니다. 지원되는 유형:

  • application/pdf (PDF, 현재 기본 PDF만 지원됨)
  • text/html (HTML)
  • text/plain (TXT)
  • application/xml 또는 text/xml (XML)
  • application/json(JSON)
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX)
  • application/vnd.openxmlformats-officedocument.presentationml.presentation (PPTX)
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX)
  • application/vnd.ms-excel.sheet.macroenabled.12 (XLSM)

다음 유형은 데이터 스토어에서 레이아웃 파서가 사용 설정된 경우에만 지원됩니다.

  • image/bmp (BMP)
  • image/gif (GIF)
  • image/jpeg (JPEG)
  • image/png (PNG)
  • image/tiff (TIFF)

https://www.iana.org/assignments/media-types/media-types.xhtml을 참고하세요.

통합 필드 content. 구조화되지 않은 문서의 콘텐츠입니다. content은 다음 중 하나여야 합니다.
rawBytes

string (bytes format)

바이트 스트림으로 표현된 콘텐츠입니다. 최대 길이는 1,000,000바이트 (1MB / ~0.95MiB)입니다.

참고: 모든 bytes 필드와 마찬가지로 이 필드는 프로토콜 버퍼에서는 순수 바이너리로, JSON에서는 base64로 인코딩된 문자열로 표현됩니다. 예를 들어 abc123!?$*&()'-=@~은 JSON에서 YWJjMTIzIT8kKiYoKSctPUB+로 표현되어야 합니다. https://developers.google.com/protocol-buffers/docs/proto3#json을 참고하세요.

base64 인코딩 문자열입니다.

uri

string

콘텐츠의 URI입니다. Cloud Storage URI (예: gs://bucket-name/path/to/file)만 지원됩니다. 최대 파일 크기는 텍스트 기반 형식의 경우 2.5MB, 다른 형식의 경우 200MB입니다.

AclInfo

문서의 ACL 정보입니다.

JSON 표현
{
  "readers": [
    {
      object (AccessRestriction)
    }
  ]
}
필드
readers[]

object (AccessRestriction)

문서의 독자입니다.

AccessRestriction

복잡한 상속 제한을 모델링하는 AclRestriction

예: 사용자가 하위 문서에 액세스하려면 상위 문서에 대한 액세스 권한이 있어야 하는 '모두 허용' 상속을 모델링합니다.

문서 계층 구조 - Space_S --> Page_P

리더: Space_S: group_1, user_1 Page_P: group_2, group_3, user_2

Space_S ACL 제한 - { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ] } ] } }

Page_P ACL 제한 { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_2" }, { "groupId": "group_3" }, { "userId": "user_2" } ], }, { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ], } ] } }

JSON 표현
{
  "principals": [
    {
      object (Principal)
    }
  ],
  "idpWide": boolean
}
필드
principals[]

object (Principal)

주 구성원 목록입니다.

idpWide

boolean

ID 공급업체 내의 모든 사용자입니다.

주 구성원

사용자 또는 그룹의 주 구성원 식별자입니다.

JSON 표현
{

  // Union field principal can be only one of the following:
  "userId": string,
  "groupId": string,
  "externalEntityId": string
  // End of list of possible types for union field principal.
}
필드
통합 필드 principal. 통합 필드 주 구성원입니다. 주 구성원은 사용자 또는 그룹일 수 있습니다. principal은 다음 중 하나여야 합니다.
userId

string

사용자 식별자입니다. Google Workspace 사용자 계정의 경우 userId는 Google Workspace 사용자 이메일이어야 합니다. Google 이외의 ID 공급업체 사용자 계정의 경우 userId는 workforcepool 구성 중에 구성된 매핑된 사용자 식별자입니다.

groupId

string

그룹 식별자입니다. Google Workspace 사용자 계정의 경우 groupId는 Google Workspace 그룹 이메일이어야 합니다. Google 이외의 ID 공급업체 사용자 계정의 경우 groupId는 workforcepool 구성 중에 구성된 매핑된 그룹 식별자입니다.

externalEntityId

string

고객 ID 공급자에 없는 서드 파티 애플리케이션 ID의 경우

IndexStatus

문서의 색인 상태입니다.

JSON 표현
{
  "indexTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ],
  "pendingMessage": string
}
필드
indexTime

string (Timestamp format)

문서의 색인이 생성된 시간입니다. 이 필드에 값이 입력되어 있으면 문서의 색인이 생성된 것입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

errorSamples[]

object (Status)

문서를 색인 생성하는 중에 발생한 오류 샘플입니다. 이 필드가 채워져 있으면 오류로 인해 문서의 색인이 생성되지 않습니다.

pendingMessage

string

변경할 수 없습니다. 메시지는 문서 색인이 진행 중임을 나타냅니다. 이 필드가 채워지면 문서 색인이 대기 중입니다.

메서드

create

Document를 만듭니다.

delete

Document를 삭제합니다.

get

Document을 가져옵니다.

getProcessedDocument

Document의 파싱된 레이아웃 정보를 가져옵니다.

import

여러 Document를 일괄 가져옵니다.

list

Document 목록을 가져옵니다.

patch

Document을 업데이트합니다.

purge

브랜치에서 선택한 모든 Document를 완전히 삭제합니다.