Batchübersetzung mit dem Cloud Translation-Connector ausführen

In dieser Anleitung erfahren Sie, wie Sie einen Workflow erstellen, der den Cloud Translation API-Connector verwendet, um Dateien im asynchronen Batchmodus in andere Sprachen zu übersetzen. Dabei wird die Ausgabe in Echtzeit bereitgestellt, während die Eingaben verarbeitet werden.

Ziele

In dieser Anleitung werden Sie:

  1. Einen Cloud Storage-Bucket für die Eingabe erstellen.
  2. Zwei Dateien auf Englisch erstellen und in den Eingabe-Bucket hochladen.
  3. Einen Workflow erstellen, der den Cloud Translation API-Connector verwendet, um die beiden Dateien ins Französische und Spanische zu übersetzen und die Ergebnisse in einem Ausgabe-Bucket zu speichern.
  4. Stellen Sie den Workflow zur Orchestrierung des gesamten Prozesses bereit und führen Sie ihn aus.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Verwenden Sie den Preisrechner.

Neuen Nutzern von Google Cloud steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweis

Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud Umgebung entwickeln.

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Nutzer sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren Sie die Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  4. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  5. Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt Google Cloud aus.

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die resourcemanager.projects.create Berechtigung enthält. Rollen zuweisen.
    • Erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch Ihren Google Cloud Projektnamen.

  6. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  7. Aktivieren Sie die Cloud Storage API, die Translation API und die Workflows API:

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Rollen zuweisen.

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  8. Installieren Sie die Google Cloud CLI.

  9. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  10. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  11. Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt Google Cloud aus.

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die resourcemanager.projects.create Berechtigung enthält. Rollen zuweisen.
    • Erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch Ihren Google Cloud Projektnamen.

  12. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  13. Aktivieren Sie die Cloud Storage API, die Translation API und die Workflows API:

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Rollen zuweisen.

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  14. Aktualisieren Sie die gcloud-Komponenten:
    gcloud components update
  15. Melden Sie sich mit Ihrem Konto an:
    gcloud auth login
  16. Legen Sie den standardmäßigen Standort fest, der in dieser Anleitung verwendet wird:
    gcloud config set workflows/location us-central1

    Da in dieser Anleitung das Standardmodell von AutoML Translation verwendet wird, das sich in us-central1 befindet, müssen Sie den Standort auf us-central1 festlegen.

    Wenn Sie ein anderes AutoML Translation-Modell oder Glossar als das Standardmodell verwenden, muss es sich am selben Standort wie der Aufruf des Connectors befinden. Andernfalls wird ein INVALID_ARGUMENT (400) Fehler zurückgegeben. Weitere Informationen finden Sie unter der Methode batchTranslateText.

Cloud Storage-Bucket und Dateien für die Eingabe erstellen

Sie können Cloud Storage zum Speichern von Objekten verwenden. Objekte sind unveränderliche Datenelemente, die aus einer Datei mit einem beliebigen Format bestehen und in Containern, sogenannten Buckets, gespeichert werden.

  1. Erstellen Sie einen Cloud Storage-Bucket für die zu übersetzenden Dateien:

    BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files
    gcloud storage buckets create gs://${BUCKET_INPUT}
  2. Erstellen Sie zwei Dateien auf Englisch und laden Sie sie in den Eingabe-Bucket hoch:

    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}

Workflow bereitstellen und ausführen

Ein Workflow besteht aus einer Reihe von Schritten, die mit der Workflows-Syntax beschrieben werden. Diese kann entweder im YAML- oder JSON-Format geschrieben werden. Dies ist die Definition des Workflows. Nachdem Sie einen Workflow erstellt haben, stellen Sie ihn bereit, um ihn für die Ausführung verfügbar zu machen.

  1. Erstellen Sie eine Textdatei mit dem Dateinamen workflow.yaml und folgendem Inhalt:

    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

    Der Workflow weist Variablen zu, erstellt einen Ausgabe-Bucket und initiiert die Übersetzung der Dateien. Die Ergebnisse werden im Ausgabe-Bucket gespeichert.

  2. Nachdem Sie den Workflow erstellt haben, stellen Sie ihn bereit:

    gcloud workflows deploy batch-translation --source=workflow.yaml
  3. Führen Sie den Workflow aus:

    gcloud workflows execute batch-translation
  4. Wenn Sie den Workflowstatus aufrufen möchten, können Sie den zurückgegebenen Befehl ausführen. Beispiel:

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

    Der Workflow sollte ACTIVE sein. Nach einigen Minuten werden die übersetzten Dateien (auf Französisch und Spanisch) in den Ausgabe-Bucket hochgeladen.

Objekte im Ausgabe-Bucket auflisten

Sie können prüfen, ob der Workflow wie erwartet funktioniert hat, indem Sie die Objekte in Ihrem Ausgabe-Bucket auflisten.

  1. Rufen Sie den Namen Ihres Ausgabe-Buckets ab:

    gcloud storage ls

    Die entsprechende Ausgabe sieht etwa so aus:

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

  2. Objekte in Ihrem Bucket auflisten:

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

    Nach einigen Minuten werden die übersetzten Dateien aufgelistet, jeweils zwei auf Französisch und Spanisch.

Bereinigen

Wenn Sie ein neues Projekt für diese Anleitung erstellt haben, löschen Sie das Projekt. Wenn Sie ein vorhandenes Projekt verwendet haben und es beibehalten möchten, ohne die Änderungen in dieser Anleitung hinzuzufügen, löschen Sie die für die Anleitung erstellten Ressourcen.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

So löschen Sie das Projekt:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Herunterfahren), um das Projekt zu löschen.

Anleitungsressourcen löschen

  1. Entfernen Sie die gcloud-Standardkonfiguration, die Sie während der Einrichtung der Anleitung hinzugefügt haben.

    gcloud config unset workflows/location
  2. Löschen Sie den in dieser Anleitung erstellten Workflow:

    gcloud workflows delete WORKFLOW_NAME
  3. Löschen Sie einen in dieser Anleitung erstellten Bucket und seine Objekte:

    gcloud storage rm gs://BUCKET_NAME --recursive

    Dabei ist BUCKET_NAME der Name des zu löschenden Buckets. Beispiel: my-bucket.

    Die Antwort ähnelt dem folgenden Beispiel.

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

Nächste Schritte