Este documento descreve como gerenciar os documentos no Document AI Warehouse, incluindo operações de criação, busca, atualização e exclusão.
O que são documentos
Um documento é o modelo de dados usado no Document AI Warehouse para organizar um documento real (por exemplo, PDF ou TXT) e as propriedades associadas a ele. Você interage com o Document AI Warehouse por operações nos documentos.
Tipos de arquivo com suporte
Embora o foco do Document AI Warehouse sejam os documentos, ele também é usado para gerenciar imagens associadas (por exemplo, em setores como seguros, engenharia, construção e pesquisa).
- A API Ingest oferece suporte a PDFs e imagens TIFF, JPEG e PNG, além de propriedades ou texto pré-extraído.
- A interface de upload oferece suporte à extração de PDFs usando o OCR da Document AI e processadores personalizados.
- A interface do visualizador oferece suporte à renderização em arquivos PDF, de texto e do Microsoft Office.
Antes de começar
Antes de começar, conclua a página de início rápido.
Para a criação de documentos, se os dados estiverem no seu próprio bucket do Cloud Storage, você precisará conceder à conta de serviço do Document AI Warehouse a permissão de leitor de objetos do Storage para ler seus dados.
Cada documento é especificado por um esquema e pertence a um tipo de documento. Um esquema de documento define a estrutura do documento no Document AI Warehouse. Antes de criar documentos, você precisa criar um esquema de documento.
Criar um documento
Para criar um documento, você precisa fornecer conteúdo de documento bruto ao Document AI Warehouse. As duas maneiras de fornecer conteúdo de byte de documento bruto são definindo Document.inline_raw_document ou Document.raw_document_path.
As diferenças são as seguintes:
Document.raw_document_path: essa é a abordagem preferencial. Ela usa o caminho do Cloud Storage (gs://bucket/object) do arquivo a ser ingerido. Observação: o autor da chamada precisa ter permissão de leitura nesse objeto para que a chamada seja bem-sucedida.Document.inline_raw_document: representação de byte/texto do arquivo, fornecida diretamente ao endpoint.
Para criar um documento, faça o seguinte:
Fazer upload de um documento do Cloud Storage
Você precisa conceder à conta de serviço do Document AI Warehouse acesso ao bucket do Cloud Storage, conforme descrito na seção de pré-requisitos.
Você precisa fazer upload do arquivo para um bucket do Cloud Storage, seguindo as instruções.
REST
Solicitação:
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"
}
}
}'Fazer upload de uma máquina local
REST
Solicitação:
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"
}
}
}'Receber um 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 mais informações, consulte a Document AI Warehouse Python API documentação de referência.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Document AI Warehouse Java.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API do Document AI Warehouse.Node.js
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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"Atualizar um 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 mais informações, consulte a Document AI Warehouse Python API documentação de referência.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Document AI Warehouse Java.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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"
}
}
}'Exclusão de um 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óximas etapas
- Acesse Organizar documentos em pastas para saber como organizar documentos em pastas.