הפעלת תרגום באצווה באמצעות מחבר Cloud Translation

במדריך הזה נסביר איך ליצור תהליך עבודה שמשתמש במחבר Cloud Translation API כדי לתרגם קבצים לשפות אחרות במצב אצווה אסינכרוני. הפלט מתקבל בזמן אמת, במהלך העיבוד של הקלט.

מטרות

במדריך הזה תלמדו:

  1. יוצרים קטגוריית Cloud Storage לקלט.
  2. יוצרים שני קבצים באנגלית ומעלים אותם לקטגוריית הקלט.
  3. יוצרים תהליך עבודה שמשתמש במחבר Cloud Translation API כדי לתרגם את שני הקבצים לצרפתית ולספרדית, ושומר את התוצאות בקטגוריית פלט.
  4. פורסים ומריצים את תהליך העבודה כדי לתזמר את התהליך כולו.

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

לפני שמתחילים

יכול להיות שהגבלות אבטחה שהוגדרו בארגון שלכם ימנעו מכם להשלים את השלבים הבאים. מידע לפתרון בעיות זמין במאמר פיתוח אפליקציות בסביבה מוגבלת. Google Cloud

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. התקינו את ה-CLI של Google Cloud.

  3. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  4. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  5. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  6. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  7. מפעילים את ממשקי ה-API של Cloud Storage,‏ Translation ו-Workflows:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  8. התקינו את ה-CLI של Google Cloud.

  9. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  10. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  11. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  12. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  13. מפעילים את ממשקי ה-API של Cloud Storage,‏ Translation ו-Workflows:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  14. מעדכנים את הרכיבים של gcloud:
    gcloud components update
  15. נכנסים באמצעות החשבון:
    gcloud auth login
  16. מגדירים את מיקום ברירת המחדל שבו משתמשים במדריך הזה:
    gcloud config set workflows/location us-central1

    במדריך הזה נעשה שימוש במודל ברירת המחדל של AutoML Translation שנמצא במיקום us-central1, ולכן צריך להגדיר את המיקום ל-us-central1.

    אם משתמשים במודל או במילון מונחים של AutoML Translation שאינם ברירת המחדל, צריך לוודא שהם נמצאים באותו מיקום כמו הקריאה למחבר. אחרת, תוחזר שגיאה INVALID_ARGUMENT (400). פרטים נוספים זמינים במאמר בנושא השיטה batchTranslateText.

יצירת קטגוריה של Cloud Storage וקבצים לקלט

אפשר להשתמש ב-Cloud Storage כדי לאחסן אובייקטים. אובייקטים הם חלקים של נתונים שלא ניתנים לשינוי, שמורכבים מקובץ בכל סוג של פורמט, והם מאוחסנים במאגרי נתונים שנקראים באקטים.

  1. יוצרים קטגוריה של Cloud Storage לאחסון הקבצים לתרגום:

    BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files
    gcloud storage buckets create gs://${BUCKET_INPUT}
  2. יוצרים שני קבצים באנגלית ומעלים אותם לקטגוריית הקלט:

    echo "Hello World!" > file1.txt
    gcloud storage cp file1.txt gs://${BUCKET_INPUT}
    echo "Workflows connectors simplify calling services." > file2.txt
    gcloud storage cp file2.txt gs://${BUCKET_INPUT}

פריסה והפעלה של זרימת העבודה

תהליך עבודה מורכב מסדרה של שלבים שמתוארים באמצעות תחביר Workflows, שאפשר לכתוב בפורמט YAML או JSON. זו ההגדרה של תהליך העבודה. אחרי שיוצרים תהליך עבודה, פורסים אותו כדי שיהיה זמין להרצה.

  1. יוצרים קובץ טקסט עם שם הקובץ workflow.yaml והתוכן הבא:

    main:
      steps:
      - init:
          assign:
          - projectId: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
          - location: ${sys.get_env("GOOGLE_CLOUD_LOCATION")}
          - inputBucketName: ${projectId + "-input-files"}
          - outputBucketName: ${projectId + "-output-files-" + string(int(sys.now()))}
      - createOutputBucket:
            call: googleapis.storage.v1.buckets.insert
            args:
              project: ${projectId}
              body:
                name: ${outputBucketName}
      - batchTranslateText:
          call: googleapis.translate.v3beta1.projects.locations.batchTranslateText
          args:
              parent: ${"projects/" + projectId + "/locations/" + location}
              body:
                  inputConfigs:
                    gcsSource:
                      inputUri: ${"gs://" + inputBucketName + "/*"}
                  outputConfig:
                      gcsDestination:
                        outputUriPrefix: ${"gs://" + outputBucketName + "/"}
                  sourceLanguageCode: "en"
                  targetLanguageCodes: ["es", "fr"]
          result: batchTranslateTextResult

    תהליך העבודה מקצה משתנים, יוצר קטגוריית פלט ומתחיל את התרגום של הקבצים, ושומר את התוצאות בקטגוריית הפלט.

  2. אחרי שיוצרים את תהליך העבודה, פורסים אותו:

    gcloud workflows deploy batch-translation --source=workflow.yaml
  3. מריצים את תהליך העבודה:

    gcloud workflows execute batch-translation
  4. כדי לראות את סטטוס תהליך העבודה, אפשר להריץ את הפקודה שהוחזרה. לדוגמה:

    gcloud workflows executions describe eb4a6239-cffa-4672-81d8-d4caef7d8424 /
      --workflow batch-translation /
      --location us-central1

    תהליך העבודה צריך להיות ACTIVE. אחרי כמה דקות, הקבצים המתורגמים (בצרפתית ובספרדית) מועלים לדלי הפלט.

הצגת רשימת האובייקטים בקטגוריית הפלט

כדי לוודא שתהליך העבודה פעל כמצופה, אפשר להציג את רשימת האובייקטים בדלי הפלט.

  1. מאחזרים את שם קטגוריית הפלט:

    gcloud storage ls

    הפלט אמור להיראות כך:

    gs://PROJECT_ID-input-files/
    gs://PROJECT_ID-output-files-TIMESTAMP/

  2. הצגת רשימת האובייקטים בקטגוריית הפלט:

    gcloud storage ls gs://PROJECT_ID-output-files-TIMESTAMP/** --recursive

    אחרי כמה דקות, מוצגת רשימה של הקבצים המתורגמים, שניים מכל סוג בצרפתית ובספרדית,

הסרת המשאבים

אם יצרתם פרויקט חדש בשביל המדריך הזה, תמחקו את הפרויקט. אם השתמשתם בפרויקט קיים ואתם רוצים לשמור אותו בלי השינויים שנוספו במדריך הזה, תצטרכו למחוק את המשאבים שנוצרו לצורך המדריך.

מחיקת הפרויקט

הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך הזה.

כדי למחוק את הפרויקט:

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

מחיקת משאבי הדרכה

  1. מסירים את הגדרות ברירת המחדל של gcloud שהוספתם במהלך ההגדרה של המדריך:

    gcloud config unset workflows/location
  2. מחיקת תהליך העבודה שנוצר במדריך הזה:

    gcloud workflows delete WORKFLOW_NAME
  3. כדי למחוק קטגוריה ואת האובייקטים שנוצרו בה במדריך הזה:

    gcloud storage rm gs://BUCKET_NAME --recursive

    כאשר BUCKET_NAME הוא שם הקטגוריה שרוצים למחוק. לדוגמה, my-bucket.

    התגובה אמורה להיראות כך:

    Removing gs://my-bucket/...

המאמרים הבאים