Fehlermeldungen

Hier erfahren Sie, wie Sie einige durch Document AI verursachte Fehler beheben können. In diesem Thema werden Fehler beschrieben, deren Lösung mehr Schritte erfordert, als in einer Fehlermeldung beschrieben werden können.

Empfohlene Vorgehensweisen für die Fehlerbehandlung finden Sie in der Cloud API-Dokumentation.

Berechtigungen

Zur Behebung des Problems sind einige Schritte erforderlich, wie in der Fehlermeldung beschrieben.

Standardanmeldedaten für Anwendungen sind nicht verfügbar

Sie erhalten diese Meldung:

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.

Document AI verwendet für die Authentifizierung die Standardanmeldedaten für Anwendungen.

Sie müssen ein Dienstkonto für Ihr Projekt haben, den Schlüssel (die JSON-Datei) für das Dienstkonto in die Entwicklungsumgebung herunterladen und dann als Speicherort dieser JSON-Datei eine Umgebungsvariable mit dem Namen GOOGLE_APPLICATION_CREDENTIALS festlegen.

Darüber hinaus muss die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS in dem Kontext verfügbar sein, in dem Sie die Document AI API aufrufen. Wenn Sie beispielsweise die Variable in einer Terminalsitzung festlegen, Ihren Code jedoch im Debugger Ihrer IDE ausführen, hat der Ausführungskontext Ihres Codes möglicherweise keinen Zugriff auf die Variable. In diesem Fall kann Ihre Anfrage an Document AI fehlschlagen, weil keine ordnungsgemäße Authentifizierung erfolgt.

In der Kurzanleitung zu Document AI und in der Dokumentation zur Verwendung der Standardanmeldedaten für Anwendungen finden Sie weitere Informationen dazu, wie Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS festlegen.

Berechtigung verweigert

Sie erhalten diese Meldung:

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"
  }
}

Bestätigen Sie, dass Sie eine gültige Dienstkonto-JSON-Datei an dem in der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS gespeicherten Ort haben und dass die Variable auf den richtigen Ort verweist.

Zur Diagnose dieses Fehlers öffnen Sie die Dienstkontoschlüsseldatei in dem Ordner, aus dem Sie die Document AI API aufrufen möchten.

cat $GOOGLE_APPLICATION_CREDENTIALS

Unzulässig: 403 POST API wurde nicht verwendet oder wurde deaktiviert

Wenn Sie die Meldung erhalten:

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. Rufen Sie den in der Fehlermeldung angegebenen Link auf und aktivieren Sie die Document AI API. Warten Sie einige Minuten und versuchen Sie es dann noch einmal.
  2. Prüfen Sie, ob Sie eine gültige JSON-Datei für den Dienstkontoschlüssel in der Umgebungsvariablen GOOGLE_APPLICATION_CREDENTIALS gespeichert haben. Zur Diagnose dieses Fehlers öffnen Sie die Dienstkontoschlüsseldatei in dem Ordner, aus dem Sie die Document AI API aufrufen möchten.
    cat $GOOGLE_APPLICATION_CREDENTIALS
    

Fehler beim Schreiben der endgültigen Ausgabe

Wenn Sie beim Empfangen der Ergebnisse einer Batchprozessanfrage eine Nachricht wie die folgende erhalten:

{
  "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"
  }
}

Ihr Dienstkonto hat möglicherweise nicht die erforderlichen Berechtigungen zum Erstellen von Objekten in Ihrem Cloud Storage-Bucket. Achten Sie darauf, dass Sie Ihrem Dienstkonto die richtigen Berechtigungen zugewiesen haben, wie in der Kurzanleitung beschrieben.

Möglicherweise haben Sie den Namen Ihres Cloud Storage-Buckets auch falsch geschrieben. Prüfen Sie, ob der Bucket, auf den Sie zugreifen möchten, vorhanden ist.

P4SA hat keinen Zugriff auf Cloud Storage

Wenn das produktbezogene Document AI-Dienstkonto (P4SA) keine Berechtigung für den Zugriff auf einige Cloud Storage-Ressourcen hat.

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

Dienstkonto kann kein Objekt in Cloud Storage erstellen

