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, PDF o TXT) y sus propiedades asociadas. Interactúas con Document AI Warehouse mediante 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 verticales como seguros, ingeniería, construcción e investigación).
- La API de Ingest admite archivos PDF y TIFF, imágenes JPEG y PNG, junto con cualquier propiedad o texto preextraído.
- La IU de carga admite la extracción de archivos PDF 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 Guía de inicio rápido página.
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 el 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 documento sin procesar son configurar Document.inline_raw_document o Document.raw_document_path.
Las diferencias se muestran a continuación:
Document.raw_document_path: Este es el enfoque que se prefiere. 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.
Si deseas crear un documento, haz lo siguiente:
Sube un documento desde Cloud Storage
Debes otorgar a la cuenta de servicio de Document AI Warehouse acceso 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
Por 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 referenciaPython de la API de Document AI Warehouse.
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 referenciaJava de la API de Document AI Warehouse.
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.
Por 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
Por 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 referenciaPython de la API de Document AI Warehouse.
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 referenciaJava de la API de Document AI Warehouse.
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.
Por 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
Por 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"Por 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.