In diesem Dokument wird beschrieben, was die Cloud Storage-Aufnahmepipeline macht und wie Sie sie ausführen.
Was macht die Cloud Storage-Aufnahmepipeline?
Ihre Nutzer können Dokumente aus Cloud Storage in Document AI Warehouse übertragen. Dort können Nutzer festlegen, dass sie für Aufgaben wie die Suche, Dokumentverwaltungs-Workflows oder einfach nur zum Testen von Document AI-Ausgaben verarbeitet werden.
Warum sollte diese Pipeline verwendet werden?
Wenn viele Dokumente aufgenommen werden müssen (mit oder ohne Verarbeitung), bietet diese Pipeline einen zuverlässigen Workflow. Außerdem können Nutzer so die Onboarding-Zeit für Document AI Warehouse-Kunden für Proof-of-Concepts oder Produktionsarbeitslasten verkürzen.
Pipelinefunktionen
Im Allgemeinen unterstützt die Cloud Storage-Aufnahmepipeline die folgenden Aktionen:
Rohdokumente in Document AI Warehouse aufnehmen.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" } }In Document AI verarbeitete Dokumente in Document AI Warehouse aufnehmen.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", processor_type: "PROCESS_TYPE" } }Die
processor_typeist erforderlich, um anzugeben, dass die Eingabedateien von Document AI verarbeitet wurden.processor_type(OCR_PROCESSOR,INVOICE_PROCESSOR,FORM_PARSER_PROCESSOR) finden Sie hier im Feld Type in API.Nehmen Sie mit derselben Anfrage Dokumente auf, die mit Document AI verarbeitet wurden, und die entsprechenden Rohdokumente.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", processor_type: "PROCESS_TYPE" } }Der Speicherort
input_pathmuss von Document AI verarbeitete Dokumente enthalten. Die Pipeline sucht unter diesem URI-Pfad nach entsprechenden Rohdokumenten für jedes mit Doc AI verarbeitete Dokument.Einen Typ von Rohdokument aufnehmen und die Document AI-Verarbeitung in der Pipeline auslösen.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_with_doc_ai_processors_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", extract_processor_infos: { processor_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" }, processor_results_folder_path: "gs://OUTPUT_BUCKET_NAME/OUTPUT_BUCKET_FOLDER_NAME" } }Das Feld
extract_processor_infosdarf nur einen Extraktionsprozessor enthalten. Alle Dokumente im Feldinput_pathgelten als ein Dokumenttyp und werden vom selben Extraktionsprozessor verarbeitet.Mehrere Arten von Rohdokumenten aufnehmen und die Document AI-Verarbeitung in der Pipeline auslösen.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_with_doc_ai_processors_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", split_classify_processor_info: { processor_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID" }, extract_processor_infos: [ { processor_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID", document_type: "DOCUMENT_TYPE", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" } ], processor_results_folder_path: "gs://OUTPUT_BUCKET_NAME/OUTPUT_BUCKET_FOLDER_NAME" } }Das Feld
split_classify_processor_infoklassifiziert Dokumente nach Typ. Das Feldextract_processor_infos(als Array übergeben) muss verschiedene Extraktprozessoren für jeden Dokumenttyp aus dem Klassifizierungsergebnis enthalten.
Konfiguration der Aufnahme
Die Cloud Storage-Aufnahmepipeline unterstützt optionale Anpassungen bei der Dokumentaufnahme, wie in den folgenden Optionen beschrieben:
Verwenden Sie das Flag
skip_ingested_documents, um aufgenommene Dokumente zu überspringen, wenn die Pipeline mehrmals für denselben Cloud Storage-Ordner ausgelöst wird. Wenn Dokumente in Cloud Storage die Metadatenstatus=ingestedenthalten, die eine Funktion zur Statusverfolgung der Pipeline sind, werden die Dokumente nicht noch einmal aufgenommen, wenn dieses Flag aktiviert ist.Verwenden Sie das Flag
document_acl_policy, um beim Erstellen von Dokumenten eine zusätzliche ACL-Richtlinie auf Dokumentebene anzugeben. Dieses Flag ist für Projekte vorgesehen, in denen ACLs auf Dokumentebene in Document AI Warehouse aktiviert sind.Verwenden Sie das Flag
enable_document_text_extraction, damit Document AI Warehouse Text aus Rohdokumenten extrahiert, wenn die Dokumente Inhalte enthalten. Dieses Flag unterscheidet sich von der Document AI-Verarbeitung. Die Dokumentextraktion unterstützt nur die folgenden Dokumentdateitypen in Document AI Warehouse.RAW_DOCUMENT_FILE_TYPE_TEXTRAW_DOCUMENT_FILE_TYPE_DOCX
Verwenden Sie das Feld
folder, um den Zielordner für die aufgenommenen Dokumente anzugeben. Alle aufgenommenen Dokumente werden unter dem angegebenen übergeordneten Ordner verknüpft.Verwenden Sie das Feld
cloud_function, um Felder in der Dokument-Proto-Datei weiter anzupassen, bevor sie an Document AI Warehouse gesendet wird. Der Wertcloud_functionmuss eine gültige URL sein, auf die das Document AI Warehouse-Dienstkonto zugreifen kann. Jeder Anruf muss innerhalb von 5 Minuten beendet werden. Anfragen und Antworten sind im JSON-Format. Möglicherweise finden Sie diese Schlüssel in der Anfrage-Payload:display_namepropertiesplain_textodercloud_ai_document.textreference_iddocument_schema_nameraw_document_pathraw_document_file_type
Die Schlüssel aus der Antwortnutzlast werden als Teil des Protokolls in Document AI Warehouse aufgenommen. Der ursprüngliche Wert wird überschrieben, wenn ein Schlüssel geändert oder der Antwort hinzugefügt wird. Zusätzliche Schlüssel in der Antwort werden verworfen. Wenn der entsprechende Wert ungültig ist, schlägt die Dokumentaufnahme fehl.
display_namepropertiesplain_textodercloud_ai_document.textreference_iddocument_acl_policyfolder
Anpassen der Ingest-Pipeline mit
pipeline_config{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", skip_ingested_documents: "true", pipeline_config: { enable_document_text_extraction: "true" folder: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documents/FOLDER_DOCUMENT_ID", cloud_function: "https://REGION-PROJECT_ID.cloudfunctions.net/CLOUD_FUNCTION_NAME" } } }
Status-Tracking
Mit der Statusverfolgung können Sie den Fortschritt der Aufnahmeergebnisse für die gesamte Pipeline und für jedes Dokument sehen.
Sie können prüfen, ob die Pipeline abgeschlossen ist, indem Sie prüfen, ob der LRO abgeschlossen ist.
Sie können den Status jedes Dokuments in der Pipeline prüfen, indem Sie die Cloud Storage-Metadaten aufrufen. Cloud Storage erstellt die folgenden Schlüssel/Wert-Paare für jedes Dokument.
- Schlüssel:
status; Wert:status=queuedoderstatus=processedoderstatus=ingestedoderstatus=failed. - Schlüssel:
error; Wert:the error message.
- Schlüssel:
Unterstützte Dokumenttypen
Die unterstützten Dokumenttypen in der Pipeline sind dieselben wie die von Document AI Warehouse unterstützten Dokumenttypen: Text, PDFs, Bilder (gescannte PDFs, TIFF-Dateien, JPEG-Dateien), Microsoft Office-Dateien (DOCX, PPTX, XLSX).
Dokumentattribute aus Cloud Storage-Metadaten
Sie können die Cloud Storage-Metadaten in der Pipeline verwenden, um benutzerdefinierte Eigenschaften in Document AI Warehouse zu erstellen. Ein Metadatenwert des Cloud Storage-Dokuments wird automatisch in die entsprechende Document AI Warehouse-Dokumenteigenschaft kopiert, wenn der Schlüssel mit einem Eigenschaftsnamen im Schema übereinstimmt.
Pipeline ausführen
Die verschiedenen Parameter sind erforderlich, um unterschiedliche Funktionen in der Cloud Storage-Aufnahmepipeline auszulösen. Weitere Informationen finden Sie unter Methode: projects.locations.runPipeline.
Im Folgenden finden Sie zwei Beispiele zum Auslösen der Cloud Storage-Aufnahmepipeline.
Führen Sie die Cloud Storage-Aufnahmepipeline ohne Document AI-Prozessoren aus.
REST
curl --location --request POST 'https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID:runPipeline' \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer ${AUTH_TOKEN}" \ --data '{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID", "gcs_ingest_pipeline": { "input_path": "gs://BUCKET_NAME/FOLDER_NAME/", "schema_name": "projects/PROJECT_NUMBER/locations/ LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", "skip_ingested_documents": "true" }, "request_metadata": { "user_info": { "id": "user:USER EMAIL ADDRESS" } } }'Cloud Storage-Aufnahmepipeline mit Document AI-Prozessoren ausführen
REST
curl --location --request POST 'https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID:runPipeline' \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer ${AUTH_TOKEN}" \ --data '{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID", "gcs_ingest_with_doc_ai_processors_pipeline": { "input_path": "gs://BUCKET_NAME/FOLDER_NAME/", "split_classify_processor_info": { "processor_name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID" }, "extract_processor_infos": [ { "processor_name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID", "document_type": "DOCUMENT_TYPE", "schema_name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" } ], "processor_results_folder_path": "gs://OUTPUT_BUCKET_NAME/OUTPUT_BUCKET_FOLDER_NAME/" "skip_ingested_documents": "true" }, "request_metadata": { "user_info": { "id": "user:USER EMAIL ADDRESS" } } }'
Dieser Befehl gibt einen Ressourcennamen für einen Vorgang mit langer Ausführungszeit zurück. Mit diesem Ressourcennamen können Sie den Fortschritt der Pipeline im nächsten Schritt verfolgen.
Ergebnis eines Vorgangs mit langer Ausführungszeit abrufen
REST
curl --location --request GET 'https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION' \
--header "Authorization: Bearer ${AUTH_TOKEN}"Nächste Schritte
Wenn Sie die aufgenommenen Dokumente prüfen möchten, rufen Sie die Webanwendung von Document AI Warehouse auf.