Mensagens de erro

Saiba como resolver alguns erros apresentados pela IA Documental. Este tópico aborda erros cuja resolução requer mais passos do que os que podem ser descritos numa mensagem de erro.

Consulte a documentação da API Cloud para ver as práticas recomendadas de processamento de erros.

Autorizações

A resolução requer a execução de alguns passos, conforme descrito na mensagem de erro.

As credenciais padrão da aplicação não estão disponíveis

Se receber esta mensagem:

The Application Default Credentials are not available. They are
available if running in Compute Engine. Otherwise, the
environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined
pointing to a file defining the credentials.
See https://developers.google.com/accounts/docs/application-default-credentials
for more information.

O Document AI usa Credenciais padrão da aplicação para autenticação.

Tem de ter uma conta de serviço para o seu projeto, transferir a chave (ficheiro JSON) para o seu ambiente de desenvolvimento e, em seguida, definir a localização desse ficheiro JSON para uma variável de ambiente denominada GOOGLE_APPLICATION_CREDENTIALS.

Além disso, a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS tem de estar disponível no contexto em que chama a API Document AI. Por exemplo, se definir a variável a partir de uma sessão de terminal, mas executar o código no depurador do IDE, o contexto de execução do código pode não ter acesso à variável. Nessa circunstância, o seu pedido ao Document AI pode falhar por falta de autenticação adequada.

Para mais informações sobre como definir a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS, consulte o início rápido do Document AI ou a documentação sobre a utilização das Credenciais padrão da aplicação.

Autorização recusada

Se receber esta mensagem:

ERROR: (gcloud.auth.application-default.print-access-token) File
(pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist!
{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "status": "PERMISSION_DENIED"
  }
}

Verifique se tem um ficheiro JSON de chave da conta de serviço válido na localização armazenada na variável de ambiente GOOGLE_APPLICATION_CREDENTIALS e se a variável aponta para o local correto.

Para diagnosticar este erro, tente abrir o ficheiro de chave da conta de serviço a partir da pasta a partir da qual está a tentar chamar a API Document AI.

cat $GOOGLE_APPLICATION_CREDENTIALS

Proibido: 403 A API POST não foi usada ou está desativada

Se receber a mensagem:

Forbidden: 403 POST Document AI API has not been used in
project # before or it is disabled.
Enable it by visiting [url], then retry.
If you enabled this API recently, wait a few minutes for the action to
propagate and retry.
  1. Aceda ao link especificado na mensagem de erro e ative a API Document AI. Aguarde vários minutos e, em seguida, tente novamente.
  2. Verifique se tem um ficheiro JSON de chave da conta de serviço válido armazenado na variável de ambiente GOOGLE_APPLICATION_CREDENTIALS. Para diagnosticar este erro, tente abrir o ficheiro de chave da conta de serviço a partir da pasta a partir da qual está a tentar chamar a API Document AI.
    cat $GOOGLE_APPLICATION_CREDENTIALS
    

Erro ao escrever o resultado final

Se receber uma mensagem como a seguinte ao receber os resultados de um pedido de processo em lote:

{
  "name": "projects/project-name/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.document.v1beta1.OperationMetadata",
    "state": "SUCCEEDED",
    "createTime": "2019-09-19T02:02:15.885267760Z",
    "updateTime": "2019-09-19T02:02:31.896425001Z"
  },
  "done": true,
  "error": {
    "code": 5,
    "message": "Error writing final output to: gs://bucket-name/filename.json"
  }
}

A sua conta de serviço pode não ter as autorizações corretas para criar objetos no seu contentor do Cloud Storage. Certifique-se de que atribuiu as autorizações corretas à sua conta de serviço, conforme descrito no início rápido.

Também pode ter escrito incorretamente o nome do contentor do Cloud Storage. Verifique se o contentor ao qual está a tentar aceder existe.

P4SA sem acesso ao Cloud Storage

Quando a conta de serviço por produto (P4SA) do Document AI não tem autorização para aceder a alguns recursos do Cloud Storage.

message: "Cloud DocumentAI P4SA doesn't have access to this Cloud Storage resource:"

A conta de serviço não pode criar um objeto no Cloud Storage

Quando a conta de serviço por produto (P4SA) da IA Documental não tem autorização para criar um objeto no Google Cloud Storage.

message: "Service account service-123@gcp-sa-prod-dai-core.iam.gserviceaccount.com
         does not have permission storage.objects.create to create
         Google Cloud Storage object in bucket gs://foo."

