Ce document explique comment gérer les documents dans Document AI Warehouse, y compris les opérations de création, de récupération, de mise à jour et de suppression.
Que sont les documents ?
Un document est le modèle de données utilisé dans Document AI Warehouse pour organiser un document réel (par exemple, au format PDF ou TXT) et ses propriétés associées. Vous interagissez avec Document AI Warehouse en effectuant des opérations sur les documents.
Types de fichiers acceptés
Bien que Document AI Warehouse soit principalement axé sur les documents, il est également utilisé pour gérer les images associées (par exemple, dans des secteurs tels que l'assurance, l'ingénierie, la construction et la recherche).
- L'API Ingest est compatible avec les PDF et les images TIFF, JPEG et PNG, ainsi qu'avec toutes les propriétés ou le texte pré-extrait.
- L'UI d'importation permet d'extraire des PDF à l'aide de la reconnaissance optique des caractères (OCR) de Document AI et de processeurs personnalisés.
- L'interface utilisateur de la visionneuse permet d'afficher les fichiers PDF, texte et Microsoft Office.
Avant de commencer
Avant de commencer, assurez-vous d'avoir consulté la page Démarrage rapide.
Pour créer des documents, si vos données résident dans votre propre bucket Cloud Storage, vous devez accorder au compte de service Document AI Warehouse l'autorisation de lecteur des objets Storage pour lire vos données.
Chaque document est spécifié par un schéma et appartient à un type de document. Un schéma de document définit la structure du document dans Document AI Warehouse. Pour pouvoir créer des documents, vous devez d'abord créer un schéma de document.
Créer un document
Pour créer un document, vous devez fournir le contenu brut du document à Document AI Warehouse. Pour fournir le contenu brut des octets du document, vous pouvez définir Document.inline_raw_document ou Document.raw_document_path.
Les différences sont les suivantes :
Document.raw_document_path: il s'agit de l'approche à privilégier. Il utilise le chemin Cloud Storage (gs://bucket/object) du fichier à ingérer. Notez que l'appelant doit disposer de l'autorisation de lecture sur cet objet pour que l'appel aboutisse.Document.inline_raw_document: représentation en octets/texte du fichier, fournie directement au point de terminaison.
Pour créer un document, procédez comme suit :
Importer un document depuis Cloud Storage
Vous devez accorder au compte de service Document AI Warehouse l'accès à votre bucket Cloud Storage, comme décrit dans la section sur les prérequis.
Vous devez importer votre fichier dans un bucket Cloud Storage en suivant les instructions.
REST
Requête :
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/DOCUMENT_SCHEMA_ID",
"raw_document_path": "gs://BUCKET_URI/FILE_URI",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
]
},
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL_ID"
}
}
}'Importer depuis une machine locale
REST
Requête :
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/ \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/DOCUMENT_SCHEMA_ID",
"inline_raw_document": "<bytes>",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
]
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL_ID"
}
}
}'Obtenir un document
Par document_id :
REST
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/DOCUMENT_ID:get"Python
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Warehouse Python.
Pour vous authentifier auprès de Document AI Warehouse, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Warehouse Java.
Pour vous authentifier auprès de Document AI Warehouse, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Warehouse Node.js.
Pour vous authentifier auprès de Document AI Warehouse, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Par reference_id :
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/referenceId/REFERENCE_ID:get"Mettre à jour un document
Par document_id :
REST
posix-terminal
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/DOCUMENT_SCHEMA_ID",
"raw_document_path": "gs://BUCKET_URI/FILE_URI",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
{
"name": "invoice_id",
"text_values": {
"values": "invoiceid"
}
},
]
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL"
}
}
}'
Python
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Warehouse Python.
Pour vous authentifier auprès de Document AI Warehouse, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Warehouse Java.
Pour vous authentifier auprès de Document AI Warehouse, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Par reference_id :
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/referenceId/REFERENCE_ID",
"raw_document_path": "gs://BUCKET_URI/FILE_URI",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
{
"name": "invoice_id",
"text_values": {
"values": "invoiceid"
}
},
]
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL"
}
}
}'Supprimer un document
REST
Par document_id :
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/DOCUMENT_ID:delete"Par reference_id :
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/referenceId/REFERENCE_ID":delete"Étapes suivantes
- Consultez Organiser les documents dans des dossiers pour découvrir comment organiser les documents dans des dossiers.