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


In dieser Anleitung erfahren Sie, wie Sie einen Workflow erstellen, der mit dem Cloud Translation API-Connector Dateien im asynchronen Batchmodus in andere Sprachen übersetzt. So erhalten Sie eine Echtzeitausgabe, während die Eingaben verarbeitet werden.

Lernziele

In dieser Anleitung werden Sie:

  1. Erstellen Sie einen Cloud Storage-Eingabe-Bucket.
  2. Erstellen Sie zwei Dateien auf Englisch und laden Sie sie in den Eingabe-Bucket hoch.
  3. Erstellen Sie einen Workflow, der die beiden Dateien mit dem Cloud Translation API-Connector ins Französische und Spanische übersetzt und die Ergebnisse in einem Ausgabe-Bucket speichert.
  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. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweise

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 bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren Sie die Google Cloud CLI.
  3. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Google Cloud-Projekt erstellen oder auswählen.

    • 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 den Namen Ihres Google Cloud-Projekts.

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Aktivieren Sie die Cloud Storage, Translation, and Workflows APIs:

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  7. Installieren Sie die Google Cloud CLI.
  8. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  9. Google Cloud-Projekt erstellen oder auswählen.

    • 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 den Namen Ihres Google Cloud-Projekts.

  10. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  11. Aktivieren Sie die Cloud Storage, Translation, and Workflows APIs:

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

    Da in dieser Anleitung das AutoML Translation-Standardmodell 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, müssen Sie darauf achten, dass es sich am selben Standort wie der Aufruf des Connectors befindet. Andernfalls wird der Fehler INVALID_ARGUMENT (400) zurückgegeben. Weitere Informationen finden Sie in der batchTranslateText-Methode.

Cloud Storage-Eingabe-Bucket und -Dateien 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 werden in Containern gespeichert, die als Buckets bezeichnet werden.

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

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

    echo "Hello World!" > file1.txt
    gsutil cp file1.txt gs://${BUCKET_INPUT}
    echo "Workflows connectors simplify calling services." > file2.txt
    gsutil 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, initiiert die Übersetzung der Dateien und speichert die Ergebnisse im Ausgabe-Bucket.

  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. Zum Anzeigen des Workflowstatus 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 lauten. 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, indem Sie die Objekte im Ausgabe-Bucket auflisten.

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

    gsutil ls

    Die Ausgabe sieht in etwa so aus:

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

  2. Objekte in Ihrem Bucket auflisten:

    gsutil ls -r gs://PROJECT_ID-output-files-TIMESTAMP/**

    Nach einigen Minuten werden die übersetzten Dateien (zwei davon auf Französisch und Spanisch) aufgeführt.

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 dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), 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 die in dieser Anleitung erstellten Buckets:

    gsutil rm -r gs://BUCKET_NAME

    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