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


In dieser Anleitung erfahren Sie, wie Sie einen Workflow erstellen, der die Cloud Translation API-Connector zum Übersetzen von Dateien in andere Sprachen im asynchronen Batchmodus. Damit erhalten Sie Echtzeitausgabe während der Verarbeitung der Eingaben.

Ziele

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, bei dem der Cloud Translation API-Connector zum Übersetzen des zwei Dateien in Französisch und Spanisch und speichert die Ergebnisse in einem Ausgabe-Bucket.
  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. 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. 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. 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. 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, befindet sich in us-central1, müssen Sie den Standort auf us-central1 festlegen.

    Wenn Sie ein anderes AutoML Translation-Modell oder -Glossar als das sollten Sie darauf achten, dass sie location als Aufruf an den Connector verwendet werden. Andernfalls wird der Fehler INVALID_ARGUMENT (400) zurückgegeben. Weitere Informationen sieh dir die batchTranslateText-Methode erstellen.

Cloud Storage-Eingabe-Bucket und -Dateien erstellen

Sie können Cloud Storage zum Speichern von Objekten verwenden. Objekte sind unveränderlich aus einer Datei mit beliebigem Format und werden in Containern gespeichert. Buckets genannt.

  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 den Übersetzung der Dateien, wobei die Ergebnisse im Ausgabe-Bucket gespeichert werden.

  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. Sie können den zurückgegebenen Befehl ausführen, um den Workflowstatus aufzurufen. Beispiel:

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

    Der Workflow sollte ACTIVE sein. Nach einigen Minuten wird der übersetzte Dateien (in Französisch und Spanisch) in den Ausgabe-Bucket hochgeladen.

Objekte im Ausgabe-Bucket auflisten

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

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

    gcloud storage 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:

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

    Nach ein paar Minuten wurden die übersetzten Dateien, jeweils zwei auf Französisch und Spanisch, aufgeführt sind.

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:

    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