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)
  },

  // Union field data can be only one of the following:
  "structData": {
    object
  },
  "jsonData": string
  // End of list of possible types for union field data.
}
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 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. Date et heure de la dernière indexation du document. Si ce champ est défini, le document peut être renvoyé dans les résultats de recherche.

Ce champ est OUTPUT_ONLY. 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é.
Champ d'union data. Représentation des données. Vous devez fournir struct_data ou json_data. Sinon, une erreur INVALID_ARGUMENT est générée. data ne peut être qu'un des éléments suivants :
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.

Contenu

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

Représentation 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.
}
Champs
mimeType

string

Type MIME du contenu. Types acceptés :

  • 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.

Champ d'union content. Contenu du document non structuré. content ne peut être qu'un des éléments suivants :
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+ dans 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.

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 les deux", 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

Space_S ACL Restriction - { "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é.

Compte principal

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

Représentation 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.
}
Champs
Champ d'union principal. Principal du champ d'union. Le compte principal peut être un utilisateur ou un groupe. principal ne peut être qu'un des éléments suivants :
userId

string

Identifiant utilisateur. Pour un compte utilisateur Google Workspace, l'userId 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.

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é.

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.