En esta página, se proporciona una breve descripción general de las carpetas y se explica cómo administrar documentos con ellas.
¿Qué son las carpetas de Document AI Warehouse?
Una carpeta es un tipo especial de documento. No puede incluir contenido intercalado ni tener contenido asociado, pero los usuarios pueden agregar propiedades a la carpeta.
Una carpeta sirve como contenedor para agrupar y etiquetar documentos. Los usuarios pueden adjuntar un documento a varias carpetas, y una carpeta puede contener varios documentos.
Las carpetas también se pueden usar en la API de documents.search para filtrar documentos secundarios en una carpeta específica.
Antes de comenzar
Antes de comenzar, asegúrate de haber completado la página de inicio rápido.
Crea una carpeta de Document AI Warehouse con un esquema
Para crear un esquema para crear instancias de carpetas, haz lo siguiente:
REST
Solicitud:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" -d '{
"display_name": "abc",
"property_definitions": [
{
"name": "Name",
"display_name": "Name",
"is_repeatable": false,
"is_filterable": true,
"is_searchable": true,
"is_metadata": true,
"is_required": true,
"text_type_options": {},
"schema_sources": []
}
],
"document_is_folder": true
}' \
"https://contentwarehouse.googleapis.com/v1/projects/406397197218/locations/us/documentSchemas"Respuesta:
{
"name": "SCHEMA_NAME",
"displayName": "abc",
"documentIsFolder": true,
"updateTime": "2022-08-31T16:10:43.111978Z",
"createTime": "2022-08-31T16:10:43.111978Z"
}Python
from google.cloud import contentwarehouse_v1
def create_folder_schema():
# Create a client
client = contentwarehouse_v1.DocumentSchemaServiceClient()
# Initialize request argument(s)
document_schema = contentwarehouse_v1.DocumentSchema()
document_schema.display_name = "display_name_value"
document_schema.document_is_folder = True
request = contentwarehouse_v1.CreateDocumentSchemaRequest(
parent="projects/533503808294/locations/us",
document_schema=document_schema,
)
# Make the request
return client.create_document_schema(request=request)
Agrega un documento a una carpeta de Document AI Warehouse
Para agregar un documento a una carpeta, haz lo siguiente:
REST
Solicitud:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" -d '{
"document_link": {
"source_document_reference": {
"document_name": "projects/PROJECT_NUMBER/locations/LOCATION/documents/{document_id}"
},
"target_document_reference": {
"document_name": "projects/PROJECT_NUMBER/locations/LOCATION/documents/{document_id}"
}
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL_ID"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/{document_id}/documentLinks"Respuesta:
{
"name": "LINK_NAME",
"source_document_reference": {
"document_name": "FOLDER_NAME"
},
"target_document_reference": {
"document_name": "DOCUMENT_NAME"
}
}Python
from google.cloud import contentwarehouse_v1
def add_to_folder(folder:str, doc:str):
# Create a client
client = contentwarehouse_v1.DocumentLinkServiceClient()
# Initialize request argument(s)
link = contentwarehouse_v1.DocumentLink()
link.source_document_reference = contentwarehouse_v1.DocumentReference()
link.source_document_reference.document_name = folder
link.target_document_reference = contentwarehouse_v1.DocumentReference()
link.target_document_reference.document_name = doc
request = contentwarehouse_v1.CreateDocumentLinkRequest(
parent=folder,
document_link=link,
)
# Make the request
return client.create_document_link(request=request)
Crea una carpeta de Document AI Warehouse y vincula un documento
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.
Enumera los documentos secundarios en una carpeta de Document AI Warehouse
Para enumerar los documentos secundarios inmediatos en una carpeta, haz lo siguiente:
REST
Solicitud:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/FOLDER/linkedTargetsRespuesta:
{
"documentLinks": [
{
"name": "LINK_NAME1"
"source_document_reference": {
"document_name": "FOLDER_NAME"
},
"target_document_reference": {
"document_name": "DOCUMENT_NAME1"
}
},
{
"name": "LINK_NAME2"
"source_document_reference": {
"document_name": "FOLDER_NAME"
},
"target_document_reference": {
"document_name": "DOCUMENT_NAME2"
}
}
...
]
}Python
from google.cloud import contentwarehouse_v1
def list_sub_docs(folder:str):
# Create a client
client = contentwarehouse_v1.DocumentLinkServiceClient()
# Initialize request argument(s)
request = contentwarehouse_v1.ListLinkedTargetsRequest(
parent=folder,
)
# Make the request
return client.list_linked_targets(request=request)
Quita un documento de una carpeta de Document AI Warehouse
Para quitar un documento de una carpeta, necesitas el nombre del vínculo. Puedes recuperar el nombre del vínculo con el método documents.linkedTargets en el paso anterior.
REST
Solicitud:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/FOLDER/documentLinks/LINK:deletePython
from google.cloud import contentwarehouse_v1
def remove_doc_from_folder(link:str):
# Create a client
client = contentwarehouse_v1.DocumentLinkServiceClient()
# Initialize request argument(s)
request = contentwarehouse_v1.DeleteDocumentLinkRequest(
name=link,
)
# Make the request
return client.delete_document_link(request=request)