תבנית הטקסט ל-Datastore ב-Cloud Storage הוצאה משימוש והוסרה ברבעון השלישי של 2023. מומלץ לעבור במקום זאת לתבנית Cloud Storage Text to Firestore.
התבנית הזו היא צינור להעברת נתונים באצווה שקורא קובצי טקסט מ-Cloud Storage וכותב ישויות בקידוד JSON ל-Datastore. כל שורה בקובצי הטקסט של הקלט צריכה להיות בפורמט JSON שצוין.
הדרישות לגבי צינורות עיבוד נתונים
- צריך להפעיל את Datastore בפרויקט היעד.
פרמטרים של תבניות
פרמטרים נדרשים
- textReadPattern: תבנית של נתיב ב-Cloud Storage שמציינת את המיקום של קובצי הנתונים בפורמט טקסט. לדוגמה,
gs://mybucket/somepath/*.json. - datastoreWriteProjectId: המזהה של פרויקט בענן של Google שאליו ייכתבו ישויות Datastore.
- errorWritePath: קובץ הפלט של יומן השגיאות שמשמש לכשלים בכתיבה שמתרחשים במהלך העיבוד. לדוגמה,
gs://your-bucket/errors/.
פרמטרים אופציונליים
- javascriptTextTransformGcsPath: ה-URI של Cloud Storage של קובץ ה- .js שמגדיר את הפונקציה בהגדרת המשתמש (UDF) ב-JavaScript שבה רוצים להשתמש. לדוגמה,
gs://my-bucket/my-udfs/my_file.js. - javascriptTextTransformFunctionName: השם של פונקציית JavaScript בהגדרת המשתמש (UDF) שבה רוצים להשתמש. לדוגמה, אם קוד פונקציית ה-JavaScript הוא
myTransform(inJson) { /*...do stuff...*/ }, אז שם הפונקציה הואmyTransform. דוגמאות ל-UDF ב-JavaScript זמינות במאמר UDF Examples (https://github.com/GoogleCloudPlatform/DataflowTemplates#udf-examples). - datastoreHintNumWorkers: רמז למספר העובדים הצפוי בשלב של הגדלת קצב העברת הנתונים ב-Datastore. ברירת המחדל היא
500.
הרצת התבנית
המסוף
- עוברים לדף Create job from template (יצירת משימה מתבנית) ב-Dataflow. כניסה לדף Create job from template
- בשדה שם המשימה, מזינים שם ייחודי למשימה.
- אופציונלי: בשדה Regional endpoint (נקודת קצה אזורית), בוחרים ערך מהתפריט הנפתח. אזור ברירת המחדל הוא
us-central1.רשימה של אזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר מיקומי Dataflow.
- בתפריט הנפתח Dataflow template (תבנית Dataflow), בוחרים בתבנית Text Files on Cloud Storage to Datastore (קובצי טקסט ב-Cloud Storage ל-Datastore).
- בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
- לוחצים על הפעלת העבודה.
gcloud
במעטפת או בטרמינל, מריצים את התבנית:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Datastore \ --region REGION_NAME \ --parameters \ textReadPattern=PATH_TO_INPUT_TEXT_FILES,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ datastoreWriteProjectId=PROJECT_ID,\ errorWritePath=ERROR_FILE_WRITE_PATH
מחליפים את מה שכתוב בשדות הבאים:
-
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
VERSION: הגרסה של התבנית שרוצים להשתמש בהאפשר להשתמש בערכים הבאים:
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates/latest/- שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
-
REGION_NAME: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה:us-central1 -
PATH_TO_INPUT_TEXT_FILES: תבנית קובצי הקלט ב-Cloud Storage -
JAVASCRIPT_FUNCTION: השם של פונקציית JavaScript בהגדרת המשתמש (UDF) שרוצים להשתמש בהלדוגמה, אם קוד הפונקציה ב-JavaScript הוא
myTransform(inJson) { /*...do stuff...*/ }, אז שם הפונקציה הואmyTransform. דוגמאות ל-UDF ב-JavaScript זמינות במאמר UDF Examples. -
PATH_TO_JAVASCRIPT_UDF_FILE: ה-URI של Cloud Storage של קובץ.jsשמגדיר את פונקציית JavaScript בהגדרת המשתמש (UDF) שרוצים להשתמש בה – לדוגמה,gs://my-bucket/my-udfs/my_file.js -
ERROR_FILE_WRITE_PATH: הנתיב הרצוי לקובץ השגיאות ב-Cloud Storage
API
כדי להפעיל את התבנית באמצעות API בארכיטקטורת REST, שולחים בקשת HTTP POST. מידע נוסף על ה-API ועל היקפי ההרשאות שלו זמין במאמר projects.templates.launch.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Datastore { "jobName": "JOB_NAME", "parameters": { "textReadPattern": "PATH_TO_INPUT_TEXT_FILES", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "datastoreWriteProjectId": "PROJECT_ID", "errorWritePath": "ERROR_FILE_WRITE_PATH" }, "environment": { "zone": "us-central1-f" } }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים להריץ את משימת Google Cloud Dataflow -
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
VERSION: הגרסה של התבנית שרוצים להשתמש בהאפשר להשתמש בערכים הבאים:
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates/latest/- שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
-
LOCATION: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה:us-central1 -
PATH_TO_INPUT_TEXT_FILES: תבנית קובצי הקלט ב-Cloud Storage -
JAVASCRIPT_FUNCTION: השם של פונקציית JavaScript בהגדרת המשתמש (UDF) שרוצים להשתמש בהלדוגמה, אם קוד הפונקציה ב-JavaScript הוא
myTransform(inJson) { /*...do stuff...*/ }, אז שם הפונקציה הואmyTransform. דוגמאות ל-UDF ב-JavaScript זמינות במאמר UDF Examples. -
PATH_TO_JAVASCRIPT_UDF_FILE: ה-URI של Cloud Storage של קובץ.jsשמגדיר את פונקציית JavaScript בהגדרת המשתמש (UDF) שרוצים להשתמש בה – לדוגמה,gs://my-bucket/my-udfs/my_file.js -
ERROR_FILE_WRITE_PATH: הנתיב הרצוי לקובץ השגיאות ב-Cloud Storage
המאמרים הבאים
- מידע נוסף על תבניות Dataflow
- כאן אפשר לעיין ברשימת התבניות ש-Google סיפקה.