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 do mundo real (por exemplo, PDF ou TXT) e as propriedades associadas. Você interage com o Document AI Warehouse por operações nos documentos.
Tipos de arquivos compatíveis
Embora o foco do Document AI Warehouse sejam documentos, ele também é usado para gerenciar imagens associadas (por exemplo, em setores como seguros, engenharia, construção e pesquisa).
- A API Ingest aceita 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 é compatível com a renderização em arquivos PDF, de texto e do Microsoft Office.
Antes de começar
Antes de começar, confira se você concluiu 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 permissão de leitura 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 o conteúdo bruto do documento ao
Document AI Warehouse. As duas maneiras de fornecer conteúdo bruto de bytes do documento 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. Ele usa o caminho do Cloud Storage (gs://bucket/object) do arquivo a ser ingerido. O autor da chamada precisa ter permissão de leitura nesse objeto para que a chamada seja concluída.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
É necessário conceder à conta de serviço do Document AI Warehouse acesso ao bucket do Cloud Storage, conforme descrito na seção de pré-requisitos.
Faça 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 documentação de referência da API Python da Document AI Warehouse.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Para 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 Java da Document AI Warehouse.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Para 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 Node.js da Document AI Warehouse.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Para 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 documentação de referência da API Python da Document AI Warehouse.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Para 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 Java da Document AI Warehouse.
Para autenticar no Document AI Warehouse, configure o Application Default Credentials. Para 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"
}
}
}'Excluir 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 fazer isso.