Wenn das produktbezogene Document AI-Dienstkonto (P4SA) keine Berechtigung zum Erstellen von Objekten in Cloud Storage hat.

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."

Das Document AI-Dienstkonto hat möglicherweise nicht die richtigen Berechtigungen zum Erstellen von Objekten in Ihrem Cloud Storage-Bucket. Achten Sie darauf, dass Sie dem Document AI-Dienstkonto die richtigen Berechtigungen zugewiesen haben, wie in der Einrichtung des projektübergreifenden Dateizugriffs beschrieben.

Möglicherweise haben Sie den Namen Ihres Cloud Storage-Buckets auch falsch geschrieben. Prüfen Sie, ob der Bucket, auf den Sie zugreifen möchten, vorhanden ist.

Aufrufer kann keine Objekte in Cloud Storage abrufen

Wenn der Aufrufer der Document AI API keine Berechtigung zum Abrufen von Objekten in Cloud Storage hat.

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

Der Aufrufer der API hat möglicherweise nicht die richtigen Berechtigungen, um Objekte in Ihrem Cloud Storage-Bucket abzurufen. Achten Sie darauf, dass dem Anrufer die richtigen Berechtigungen zugewiesen wurden.

Möglicherweise haben Sie den Namen Ihres Cloud Storage-Buckets auch falsch geschrieben. Prüfen Sie, ob der Bucket, auf den Sie zugreifen möchten, vorhanden ist.

Ungültige Argumente

Zur Behebung des Problems sind einige Schritte erforderlich, wie in der Fehlermeldung beschrieben.

API-Version wird nicht unterstützt

Wenn eine Anfrage an eine API-Version gesendet wird, die den Vorgang nicht unterstützt.

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

Prozessortyp wird nicht unterstützt

Wenn eine Anfrage an eine API-Methode gesendet wird, die den angegebenen Prozessortyp nicht unterstützt.

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

Bad Request (Fehlerhafte Anfrage)

Wenn eine API-Anfrage gestellt wird, die Anfragefelder jedoch einen oder mehrere Verstöße enthalten. Jeder Verstoß wird als field_violations in den google.rpc.BadRequest-Details erfasst.

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

Batchverarbeitung aller Dokumente fehlgeschlagen

Wenn die Verarbeitung aller Dokumente in einer Batchverarbeitungsanfrage fehlschlägt.

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

Keine Dokumente

Wenn Dokumente erforderlich oder erwartet werden, aber keine angegeben werden, z. B. beim Importieren von Dokumenten über den Cloud Storage-URI.

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"
  }
}

Die Parameter gcsUriPrefix und gcsOutputConfig.gcsUri müssen mit gs:// beginnen und mit einem nachgestellten Backslash-Zeichen (/) enden. Prüfen Sie die Konfiguration für die Bucket-URIs.

Beispiel: gs://bucket/directory/

Training wird nicht unterstützt

Wenn eine Anfrage für die Verarbeitung einer Train-Prozessorversion für einen Prozessortyp gestellt wird, der kein Training unterstützt.

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

Keine Dokumente ausgewählt

Wenn Dokumente erwartet werden, aber keine im Dataset ausgewählt sind, z. B. beim Erstellen von Aufgaben zur Labelerstellung für Daten.

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"
  }
}

Dokumenttyp nicht gefunden

Wenn die Klasse eines Dokuments (z. B. Lizenz, Reisepass oder Rechnung) nicht der für den Prozessortyp erforderlichen Klassifizierung entspricht. Ein Beispiel ist, wenn im Klassifizierungsschritt des W2-Parsers keine Elemente aus einer Rechnung gefunden werden.

In der Google Cloud Console wird dies möglicherweise auch als Couldn't preview the document: Unable to find a document of type: 'foo' angezeigt. Diese Fehlermeldung gilt für Legacy-Prozessoren.

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"
  }
}

Größenbeschränkung für Dokument überschritten

Wenn beim Importieren eines Datasets oder beim Ausführen einer Vorhersage die Obergrenze für die Dateigröße eines Dokuments überschritten wurde.

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" }
  }
}

Dokumentlimit überschritten

Wenn die Obergrenze für die Anzahl der Dokumente überschritten wurde.

message: "Document count exceed the limit: 5 got 6"
details {
  [