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

Ressource : Document

Le document capture toutes les informations brutes sur les métadonnées des éléments à recommander ou à rechercher.

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "structData": {
    object
  },
  "jsonData": string
  // End of mutually exclusive fields.
}
Champs
name

string

Immuable. Nom complet de la ressource du document. Format : projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}.

Ce champ doit être une chaîne encodée au format UTF-8, dont la longueur ne doit pas dépasser 1 024 caractères.

id

string

Immuable. Identifiant du document.

L'ID doit être conforme à la norme RFC-1034 et ne pas dépasser 128 caractères.

schemaId

string

Identifiant du schéma situé dans le même data store.

content

object (Content)

Données non structurées associées à ce document. Le contenu ne peut être défini et doit l'être que si ce document se trouve dans un data store CONTENT_REQUIRED.

parentDocumentId

string

Identifiant du document parent. Actuellement, la hiérarchie de documents est limitée à deux niveaux.

L'ID doit être conforme à la norme RFC-1034 et ne doit pas dépasser 63 caractères.

derivedStructData

object (Struct format)

Uniquement en sortie. Ce champ est OUTPUT_ONLY. Il contient des données dérivées qui ne figurent pas dans le document d'entrée d'origine.

aclInfo

object (AclInfo)

Informations sur le contrôle des accès au document.

indexTime

string (Timestamp format)

Uniquement en sortie. Heure de la dernière indexation du document.

Si ce champ est renseigné, cela signifie que le document a été indexé. Bien que les documents deviennent généralement consultables quelques secondes après l'indexation, cela peut parfois prendre jusqu'à quelques heures.

Si ce champ n'est pas renseigné, cela signifie que le document n'a jamais été indexé.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

indexStatus

object (IndexStatus)

Uniquement en sortie. État d'indexation du document.

  • Si le document est indexé correctement, le champ "indexTime" est renseigné.
  • Sinon, si le document n'est pas indexé en raison d'erreurs, le champ "errorSamples" est renseigné.
  • Sinon, si l'indexation du document est en cours, le champ "pendingMessage" est renseigné.
Représentation des données. Vous devez fournir struct_data ou json_data. Sinon, une erreur INVALID_ARGUMENT est générée. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
structData

object (Struct format)

Données JSON structurées pour le document. Il doit être conforme au Schema enregistré, sinon une erreur INVALID_ARGUMENT est générée.

jsonData

string

Représentation de la chaîne JSON du document. Il doit être conforme au Schema enregistré, sinon une erreur INVALID_ARGUMENT est générée.

Fin des champs qui s'excluent mutuellement.

Contenu

Données non structurées associées à ce document.

Représentation JSON
{
  "mimeType": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "rawBytes": string,
  "uri": string
  // End of mutually exclusive fields.
}
Champs
mimeType

string

Type MIME du contenu. Types compatibles :

  • application/pdf (PDF, seuls les PDF natifs sont acceptés pour le moment)
  • 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)

Les types suivants ne sont acceptés que si l'analyseur de mise en page est activé dans le data store :

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

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

Contenu du document non structuré. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
rawBytes

string (bytes format)

Contenu représenté sous forme de flux d'octets. La valeur ne doit pas dépasser 1 000 000 octets (1 Mo / environ 0,95 Mio).

Remarque : Comme pour tous les champs bytes, ce champ est représenté sous forme binaire pure dans les Protocol Buffers et sous forme de chaîne encodée en base64 dans JSON. Par exemple, abc123!?$*&()'-=@~ doit être représenté par YWJjMTIzIT8kKiYoKSctPUB+ en JSON. Consultez https://developers.google.com/protocol-buffers/docs/proto3#json.

Chaîne encodée en base64.

uri

string

URI du contenu. Seuls les URI Cloud Storage (par exemple, gs://bucket-name/path/to/file) sont acceptés. La taille maximale des fichiers est de 2, 5 Mo pour les formats texte et de 200 Mo pour les autres formats.

Fin des champs qui s'excluent mutuellement.

AclInfo

Informations sur les LCA du document.

Représentation JSON
{
  "readers": [
    {
      object (AccessRestriction)
    }
  ]
}
Champs
readers[]

object (AccessRestriction)

Lecteurs du document.

AccessRestriction

AclRestriction pour modéliser des restrictions d'héritage complexes.

Exemple : Modélisation d'un héritage "Autorisation requise pour le parent et l'enfant", où l'utilisateur doit avoir accès au document parent pour accéder à un document enfant.

Hiérarchie des documents : espace S --> page P.

Lecteurs : Espace_S : groupe_1, utilisateur_1 Page_P : groupe_2, groupe_3, utilisateur_2

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

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

Représentation JSON
{
  "principals": [
    {
      object (Principal)
    }
  ],
  "idpWide": boolean
}
Champs
principals[]

object (Principal)

Liste des comptes principaux.

idpWide

boolean

Tous les utilisateurs du fournisseur d'identité.

Principal

Identifiant principal d'un utilisateur ou d'un groupe.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userId": string,
  "groupId": string,
  "externalEntityId": string
  // End of mutually exclusive fields.
}
Champs
Principal du champ d'union. Le compte principal peut être un utilisateur ou un groupe. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
userId

string

Identifiant utilisateur. Pour un compte utilisateur Google Workspace, l'ID utilisateur doit correspondre à l'adresse e-mail de l'utilisateur Google Workspace. Pour un compte utilisateur de fournisseur d'identité non Google, userId correspond à l'identifiant utilisateur mappé configuré lors de la configuration du pool d'identités des employés.

groupId

string

Identifiant du groupe. Pour un compte utilisateur Google Workspace, groupId doit correspondre à l'adresse e-mail du groupe Google Workspace. Pour un compte utilisateur de fournisseur d'identité non Google, groupId correspond à l'identifiant de groupe mappé configuré lors de la configuration du pool d'identités des employés.

externalEntityId

string

Pour les identités d'applications tierces qui ne sont pas présentes dans le fournisseur d'identité du client.

Fin des champs qui s'excluent mutuellement.

IndexStatus

État de l'indexation du document.

Représentation JSON
{
  "indexTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ],
  "pendingMessage": string
}
Champs
indexTime

string (Timestamp format)

Heure à laquelle le document a été indexé. Si ce champ est renseigné, cela signifie que le document a été indexé. Bien que les documents deviennent généralement consultables quelques secondes après l'indexation, cela peut parfois prendre jusqu'à quelques heures.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Exemple d'erreurs rencontrées lors de l'indexation du document. Si ce champ est renseigné, le document n'est pas indexé en raison d'erreurs.

pendingMessage

string

Immuable. Le message indique que l'indexation des documents est en cours. Si ce champ est renseigné, l'index du document est en attente.

Méthodes

create

Crée un objet Document.

delete

Supprime un Document.

get

Récupère un Document.

import

Importation groupée de plusieurs Document.

list

Obtient une liste de Document.

patch

Met à jour un Document.

purge

Supprime définitivement tous les Document sélectionnés dans une branche.