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

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

מטרות

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

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

עלויות

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

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

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

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

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

  1. התקינו את ה-CLI של Google Cloud.

  2. הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.

    איך נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת?

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

    gcloud init
  4. יוצרים או בוחרים 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 .

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

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

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

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  7. מעדכנים את הרכיבים של gcloud:
    gcloud components update
  8. מתחברים באמצעות החשבון:
    gcloud auth login
  9. מגדירים את מיקום ברירת המחדל שבו משתמשים במדריך הזה:
    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/...

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