Vorgänge mit langer Ausführungszeit werden von Methodenaufrufen für die Batchverarbeitung zurückgegeben, da sie länger dauern, als es für eine API-Antwort angemessen ist. Dadurch wird der aufrufende Thread nicht offen gehalten, während viele Dokumente verarbeitet werden. Die Document AI API erstellt jedes Mal einen LRO, wenn Sie projects.locations.processors.batchProcess über die API oder Clientbibliotheken aufrufen. Der LRO verfolgt den Status des Verarbeitungsjobs.
Mit den Vorgangsmethoden, die von der Document AI API bereitgestellt werden, können Sie den Status von LROs prüfen. Sie können LROs auch auflisten, abfragen oder abbrechen. Clientbibliotheken rufen die asynchrone Methode „poll“ intern auf, wodurch der Callback aktiviert wird. (Für Python ist await aktiviert.) Sie verfügen auch über einen Zeitlimitparameter. Innerhalb des von .batchProcess zurückgegebenen Haupt-LRO wird für jedes Dokument ein LRO erstellt, da die Limits für die Seitenanzahl bei Batches viel höher sind als beim synchronen process-Aufruf und die Verarbeitung sehr lange dauern kann. Wenn der Haupt-LRO beendet ist, wird der detaillierte Status jedes Dokument-LROs bereitgestellt.
LROs werden auf der Google Cloud Projekt- und Standortebene verwaltet. Geben Sie bei einer Anfrage an die API das Projekt Google Cloud und den Standort an, an dem der LRO ausgeführt wird.
Der Datensatz eines LRO wird für etwa 30 Tage gespeichert, nachdem der LRO abgeschlossen wurde. Dies bedeutet, dass Sie nach diesem Zeitpunkt den LRO nicht mehr aufrufen oder auflisten können.
Details zu einem Vorgang mit langer Ausführungszeit abrufen
Die folgenden Beispiele zeigen, wie Sie Details zu einem LRO erhalten.
REST
Den Status und Details von einem LRO können Sie mit der Methode projects.locations.operations.get abrufen.
Angenommen, Sie erhalten nach dem Aufruf von projects.locations.processors.batchProcess die folgende Antwort:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID"
}
Der Wert name in der Antwort zeigt, dass die Document AI API einen Vorgang mit langer Ausführungszeit namens projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID erstellt hat.
Sie können den Namen des Vorgangs mit langer Ausführungszeit auch abrufen, indem Sie Vorgänge mit langer Ausführungszeit auflisten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud Projekt-ID
- LOCATION: der Standort, an dem der LRO ausgeführt wird, z. B.:
us– USAeu– Europäische Union
- OPERATION_ID: Die ID des Vorgangs. Die ID ist das letzte Element des Vorgangsnamens. Beispiel:
- Name des Vorgangs:
projects/PROJECT_ID/locations/LOCATION/operations/bc4e1d412863e626 - Vorgangs-ID:
bc4e1d412863e626
- Name des Vorgangs:
HTTP-Methode und URL:
GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessMetadata",
"state": "SUCCEEDED",
"stateMessage": "Processed 1 document(s) successfully",
"createTime": "TIMESTAMP",
"updateTime": "TIMESTAMP",
"individualProcessStatuses": [
{
"inputGcsSource": "INPUT_BUCKET_FOLDER/DOCUMENT1.ext",
"status": {},
"outputGcsDestination": "OUTPUT_BUCKET_FOLDER/OPERATION_ID/0",
"humanReviewStatus": {
"state": "ERROR",
"stateMessage": "Sharded document protos are not supported for human review."
}
}
]
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessResponse"
}
}
Go
Weitere Informationen finden Sie in der Document AI-Referenzdokumentation zur Go API.
Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Document AI-Referenzdokumentation zur Python API.
Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Vorgänge mit langer Ausführungszeit auflisten
Die folgenden Beispiele zeigen, wie Sie die Vorgänge mit langer Ausführungszeit in einem Projekt und an einem Standort von Google Cloud auflisten.
REST
Rufen Sie die Methode projects.locations.operations.list auf, um die LROs in einem Projekt und an einem Standort von Google Cloud aufzulisten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud Projekt-ID
- LOCATION: Der Standort, an dem ein oder mehrere LROs ausgeführt werden, z. B.:
us– USAeu– Europäische Union
- FILTER: (Erforderlich) Abfrage für zurückzugebende LROs. Optionen:
- TYPE: (Erforderlich) Aufzulistender LRO-Typ. Optionen:
BATCH_PROCESS_DOCUMENTSCREATE_PROCESSOR_VERSIONDELETE_PROCESSORENABLE_PROCESSORDISABLE_PROCESSORUPDATE_HUMAN_REVIEW_CONFIGHUMAN_REVIEW_EVENTCREATE_LABELER_POOLUPDATE_LABELER_POOLDELETE_LABELER_POOLDEPLOY_PROCESSOR_VERSIONUNDEPLOY_PROCESSOR_VERSIONDELETE_PROCESSOR_VERSIONSET_DEFAULT_PROCESSOR_VERSIONEVALUATE_PROCESSOR_VERSIONEXPORT_PROCESSOR_VERSIONUPDATE_DATASETIMPORT_DOCUMENTSANALYZE_HITL_DATABATCH_MOVE_DOCUMENTSRESYNC_DATASETBATCH_DELETE_DOCUMENTSDELETE_DATA_LABELING_JOBEXPORT_DOCUMENTS
HTTP-Methode und URL:
GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations?filter=TYPE=TYPE
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations?filter=TYPE=TYPE"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations?filter=TYPE=TYPE" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"operations": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessMetadata",
"state": "SUCCEEDED",
"stateMessage": "Processed 1 document(s) successfully",
"createTime": "TIMESTAMP",
"updateTime": "TIMESTAMP",
"individualProcessStatuses": [
{
"inputGcsSource": "INPUT_BUCKET_FOLDER/DOCUMENT1.ext",
"status": {},
"outputGcsDestination": "OUTPUT_BUCKET_FOLDER/OPERATION_ID/0",
"humanReviewStatus": {
"state": "ERROR",
"stateMessage": "Sharded document protos are not supported for human review."
}
}
]
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessResponse"
}
},
...
]
}
Go
Weitere Informationen finden Sie in der Document AI-Referenzdokumentation zur Go API.
Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Document AI-Referenzdokumentation zur Python API.
Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Vorgang mit langer Ausführungszeit abfragen
Die folgenden Beispiele zeigen, wie der Status eines LRO abgefragt wird.
REST
Wenn Sie einen LRO abfragen möchten, rufen Sie die Methode projects.locations.operations.get wiederholt auf, bis der Vorgang abgeschlossen ist. Verwenden Sie zwischen den einzelnen Abrufanfragen einen Backoff, z. B. 10 Sekunden.
Bevor Sie die unten aufgeführten Daten für eine Anfrage verwenden, nehmen Sie folgende Ersetzungen vor:
- PROJECT_ID: Ihre Projekt-ID in Google Cloud
- LOCATION: der Ort, an dem der LRO ausgeführt wird
- OPERATION_ID: die ID für den LRO
HTTP-Methode und URL:
GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie den folgenden Befehl aus, um alle 10 Sekunden den Status eines LRO abzufragen:
while true; \ do curl -X GET \ -H "Authorization: Bearer "$(gcloud auth print-access-token) \ "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"; \ sleep 10; \ done
Sie sollten alle 10 Sekunden eine JSON-Antwort erhalten.
Während der Vorgang ausgeführt wird, enthält die Antwort "state": "RUNNING".
Wenn der Vorgang abgeschlossen ist, enthält die Antwort "state": "SUCCEEDED" und "done": true.
PowerShell
Führen Sie den folgenden Befehl aus, um alle 10 Sekunden den Status eines LRO abzufragen:
$cred = gcloud auth print-access-token $headers = @{ Authorization = "Bearer $cred" } Do { Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content sleep 10 } while ($true)
Sie sollten alle 10 Sekunden eine JSON-Antwort erhalten.
Während der Vorgang ausgeführt wird, enthält die Antwort "state": "RUNNING".
Wenn der Vorgang abgeschlossen ist, enthält die Antwort "state": "SUCCEEDED" und "done": true.
Python
Weitere Informationen finden Sie in der Document AI-Referenzdokumentation zur Python API.
Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Vorgang mit langer Ausführungszeit abbrechen
Die folgenden Beispiele zeigen, wie ein LRO während der Ausführung abgebrochen wird.
REST
Rufen Sie zum Abbrechen eines LRO die Methode projects.locations.operations.cancel auf.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud Projekt-ID
- LOCATION: Der Standort, an dem der LRO ausgeführt wird, z. B.:
us– USAeu– Europäische Union
- OPERATION_ID: Die ID des Vorgangs. Die ID ist das letzte Element des Vorgangsnamens. Beispiel:
- Name des Vorgangs:
projects/PROJECT_ID/locations/LOCATION/operations/bc4e1d412863e626 - Vorgangs-ID:
bc4e1d412863e626
- Name des Vorgangs:
HTTP-Methode und URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{}
"error": { "code": 400, "message": "Operation has completed and cannot be cancelled: 'PROJECT_ID/locations/LOCATION/operations/OPERATION_ID'.", "status": "FAILED_PRECONDITION" }
Go
Weitere Informationen finden Sie in der Document AI-Referenzdokumentation zur Go API.
Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Document AI-Referenzdokumentation zur Python API.
Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.