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

Recurso: documento

O documento capta todas as informações de metadados não processados dos itens a recomendar ou pesquisar.

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 de recurso completo do documento. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}.

Este campo tem de ser uma string codificada em UTF-8 com um limite de comprimento de 1024 carateres.

id

string

Imutável. O identificador do documento.

O ID deve estar em conformidade com a norma RFC-1034 com um limite de 128 carateres.

schemaId

string

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

content

object (Content)

Os dados não estruturados associados a este documento. O conteúdo só pode ser definido e tem de ser definido se este documento estiver num arquivo de dados CONTENT_REQUIRED.

parentDocumentId

string

O identificador do documento principal. Atualmente, suporta uma hierarquia de documentos de, no máximo, dois níveis.

O ID deve estar em conformidade com a norma RFC-1034 com um limite de comprimento de 63 carateres.

derivedStructData

object (Struct format)

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

aclInfo

object (AclInfo)

Informações de controlo de acesso para o documento.

indexTime

string (Timestamp format)

Apenas saída. A última vez que o documento foi indexado. Se este campo estiver definido, o documento pode ser devolvido nos resultados da pesquisa.

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

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". 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 estado do índice do documento.

  • Se o documento for indexado com êxito, o campo indexTime é preenchido.
  • Caso contrário, se o documento não for indexado devido a erros, o campo errorSamples é preenchido.
  • Caso contrário, se o índice do documento estiver em curso, o campo pendingMessage é preenchido.
Campo de união data. Representação de dados. Deve ser fornecida uma das propriedades struct_data ou json_data. Caso contrário, é gerado um erro INVALID_ARGUMENT. data só pode ser uma das seguintes opções:
structData

object (Struct format)

Os dados JSON estruturados para o documento. Deve estar em conformidade com o Schema registado ou é gerado um erro INVALID_ARGUMENT.

jsonData

string

A representação de string JSON do documento. Deve estar em conformidade com o Schema registado ou é gerado um erro INVALID_ARGUMENT.

Conteúdo

Dados não estruturados associados 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 suportados:

  • application/pdf (PDF, apenas são suportados PDFs nativos de momento)
  • 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ó são suportados se o analisador de esquemas estiver ativado no arquivo 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 só pode ser uma das seguintes opções:
rawBytes

string (bytes format)

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

Nota: tal como acontece com todos os campos bytes, este 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. Apenas são suportados URIs do Cloud Storage (por exemplo, gs://bucket-name/path/to/file). O tamanho máximo do ficheiro é 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 "Ambos permitir", em que, para aceder a um documento secundário, o utilizador tem de ter acesso ao documento principal.

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 da 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 diretores.

idpWide

boolean

Todos os utilizadores no fornecedor de identidade.

Em dívida

Identificador principal de um utilizador ou um 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. Principal do campo de união. O principal pode ser um utilizador ou um grupo. principal só pode ser uma das seguintes opções:
userId

string

Identificador do utilizador. Para uma conta de utilizador do Google Workspace, o userId deve ser o email do utilizador do Google Workspace. Para a conta de utilizador do fornecedor de identidade não pertencente à Google, o userId é o identificador do utilizador mapeado configurado durante a configuração do workforcepool.

groupId

string

Identificador do grupo. Para uma conta de utilizador do Google Workspace, o groupId deve ser o email do grupo do Google Workspace. Para a conta de utilizador do fornecedor de identidade não pertencente à Google, o groupId é o identificador do grupo mapeado configurado durante a configuração do workforcepool.

externalEntityId

string

Para identidades de aplicações de terceiros que não estão presentes no fornecedor de identidade do cliente.

IndexStatus

Estado de indexação do documento.

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

string (Timestamp format)

A hora em que o documento foi indexado. Se este campo estiver preenchido, significa que o documento foi indexado.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Um exemplo dos erros encontrados durante a indexação do documento. Se este campo estiver preenchido, o documento não é indexado devido a erros.

pendingMessage

string

Imutável. A mensagem indica que a indexação de documentos está em curso. Se este campo estiver preenchido, o índice do documento está pendente.

Métodos

create

Cria um Document.

delete

Elimina um Document.

get

Obtém um Document.

import

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

list

Obtém uma lista de Documents.

patch

Atualiza um Document.

purge

Elimina permanentemente todos os Documents selecionados num ramo.