במאמר הזה מוסבר מה עושה צינור ההזנה של Cloud Storage ואיך מפעילים אותו.
מה עושה צינור ההזנה של Cloud Storage?
המשתמשים יכולים להעביר מסמכים מ-Cloud Storage אל Document AI Warehouse. המשתמשים יכולים לבחור אם לעבד את הקבצים למשימות כמו חיפוש, תהליכי עבודה לניהול מסמכים או פשוט לבדוק את הפלט של Document AI.
למה כדאי להשתמש בצינור הזה?
אם צריך להטמיע הרבה מסמכים (עם או בלי עיבוד), צינור הנתונים הזה מספק תהליך עבודה אמין. הוא גם עוזר למשתמשים לקצר את הזמן להטמעה של לקוחות Document AI Warehouse לצורך הוכחת היתכנות או עומסי עבודה של ייצור.
תכונות של צינורות עיבוד נתונים
באופן כללי, צינור עיבוד הנתונים להעברה ל-Cloud Storage תומך בפעולות הבאות:
הטמעת מסמכים גולמיים ב-Document AI Warehouse.
{ 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" } }הטמעת מסמכים שעברו עיבוד ב-Document AI ב-Document AI Warehouse.
{ 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" } }חובה להשתמש ב-
processor_typeכדי לציין שקובצי הקלט עברו עיבוד על ידי Document AI. processor_type(OCR_PROCESSOR,INVOICE_PROCESSOR,FORM_PARSER_PROCESSOR) אפשר למצוא בשדה Type in API כאן.הטמעת מסמכים שעברו עיבוד ב-Document AI ומסמכי המקור התואמים באותה בקשה.
{ 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" } }המיקום
input_pathחייב להכיל מסמכים שעברו עיבוד ב-Document AI. הצינור מאתר מסמכים גולמיים תואמים לכל מסמך שעבר עיבוד ב-Doc AI בנתיב ה-URI הזה.הטמעת סוג אחד של מסמך גולמי והפעלת עיבוד באמצעות AI של Document AI בפייפליין.
{ 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" } }השדה
extract_processor_infosחייב להכיל רק מעבד חילוץ אחד. כל המסמכים בשדהinput_pathנחשבים לסוג מסמך אחד ומעובדים על ידי אותו מעבד חילוץ.הטמעה של סוגים שונים של מסמכים גולמיים והפעלת עיבוד באמצעות AI של Document AI בפייפליין.
{ 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" } }בשדה
split_classify_processor_infoהמסמכים מסווגים לפי סוג. השדהextract_processor_infos(שמועבר כמערך) צריך להכיל מעבדי חילוץ שונים שמתאימים לכל סוג מסמך מתוצאת הסיווג.
הגדרות הטמעה
צינור ההזנה של Cloud Storage תומך בהתאמות אישיות אופציונליות במהלך ההזנה של מסמכים, כפי שמתואר באפשרויות הבאות:
משתמשים בדגל
skip_ingested_documentsכדי לדלג על מסמכים שהועברו לעיבוד כשהצינור מופעל באותה תיקייה ב-Cloud Storage יותר מפעם אחת. אם מסמכים ב-Cloud Storage מכילים את המטא-נתוניםstatus=ingested, שהם תכונה למעקב אחר סטטוס של צינורות, המסמכים לא ייקלטו מחדש אם הדגל הזה מופעל.אפשר להשתמש בדגל
document_acl_policyכדי לספק מדיניות ACL נוספת ברמת המסמך במהלך יצירת המסמכים. הדגל הזה מיועד לפרויקטים שבהם מופעלות רשימות ACL ברמת המסמך ב-Document AI Warehouse.משתמשים בדגל
enable_document_text_extractionכדי ש-Document AI Warehouse יחלץ טקסט ממסמכים גולמיים אם המסמכים מכילים תוכן. הדגל הזה שונה מעיבוד באמצעות AI של Document AI, וחילוץ מסמכים תומך רק בסוגי הקבצים הבאים של מסמכים ב-Document AI Warehouse.RAW_DOCUMENT_FILE_TYPE_TEXTRAW_DOCUMENT_FILE_TYPE_DOCX
משתמשים בשדה
folderכדי לציין את תיקיית היעד למסמכים שהועלו. כל המסמכים שיועברו יקושרו לתיקיית ההורה שצוינה.אפשר להשתמש בשדה
cloud_functionכדי להתאים אישית עוד יותר את השדות בקובץ הפרוטו של המסמך לפני שהוא מועבר אל Document AI Warehouse. הערך שלcloud_functionחייב להיות כתובת URL תקינה שחשבון השירות של Document AI Warehouse יכול לגשת אליה. כל שיחה חייבת להסתיים תוך 5 דקות. הבקשות והתשובות הן בפורמט JSON. יכול להיות שתמצאו את המפתחות האלה במטען הייעודי (payload) של הבקשה:display_namepropertiesplain_textאוcloud_ai_document.textreference_iddocument_schema_nameraw_document_pathraw_document_file_type
המפתחות ממטען ייעודי (payload) של התגובה נקלטים ב-Document AI Warehouse כחלק מהפרוטו. הערך המקורי נמחק אם משנים מפתח או מוסיפים אותו לתגובה. מפתחות נוספים בתגובה נמחקים. אם הערך התואם לא תקין, הטמעת המסמך תיכשל.
display_namepropertiesplain_textאוcloud_ai_document.textreference_iddocument_acl_policyfolder
התאמה אישית של צינור עיבוד נתונים להעברה באמצעות
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" } } }
מעקב אחר סטטוס
במעקב הסטטוס אפשר לראות את התקדמות התוצאות של ההטמעה בצינור כולו ובכל מסמך.
כדי לבדוק אם הצינור הושלם, בודקים אם הפעולה ארוכת הטווח הסתיימה.
כדי לבדוק את הסטטוס של כל מסמך בצינור, אפשר לעיין במטא-נתונים של Cloud Storage. Cloud Storage יוצר את זוגות הערכים הבאים של מפתח-ערך בכל מסמך.
- מפתח:
status; ערך:status=queuedאוstatus=processedאוstatus=ingestedאוstatus=failed. - מקש:
error; ערך:the error message.
- מפתח:
סוגי המסמכים שאפשר להעלות
סוגי המסמכים הנתמכים בצינור הם אותם סוגים שנתמכים ב-Document AI Warehouse: טקסט, קובצי PDF, תמונות (קובצי PDF סרוקים, קובצי TIFF, קובצי JPEG), קובץ Microsoft Office (DOCX, PPTX, XSLX).
מאפייני מסמך ממטא-נתונים של Cloud Storage
אתם יכולים להשתמש במטא-נתונים של Cloud Storage בצינור כדי ליצור מאפיינים בהתאמה אישית ב-Document AI Warehouse. ערך מטא-נתונים של מסמך Cloud Storage יועתק באופן אוטומטי למאפיין המסמך התואם ב-Document AI Warehouse אם המפתח שלו תואם לשם מאפיין בסכימה.
הרצת צינור עיבוד הנתונים
הפרמטרים השונים נדרשים כדי להפעיל פונקציות שונות בצינור ההעברה של Cloud Storage. מידע נוסף זמין במאמר בנושא Method: projects.locations.runPipeline.
בחלק הבא מופיעות שתי דוגמאות להפעלת צינור ההזנה של Cloud Storage.
מריצים את צינור ההזנה של Cloud Storage בלי מעבדים של Document AI.
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 באמצעות מעבדים של Document AI.
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" } } }'
הפקודה הזו מחזירה שם משאב של פעולה ממושכת. בעזרת שם המשאב הזה, אפשר לעקוב אחרי התקדמות צינור הנתונים באמצעות השלב הבא.
קבלת תוצאה של פעולה ממושכת
REST
curl --location --request GET 'https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION' \
--header "Authorization: Bearer ${AUTH_TOKEN}"השלבים הבאים
כדי לבדוק מסמכים שהועלו, עוברים אל אפליקציית האינטרנט של Document AI Warehouse.