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. So erhalten Sie eine Echtzeitausgabe, während die Eingaben verarbeitet werden.

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, der den Cloud Translation API-Connector verwendet, um die beiden Dateien ins Französische und Spanische zu übersetzen und die Ergebnisse in einem Ausgabebucket 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 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 mit Google Cloudnoch 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. 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 Google Cloud Projekt oder wählen Sie eines aus.

    Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes 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 Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
    • So 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 Projekts in Google Cloud .

  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:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    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 Google Cloud Projekt oder wählen Sie eines aus.

    Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes 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 Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
    • So 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 Projekts in Google Cloud .

  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:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    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 Standardspeicherort fest, der in dieser Anleitung verwendet wird:
    gcloud config set workflows/location us-central1

    Da in dieser Anleitung das standardmäßige 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 Translation-Modell oder Glossar als das Standardmodell verwenden, muss es sich am selben Speicherort wie der Aufruf des Connectors befinden. Andernfalls wird ein INVALID_ARGUMENT (400)-Fehler zurückgegeben. Weitere Informationen finden Sie in der batchTranslateText-Methode.

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 zum Speichern der 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

    Im Workflow werden Variablen zugewiesen, ein Ausgabebucket erstellt und die Übersetzung der Dateien initiiert. Die Ergebnisse werden im Ausgabebucket 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. 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 lauten. Nach einigen Minuten werden die übersetzten Dateien (auf Französisch und Spanisch) in den Ausgabebucket hochgeladen.

Objekte im Ausgabebucket auflisten

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

  1. Rufen Sie den Namen Ihres Ausgabebuckets 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. 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 einen Bucket und seine Objekte, die in dieser Anleitung erstellt wurden:

    gcloud storage rm gs://BUCKET_NAME --recursive

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

    Das Ergebnis sieht etwa so aus:

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

Nächste Schritte