Menjalankan terjemahan batch menggunakan konektor Cloud Translation

Tutorial ini menunjukkan cara membuat alur kerja yang menggunakan konektor Cloud Translation API untuk menerjemahkan file ke bahasa lain dalam mode batch asinkron. Hal ini memberikan output real-time saat input diproses.

Tujuan

Dalam tutorial ini, Anda akan:

  1. Buat bucket Cloud Storage input.
  2. Buat dua file dalam bahasa Inggris dan upload ke bucket input.
  3. Buat alur kerja yang menggunakan konektor Cloud Translation API untuk menerjemahkan dua file ke dalam bahasa Prancis dan Spanyol, lalu simpan hasilnya dalam bucket output.
  4. Deploy dan jalankan alur kerja untuk mengorkestrasi seluruh proses.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Sebelum memulai

Batasan keamanan yang ditentukan oleh organisasi mungkin mencegah Anda menyelesaikan langkah-langkah berikut. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan Google Cloud yang terbatas.

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Instal Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  6. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan Cloud Storage, Translation, dan Workflows API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  8. Instal Google Cloud CLI.

  9. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  10. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  11. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  12. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  13. Aktifkan Cloud Storage, Translation, dan Workflows API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable storage.googleapis.com translate.googleapis.com workflows.googleapis.com
  14. Perbarui komponen gcloud:
    gcloud components update
  15. Login menggunakan akun Anda:
    gcloud auth login
  16. Tetapkan lokasi default yang digunakan dalam tutorial ini:
    gcloud config set workflows/location us-central1

    Karena tutorial ini menggunakan model AutoML Translation default yang berada di us-central1, Anda harus menyetel lokasi ke us-central1.

    Jika menggunakan model atau glosarium AutoML Translation selain default, pastikan model atau glosarium tersebut berada di lokasi yang sama dengan panggilan ke konektor; jika tidak, error INVALID_ARGUMENT (400) akan ditampilkan. Untuk mengetahui detailnya, lihat metode batchTranslateText.

Membuat bucket dan file Cloud Storage input

Anda dapat menggunakan Cloud Storage untuk menyimpan objek. Objek adalah bagian data yang tidak dapat diubah dan terdiri dari file dalam format apa pun, serta disimpan dalam penampung yang disebut bucket.

  1. Buat bucket Cloud Storage untuk menyimpan file yang akan diterjemahkan:

    BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files
    gcloud storage buckets create gs://${BUCKET_INPUT}
  2. Buat dua file dalam bahasa Inggris dan upload ke bucket input:

    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}

Men-deploy dan menjalankan alur kerja

Alur kerja terdiri dari serangkaian langkah yang dijelaskan menggunakan sintaksis Workflows, yang dapat ditulis dalam format YAML atau JSON. Ini adalah definisi alur kerja. Setelah membuat alur kerja, Anda men-deploy alur kerja tersebut agar tersedia untuk dieksekusi.

  1. Buat file teks dengan nama file workflow.yaml dan dengan konten berikut:

    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

    Alur kerja menetapkan variabel, membuat bucket output, dan memulai terjemahan file, lalu menyimpan hasilnya ke bucket output.

  2. Setelah membuat alur kerja, deploy alur kerja tersebut:

    gcloud workflows deploy batch-translation --source=workflow.yaml
  3. Jalankan alur kerja:

    gcloud workflows execute batch-translation
  4. Untuk melihat status alur kerja, Anda dapat menjalankan perintah yang ditampilkan. Contoh:

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

    Alur kerja harus ACTIVE. Setelah beberapa menit, file yang diterjemahkan (dalam bahasa Prancis dan Spanyol) akan diupload ke bucket output.

Mencantumkan objek di bucket output

Anda dapat mengonfirmasi bahwa alur kerja berfungsi seperti yang diharapkan dengan mencantumkan objek di bucket output.

  1. Ambil nama bucket output Anda:

    gcloud storage ls

    Outputnya mirip dengan hal berikut ini:

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

  2. Mencantumkan objek di bucket output Anda:

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

    Setelah beberapa menit, file yang diterjemahkan, masing-masing dua dalam bahasa Prancis dan Spanyol, akan dicantumkan.

Pembersihan

Jika Anda membuat project baru untuk tutorial ini, hapus project tersebut. Jika Anda menggunakan project yang ada dan ingin mempertahankannya tanpa perubahan yang ditambahkan dalam tutorial ini, hapus resource yang dibuat untuk tutorial.

Menghapus project

Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

Untuk menghapus project:

  1. Di Konsol Google Cloud , buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Menghapus resource tutorial

  1. Hapus konfigurasi default gcloud yang Anda tambahkan selama penyiapan tutorial:

    gcloud config unset workflows/location
  2. Menghapus alur kerja yang dibuat dalam tutorial ini:

    gcloud workflows delete WORKFLOW_NAME
  3. Hapus bucket dan objeknya yang dibuat dalam tutorial ini:

    gcloud storage rm gs://BUCKET_NAME --recursive

    Dengan BUCKET_NAME adalah nama bucket yang akan dihapus. Contoh, my-bucket.

    Responsnya mirip dengan hal berikut ini:

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

Langkah berikutnya