A conta de serviço do Document AI pode não ter as autorizações corretas para criar objetos no seu contentor do Cloud Storage. Certifique-se de que atribuiu as autorizações corretas à conta de serviço da IA Documental, conforme descrito na configuração do acesso a ficheiros entre projetos.

Também pode ter escrito incorretamente o nome do contentor do Cloud Storage. Verifique se o contentor ao qual está a tentar aceder existe.

O autor da chamada não consegue obter objetos no Cloud Storage

Quando o autor da chamada da API Document AI não tem autorização para obter objetos no Cloud Storage.

message: "The caller does not have permission storage.objects.get to get Google
         Cloud Storage objects in bucket gs://foo."

O autor da chamada da API pode não ter as autorizações corretas para obter objetos no seu contentor do Cloud Storage. Certifique-se de que atribuiu as autorizações corretas ao autor da chamada.

Também pode ter escrito incorretamente o nome do contentor do Cloud Storage. Verifique se o contentor ao qual está a tentar aceder existe.

Argumentos inválidos

A resolução requer a execução de alguns passos, conforme descrito na mensagem de erro.

Versão da API não suportada

Quando é feito um pedido a uma versão da API que não suporta a operação.

message: "The requested operation is unsupported for the API version."

Tipo de processador não suportado

Quando é feito um pedido a um método de API que não suporta o tipo de processador fornecido.

message: "The requested operation is unsupported for the processor type: ${PROCESSOR_TYPE}."

Pedido errado

Quando é feito um pedido de API, mas os campos do pedido têm uma ou mais violações. Cada violação é captada como um field_violations nos google.rpc.BadRequest detalhes.

message: "Request contains an invalid argument."
details {
  [type.googleapis.com/google.rpc.BadRequest] {
    field_violations { field: "foo" description: "bar" }
  }
}

Falha ao processar todos os documentos em lote

Quando ocorre uma falha no processamento de todos os documentos num pedido de processamento em lote.

message: "Failed to process all documents."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "FAILED_TO_PROCESS_ALL_DOCUMENTS"
    domain: "documentai.googleapis.com"
  }
}

Não existem documentos

Quando são necessários ou esperados documentos, mas não é fornecido nenhum, como quando importa documentos através do URI do Cloud Storage.

message: "No valid documents found in ${training|test} directory. Ensure files are in a supported MIME type. For details, see https://cloud.google.com/document-ai/docs/file-types."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "NO_DOCUMENTS"
    domain: "documentai.googleapis.com"
  }
}

Os parâmetros gcsUriPrefix e gcsOutputConfig.gcsUri têm de começar por gs:// e terminar com um caráter de barra invertida (/). Verifique a configuração dos URI do contentor.

Exemplo: gs://bucket/directory/

O treino não é suportado

Quando é feito um pedido de versão do processador de treino num tipo de processador que não suporta o treino.

message: "Training is not supported on processor type: ${DOCUMENT_TYPE}_PROCESSOR."

Nenhum documento selecionado

Quando são esperados documentos, mas nenhum é selecionado no conjunto de dados, como quando cria tarefas de etiquetagem de dados.

message: No documents selected. Please select at least one document."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "NO_DOCUMENTS_SELECTED"
    domain: "documentai.googleapis.com"
  }
}

Tipo de documento não encontrado

Quando a classe de um documento (como uma licença, um passaporte ou uma fatura) não corresponde à classificação necessária para o tipo de processador. Um exemplo é quando o passo do classificador no analisador W2 não encontra elementos numa fatura.

Isto também pode aparecer como Couldn't preview the document: Unable to find a document of type: 'foo' na Google Cloud consola. Esta mensagem de erro aplica-se a processadores antigos.

message: "Unable to find a document of type: 'foo'"
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "DOCUMENT_OF_TYPE_NOT_FOUND"
    domain: "documentai.googleapis.com"
  }
}

O limite de tamanho do documento foi excedido

Quando o limite superior do tamanho do ficheiro de um documento é excedido durante a importação do conjunto de dados ou durante a execução da previsão.

message: "Document size (2) exceeds limit: 1 (bytes)."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "DOCUMENT_SIZE_LIMIT_EXCEEDED"
    domain: "documentai.googleapis.com"
    metadata { key: "limit" value: "1" }
    metadata { key: "size" value: "2" }
  }
}

Limite de documentos excedido

Quando o limite superior da contagem de documentos foi excedido.

message: "Document count exceed the limit: 5 got 6"
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "DOCUMENT_LIMIT_EXCEEDED"
    domain: "documentai.googleapis.com"
    metadata { key: "document_limit" value: "5" }
    metadata { key: "documents" value: "6" }
  }
}

Tipo MIME não suportado

