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


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

Ziele

In dieser Anleitung werden Sie:

  1. Erstellen Sie einen Cloud Storage-Bucket für Eingaben.
  2. Erstellen Sie zwei Dateien auf Englisch und laden Sie sie in den Eingabe-Bucket hoch.
  3. Erstellen Sie einen Workflow, der die Cloud Translation API 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. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Vorbereitung

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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Storage, Translation, and Workflows APIs:

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the 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 Standard-AutoML Translation-Modell verwendet wird, das sich in us-central1 befindet, müssen Sie den Standort auf us-central1 festlegen.

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

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 beliebigem Format bestehen und in Containern namens „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. Stellen Sie den Workflow nach dem Erstellen 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 des 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 aufgeführt, 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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

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:

    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