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

Recurso: Document

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

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. Es el nombre completo del recurso 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 longitud de 1,024 caracteres.

id

string

Inmutable. Es el identificador del documento.

El ID debe cumplir con el estándar RFC-1034 y tener un límite de 128 caracteres.

schemaId

string

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

content

object (Content)

Son los datos no estructurados vinculados a este documento. El contenido solo se puede establecer y se debe establecer si este documento se encuentra en un almacén de datos CONTENT_REQUIRED.

parentDocumentId

string

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

El ID debe cumplir con el estándar RFC-1034 y tener un límite de 63 caracteres.

derivedStructData

object (Struct format)

Solo salida. Este campo es OUTPUT_ONLY. Contiene datos derivados que no se encuentran en el documento de entrada original.

aclInfo

object (AclInfo)

Es la información de control de acceso del documento.

indexTime

string (Timestamp format)

Solo salida. Es la última vez que se indexó el documento. Si se configura este campo, es posible que el documento se muestre en los resultados de la búsqueda.

Este campo es OUTPUT_ONLY. Si este campo no está completado, significa que el documento nunca se indexó.

Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “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 salida. Es el estado de indexación del documento.

  • Si el documento se indexa correctamente, se propagará el campo indexTime.
  • De lo contrario, si el documento no se indexa debido a errores, se propagará el campo errorSamples.
  • De lo contrario, si la indexación del documento está en curso, se propagará el campo pendingMessage.
Campo de unión data. Representación de datos Se debe proporcionar struct_data o json_data. De lo contrario, se arrojará un error INVALID_ARGUMENT. data puede ser solo una de las siguientes opciones:
structData

object (Struct format)

Son los datos estructurados en formato JSON del documento. Debe cumplir con el Schema registrado o se arroja un error INVALID_ARGUMENT.

jsonData

string

Es la representación de la cadena JSON del documento. Debe cumplir con el Schema registrado o se arroja un error INVALID_ARGUMENT.

Contenido

Son los 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

Es el tipo de MIME del contenido. Tipos admitidos:

  • application/pdf (PDF; por el momento, solo se admiten los 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. Es el contenido del documento no estructurado. content puede ser solo uno de los siguientes:
rawBytes

string (bytes format)

Es el contenido representado como un flujo de bytes. La longitud máxima es de 1,000,000 de bytes (1 MB / 0.95 MiB).

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

Es una cadena codificada en base64.

uri

string

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

AclInfo

Es la información de la LCA del documento.

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

object (AccessRestriction)

Son los lectores del documento.

AccessRestriction

AclRestriction para modelar restricciones de herencia complejas.

Ejemplo: Modelado de una herencia de "Permiso doble", en la que, para acceder a un documento secundario, el usuario debe tener acceso al documento principal.

Jerarquía del documento: Space_S --> Page_P.

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

Restricción de ACL de Space_S: { "aclInfo": { "lectores": [ { "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 identidad

Principal

Es el 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. Es el campo de unión principal. La principal puede ser un usuario o un grupo. principal puede ser solo uno de los siguientes:
userId

string

Es el identificador del usuario. En el caso de las cuentas de usuario de Google Workspace, el userId debe ser el correo electrónico del usuario de Google Workspace. En el caso de las cuentas de usuario del proveedor de identidad que no son de Google, userId es el identificador de usuario asignado que se configuró durante la configuración de workforcepool.

groupId

string

Es el identificador del grupo. En el caso de las cuentas de usuario de Google Workspace, groupId debe ser el correo electrónico del grupo de Google Workspace. Para las cuentas de usuario de proveedores de identidad que no son de Google, groupId es el identificador de grupo asignado que se configuró durante la configuración de workforcepool.

externalEntityId

string

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

IndexStatus

Es el estado de indexación del documento.

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

string (Timestamp format)

Es la fecha y hora en que se indexó el documento. Si este campo se propaga, significa que el documento se indexó.

Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Es una muestra de los errores que se encontraron durante la indexación del documento. Si este campo está completado, el documento no se indexó debido a errores.

pendingMessage

string

Inmutable. El mensaje indica que el índice de documentos está en curso. Si este campo está completado, el índice del documento está pendiente.

Métodos

create

Crea un Document.

delete

Borra un Document.

get

Obtienes una Document.

import

Importación masiva de varios Document

list

Obtiene una lista de Documents.

patch

Actualiza un Document.

purge

Borra de forma permanente todos los Documents seleccionados en una rama.