Quando foi fornecido um tipo MIME não suportado. O sistema valida o formato do ficheiro (tipo MIME) quando importa um conjunto de dados ou faz uma chamada de previsão. Aceda a Ficheiros suportados (e para o analisador de esquemas) para ver os tipos de ficheiros disponíveis. Se o formato de ficheiro não for suportado, é apresentada a seguinte mensagem de erro:

message: "INVALID_ARGUMENT: Unsupported MIME type: 'foo'."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "UNSUPPORTED_MIME_TYPE"
    domain: "documentai.googleapis.com"
    metadata { key: "mime_type" value: "foo" }
  }
}

Nenhuma página

Quando foi facultado um documento sem páginas, mas são necessárias uma ou mais páginas.

message: "No pages were found in the document."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "NO_PAGES"
    domain: "documentai.googleapis.com"
  }
}

Número de página negativo

Quando um documento indica um valor negativo para um dos seus números de páginas.

message: "Page number cannot be negative."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "NEGATIVE_PAGE_NUMBER"
    domain: "documentai.googleapis.com"
  }
}

Números de páginas duplicados

Quando um documento indica o mesmo número de página uma ou mais vezes.

message: "Duplicate page number detected (page numbers to indices): [{1, [1, 2]}, {4, [4, 5]}]."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "DUPLICATE_PAGE_NUMBERS"
    domain: "documentai.googleapis.com"
    metadata {
      key: "page_number_to_indices"
      value: "[{1, [1, 2]}, {4, [4, 5]}]"
    }
  }
}

Limite de páginas excedido

Quando o limite superior do número total de páginas de um documento é excedido. Encontra este erro durante a importação ou a previsão do conjunto de dados quando um documento no conjunto de dados tem demasiadas páginas, excedendo os limites do processador.

message: "Document pages exceed the limit: 5 got 6"
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "PAGE_LIMIT_EXCEEDED"
    domain: "documentai.googleapis.com"
    metadata { key: "page_limit" value: "5" }
    metadata { key: "pages" value: "6" }
  }
}

Limite de páginas excedido no modo sem imagens

Encontra este erro durante a importação ou a previsão do conjunto de dados quando um documento no conjunto de dados tem demasiadas páginas, excedendo os limites do processador. Pode pedir que o seu projeto seja adicionado a uma lista de autorizações para ativar o modo sem imagens. Isto aumenta o limite de páginas para 30.

message: "Document pages in non-imageless mode exceed the limit: 15 got 16. Try using imageless mode to increase the limit to 30."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "PAGE_LIMIT_EXCEEDED_IN_IMAGELESS_MODE"
    domain: "documentai.googleapis.com"
    metadata { key: "page_limit" value: "15" }
    metadata { key: "pages" value: "16" }
    metadata { key: "imageless_page_limit" value: "30" }
  }
}

Alteração do estado da versão do processador pré-treinado

Quando foi emitido um pedido para alterar o estado de uma versão do processador pré-treinado. Encontra este erro quando tenta eliminar uma versão de processador pré-treinado.

message: "ProcessorVersion with id 'xyz' is pretrained by Google and cannot change states."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "PRETRAINED_PROCESSOR_VERSION_STATE_CHANGE"
    domain: "documentai.googleapis.com"
    metadata { key: "processor_id" value: "abc" }
    metadata { key: "target_state" value: "DELETING" }
    metadata { key: "version_id" value: "xyz" }
  }
}

Validação do conjunto de dados

Quando um conjunto de dados não cumpre os critérios de validação, por exemplo, devido a âncoras de páginas em falta, dados incorretos ou detalhes incompletos em alguns atributos do objeto proto do documento.

message: "Invalid dataset. See operation metadata for specific errors."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "INVALID_DATASET"
    domain: "documentai.googleapis.com"
  }
}

Documento não inline para revisão por humanos

Quando uma revisão humana foi iniciada para um documento que não foi definido inline.

message: "The document for review must be provided inline."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "HUMAN_REVIEW_NON_INLINED_DOCUMENT"
    domain: "documentai.googleapis.com"
  }
}

Tipo de documento inválido

Quando o tipo de documento é inválido ou não é suportado pelo processador. Um tipo de documento refere-se à categoria do documento (por exemplo, W2) e não o formato de ficheiro ou o tipo MIME, como PDF ou JPEG.

message: "Invalid document type: 'foo'."
details {
  [type.googleapis.com/google.rpc.ErrorInfo] {
    reason: "INVALID_DOCUMENT_TYPE"
    domain: "documentai.googleapis.com"
    metadata { key: "type"