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

Recurso: documento

El documento captura toda la información de metadatos sin procesar de los elementos que se van a recomendar o buscar.

Representación 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

Inmutable. Nombre de recurso completo del documento. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}.

Este campo debe ser una cadena codificada en UTF-8 con un límite de 1024 caracteres.

id

string

Inmutable. Identificador del documento.

El ID debe cumplir el estándar RFC-1034 y tener una longitud máxima de 128 caracteres.

schemaId

string

El identificador del esquema ubicado en el mismo almacén de datos.

content

object (Content)

Los datos no estructurados vinculados a este documento. El contenido solo se puede definir y debe definirse si este documento está en un almacén de datos CONTENT_REQUIRED.

parentDocumentId

string

Identificador del documento principal. Actualmente, admite una jerarquía de documentos de dos niveles como máximo.

El ID debe cumplir el estándar RFC-1034 y tener una longitud máxima de 63 caracteres.

derivedStructData

object (Struct format)

Solo de salida. Este campo es OUTPUT_ONLY. Contiene datos derivados que no están en el documento de entrada original.

aclInfo

object (AclInfo)

Información de control de acceso del documento.

indexTime

string (Timestamp format)

Solo de salida. La última vez que se indexó el documento. Si se define este campo, el documento podría devolverse en los resultados de búsqueda.

Este campo es OUTPUT_ONLY. Si este campo no se rellena, significa que el documento nunca se ha indexado.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

indexStatus

object (IndexStatus)

Solo de salida. Estado de indexación del documento.

  • Si el documento se indexa correctamente, se rellena el campo indexTime.
  • De lo contrario, si el documento no se indexa debido a errores, se rellenará el campo errorSamples.
  • De lo contrario, si el índice del documento está en curso, se rellena el campo pendingMessage.
Campo de unión data. Representación de datos. Se debe proporcionar struct_data o json_data. De lo contrario, se producirá un error INVALID_ARGUMENT. data solo puede ser una de estas dos opciones:
structData

object (Struct format)

Los datos JSON estructurados del documento. Debe ajustarse al Schema registrado o se producirá un error INVALID_ARGUMENT.

jsonData

string

Representación de cadena JSON del documento. Debe ajustarse al Schema registrado o se producirá un error INVALID_ARGUMENT.

Contenido

Datos no estructurados vinculados a este documento.

Representación 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

Tipo MIME del contenido. Tipos admitidos:

  • application/pdf (PDF, por ahora solo se admiten PDFs nativos)
  • text/html (HTML)
  • text/plain (TXT)
  • application/xml o 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)

Los siguientes tipos solo se admiten si el analizador de diseño está habilitado en el almacén de datos:

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

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

Campo de unión content. El contenido del documento no estructurado. content solo puede ser una de estas dos opciones:
rawBytes

string (bytes format)

El contenido representado como un flujo de bytes. La longitud máxima es de 1.000.000 de bytes (1 MB o aproximadamente 0,95 MiB).

Nota: Al igual que todos los campos bytes, este campo se representa como binario puro en Protocol Buffers y como una cadena codificada en base64 en JSON. Por ejemplo, abc123!?$*&()'-=@~ debe representarse como YWJjMTIzIT8kKiYoKSctPUB+ en JSON. Consulta https://developers.google.com/protocol-buffers/docs/proto3#json.

Cadena codificada en base64.

uri

string

URI del contenido. Solo se admiten URIs de Cloud Storage (por ejemplo, gs://bucket-name/path/to/file). El tamaño máximo de archivo es de 2, 5 MB para los formatos basados en texto y de 200 MB para otros formatos.

AclInfo

Información de la LCA del documento.

Representación JSON
{
  "readers": [
    {
      object (AccessRestriction)
    }
  ]
}
Campos
readers[]

object (AccessRestriction)

Lectores del documento.

AccessRestriction

AclRestriction para modelar restricciones de herencia complejas.

Ejemplo: modelización de una herencia de tipo "Permitir ambos", en la que, para acceder a un documento secundario, el usuario debe tener acceso al documento principal.

Jerarquía del documento - Espacio_S --> Página_P.

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

Restricción de LCA de Space_S - { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ] } ] } }

Restricción de LCA de Page_P. { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_2" }, { "groupId": "group_3" }, { "userId": "user_2" } ], }, { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ], } ] } }

Representación JSON
{
  "principals": [
    {
      object (Principal)
    }
  ],
  "idpWide": boolean
}
Campos
principals[]

object (Principal)

Lista de principales.

idpWide

boolean

Todos los usuarios del proveedor de identidades.

Principal

Identificador principal de un usuario o un grupo.

Representación 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ón principal. Campo de unión principal. La entidad principal puede ser un usuario o un grupo. principal solo puede ser una de estas dos opciones:
userId

string

Identificador de usuario. En el caso de las cuentas de usuario de Google Workspace, el valor de userId debe ser el correo del usuario de Google Workspace. En el caso de las cuentas de usuario de proveedores de identidades que no son de Google, userId es el identificador de usuario asignado que se configura durante la configuración de workforcepool.

groupId

string

Identificador del grupo. En el caso de las cuentas de usuario de Google Workspace, groupId debe ser el correo del grupo de Google Workspace. En el caso de las cuentas de usuario de proveedores de identidades que no sean de Google, groupId es el identificador de grupo asignado que se configura durante la configuración de WorkforcePool.

externalEntityId

string

Para identidades de aplicaciones de terceros que no estén presentes en el proveedor de identidades del cliente.

IndexStatus

Estado de indexación del documento.

Representación JSON
{
  "indexTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ],
  "pendingMessage": string
}
Campos
indexTime

string (Timestamp format)

La hora en la que se indexó el documento. Si este campo está rellenado, significa que el documento se ha indexado.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Una muestra de los errores que se han producido al indexar el documento. Si este campo se rellena, el documento no se indexa debido a errores.

pendingMessage

string

Inmutable. El mensaje indica que se está creando el índice del documento. Si este campo está rellenado, el índice del documento está pendiente.

Métodos

create

Crea un Document.

delete

Elimina un Document.

get

Obtiene un Document.

import

Importación en bloque de varios Document.

list

Obtiene una lista de Documents.

patch

Actualiza un Document.

purge

Elimina permanentemente todos los Documents seleccionados de una rama.