En este documento, se describe cómo administrar los documentos en Document AI Warehouse, incluidas las operaciones de creación, recuperación, actualización y eliminación.
Qué son los documentos
Un documento es el modelo de datos que se usa en Document AI Warehouse para organizar un documento del mundo real (por ejemplo, un PDF o un TXT) y sus propiedades asociadas. Interactúas con Document AI Warehouse a través de operaciones en los documentos.
Tipos de archivos admitidos
Si bien el enfoque de Document AI Warehouse son los documentos, también se usa para administrar imágenes asociadas (por ejemplo, en sectores verticales como seguros, ingeniería, construcción e investigación).
- La API de Ingest admite imágenes en formato PDF, TIFF, JPEG y PNG, junto con cualquier propiedad o texto preextraído.
- La IU de carga admite la extracción de PDFs con el OCR de Document AI y procesadores personalizados.
- La IU del visor admite la renderización en archivos PDF, de texto y de Microsoft Office.
Antes de comenzar
Antes de comenzar, asegúrate de haber completado la página de Inicio rápido.
Para la creación de documentos, si tus datos residen en tu propio bucket de Cloud Storage, debes otorgar a la cuenta de servicio de Document AI Warehouse permiso de visualizador de objetos de almacenamiento para leer tus datos.
Cada documento se especifica con un esquema y pertenece a un tipo de documento. Un esquema de documento define la estructura del documento en Document AI Warehouse. Antes de crear documentos, debes crear un esquema de documento.
Cómo crear un documento
Para crear un documento, debes proporcionar contenido de documento sin procesar a Document AI Warehouse. Las dos formas de proporcionar contenido de bytes de documentos sin procesar son establecer Document.inline_raw_document o Document.raw_document_path.
Las diferencias se muestran a continuación:
Document.raw_document_path: Este es el enfoque preferido. Usa la ruta de acceso de Cloud Storage (gs://bucket/object) del archivo que se ingerirá. Ten en cuenta que el llamador debe tener permiso de lectura en este objeto para que la llamada se realice correctamente.Document.inline_raw_document: Representación de bytes o texto del archivo, que se proporciona directamente al extremo.
Para crear un documento, haz lo siguiente:
Sube un documento desde Cloud Storage
Debes otorgar acceso a la cuenta de servicio de Document AI Warehouse a tu bucket de Cloud Storage, como se describe en la sección de requisitos previos.
Debes subir tu archivo a un bucket de Cloud Storage siguiendo las instrucciones.
REST
Solicitud:
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"
}
}
}'Sube archivos desde una máquina local
REST
Solicitud:
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"
}
}
}'Obtén un documento
De 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
Para obtener más información, consulta la documentación de referencia de la API de Document AI Warehouse Python.
Para autenticarte en Document AI Warehouse, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener más información, consulta la documentación de referencia de la API de Document AI Warehouse Java.
Para autenticarte en Document AI Warehouse, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener más información, consulta la documentación de referencia de la API de Document AI Warehouse Node.js.
Para autenticarte en Document AI Warehouse, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
De 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"Actualiza un documento
De 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
Para obtener más información, consulta la documentación de referencia de la API de Document AI Warehouse Python.
Para autenticarte en Document AI Warehouse, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener más información, consulta la documentación de referencia de la API de Document AI Warehouse Java.
Para autenticarte en Document AI Warehouse, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
De 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"
}
}
}'Cómo borrar un documento
REST
De 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"De 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"Próximos pasos
- Continúa con Organiza los documentos en carpetas para aprender a organizar documentos en carpetas.