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

Recurso: Document

O documento captura todas as informações de metadados brutos dos itens a serem recomendados ou pesquisados.

Representação 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.
}
Campos
name

string

Imutável. O nome completo do recurso do documento. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}.

Este campo precisa ser uma string codificada em UTF-8 com um limite de 1.024 caracteres.

id

string

Imutável. O identificador do documento.

O ID precisa estar em conformidade com o padrão RFC-1034 e ter um limite de 128 caracteres.

schemaId

string

O identificador do esquema localizado no mesmo repositório de dados.

content

object (Content)

Os dados não estruturados vinculados a este documento. O conteúdo só pode ser definido e precisa ser definido se este documento estiver em um repositório de dados CONTENT_REQUIRED.

parentDocumentId

string

O identificador do documento principal. Atualmente, é compatível com no máximo dois níveis de hierarquia de documentos.

O ID precisa estar em conformidade com o padrão RFC-1034 e ter um limite de 63 caracteres.

derivedStructData

object (Struct format)

Apenas saída. Este campo é OUTPUT_ONLY. Ele contém dados derivados que não estão no documento de entrada original.

aclInfo

object (AclInfo)

Informações de controle de acesso do documento.

indexTime

string (Timestamp format)

Apenas saída. A última vez que o documento foi indexado. Se esse campo estiver definido, o documento poderá ser retornado nos resultados da pesquisa.

Este campo é OUTPUT_ONLY. Se esse campo não for preenchido, significa que o documento nunca foi indexado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

indexStatus

object (IndexStatus)

Apenas saída. O status de indexação do documento.

  • Se o documento for indexado, o campo "indexTime" será preenchido.
  • Caso contrário, se o documento não for indexado devido a erros, o campo "errorSamples" será preenchido.
  • Caso contrário, se o índice do documento estiver em andamento, o campo "pendingMessage" será preenchido.
Campo de união data. Representação de dados. É necessário fornecer struct_data ou json_data. Caso contrário, um erro INVALID_ARGUMENT será gerado. data pode ser apenas um dos seguintes:
structData

object (Struct format)

Os dados JSON estruturados do documento. Ele precisa estar de acordo com o Schema registrado ou um erro INVALID_ARGUMENT será gerado.

jsonData

string

A representação de string JSON do documento. Ele precisa estar de acordo com o Schema registrado ou um erro INVALID_ARGUMENT será gerado.

Conteúdo

Dados não estruturados vinculados a este documento.

Representação 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.
}
Campos
mimeType

string

O tipo MIME do conteúdo. Tipos compatíveis:

  • application/pdf (PDF, por enquanto, apenas PDFs nativos são aceitos)
  • text/html (HTML)
  • text/plain (TXT)
  • application/xml ou 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)

Os seguintes tipos são compatíveis apenas se o analisador de layout estiver ativado no repositório de dados:

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

Consulte https://www.iana.org/assignments/media-types/media-types.xhtml.

Campo de união content. O conteúdo do documento não estruturado. content pode ser apenas de um dos tipos a seguir:
rawBytes

string (bytes format)

O conteúdo representado como um stream de bytes. O comprimento máximo é de 1.000.000 bytes (1 MB / ~0,95 MiB).

Observação: assim como acontece com todos os campos bytes, esse campo é representado como binário puro em buffers de protocolo e como uma string codificada em base64 em JSON. Por exemplo, abc123!?$*&()'-=@~ deve ser representado como YWJjMTIzIT8kKiYoKSctPUB+ em JSON. Consulte https://developers.google.com/protocol-buffers/docs/proto3#json.

Uma string codificada em base64.

uri

string

O URI do conteúdo. Somente URIs do Cloud Storage (por exemplo, gs://bucket-name/path/to/file) são aceitos. O tamanho máximo do arquivo é de 2, 5 MB para formatos baseados em texto e de 200 MB para outros formatos.

AclInfo

Informações da ACL do documento.

Representação JSON
{
  "readers": [
    {
      object (AccessRestriction)
    }
  ]
}
Campos
readers[]

object (AccessRestriction)

Leitores do documento.

AccessRestriction

AclRestriction para modelar restrições de herança complexas.

Exemplo: modelagem de uma herança "Ambas as permissões", em que, para acessar um documento filho, o usuário precisa ter acesso ao documento pai.

Hierarquia de documentos: Space_S --> Page_P.

Leitores: Space_S: group_1, user_1 Page_P: group_2, group_3, user_2

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

Restrição de ACL Page_P. { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_2" }, { "groupId": "group_3" }, { "userId": "user_2" } ], }, { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ], } ] } }

Representação JSON
{
  "principals": [
    {
      object (Principal)
    }
  ],
  "idpWide": boolean
}
Campos
principals[]

object (Principal)

Lista de principais.

idpWide

boolean

Todos os usuários no provedor de identidade.

Principal

Identificador principal de um usuário ou grupo.

Representação 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.
}
Campos
Campo de união principal. Campo principal da união. O principal pode ser um usuário ou um grupo. principal pode ser apenas de um dos tipos a seguir:
userId

string

Identificador do usuário. Para uma conta de usuário do Google Workspace, o userId precisa ser o e-mail do usuário do Google Workspace. Para contas de usuário de provedores de identidade que não são do Google, o userId é o identificador de usuário mapeado configurado durante a configuração do workforcepool.

groupId

string

Identificador do grupo. Para uma conta de usuário do Google Workspace, o groupId precisa ser o e-mail do grupo do Google Workspace. Para contas de usuário de provedores de identidade que não são do Google, "groupId" é o identificador de grupo mapeado configurado durante a configuração do pool de força de trabalho.

externalEntityId

string

Para identidades de aplicativos de terceiros que não estão presentes no provedor de identidade do cliente.

IndexStatus

Status de indexação do documento.

Representação JSON
{
  "indexTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ],
  "pendingMessage": string
}
Campos
indexTime

string (Timestamp format)

O horário em que o documento foi indexado. Se esse campo for preenchido, significa que o documento foi indexado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Uma amostra de erros encontrados ao indexar o documento. Se esse campo for preenchido, o documento não será indexado devido a erros.

pendingMessage

string

Imutável. A mensagem indica que o índice de documentos está em andamento. Se esse campo for preenchido, o índice do documento estará pendente.

Métodos

create

Cria uma Document.

delete

Exclui um Document.

get

Recebe um Document.

import

Importação em massa de vários Documents.

list

Recebe uma lista de Documents.

patch

Atualiza um Document.

purge

Exclui permanentemente todos os Documents selecionados em uma ramificação.