Fungsi jarak jauh dan tutorial Translation API
Tutorial ini menjelaskan cara membuat fungsi jarak jauh BigQuery, memanggil Cloud Translation API, dan melakukan terjemahan konten dari bahasa apa pun ke bahasa Spanyol menggunakan SQL dan Python.
Kasus penggunaan untuk fungsi ini mencakup hal berikut:
- Menerjemahkan komentar pengguna di situs ke dalam bahasa lokal
- Menerjemahkan permintaan dukungan dari banyak bahasa ke dalam satu bahasa umum untuk worker kasus dukungan
Tujuan
- Menetapkan peran yang diperlukan ke akun Anda.
- Membuat fungsi Cloud Run.
- Membuat set data BigQuery.
- Membuat koneksi BigQuery dan akun layanan.
- Memberikan izin ke akun layanan BigQuery.
- Membuat fungsi jarak jauh BigQuery.
- Memanggil fungsi jarak jauh BigQuery.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Sebelum memulai
Sebaiknya Anda membuat project Google Cloud untuk tutorial ini. Selain itu, pastikan Anda memiliki peran yang diperlukan untuk menyelesaikan tutorial ini.
Menyiapkan project Google Cloud
Guna menyiapkan project Google Cloud untuk tutorial ini, selesaikan langkah-langkah berikut:
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection, Cloud Translation, Cloud Run functions, Cloud Build, Cloud Logging, Cloud Pub/Sub, Artifact Registry, and Cloud Run Admin APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection, Cloud Translation, Cloud Run functions, Cloud Build, Cloud Logging, Cloud Pub/Sub, Artifact Registry, and Cloud Run Admin APIs.
Peran yang diperlukan untuk akun Anda
Untuk mendapatkan izin yang Anda perlukan untuk melakukan tugas dalam tutorial ini, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
BigQuery Data Owner (
roles/bigquery.dataOwner
) -
BigQuery Connection Admin (
roles/bigquery.connectionAdmin
) -
Cloud Functions Developer (
roles/cloudfunctions.developer
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk melakukan tugas dalam tutorial ini. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melakukan tugas dalam tutorial ini:
-
bigquery.datasets.create
-
bigquery.connections.create
-
bigquery.connections.get
-
cloudfunctions.functions.create
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Peran yang diperlukan untuk akun layanan default Compute Engine
Saat Anda mengaktifkan API untuk fungsi Cloud Run, akun layanan default Compute Engine telah dibuat. Untuk menyelesaikan tutorial ini, Anda harus memberikan peran Cloud Translation API User untuk akun layanan default ini.
Salin akun layanan default Compute Engine Anda. Akun layanan default Anda akan terlihat seperti ini:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ganti
PROJECT_NUMBER
dengan project ID Anda.Di konsol Google Cloud, buka halaman IAM.
Pilih project Anda.
Klik
Grant access, lalu di kolom New principals, tempel akun layanan default Compute Engine yang Anda salin sebelumnya.Dalam daftar Assign roles, telusuri dan pilih Cloud Translation API User.
Klik Simpan.
Membuat fungsi Cloud Run
Dengan fungsi Cloud Run, buat fungsi yang menerjemahkan teks input ke dalam bahasa Spanyol.
Buat fungsi Cloud Run Function dengan spesifikasi berikut:
- Untuk Environment, pilih 2nd gen.
- Untuk Function name, masukkan
translation-handler
. - Untuk Region, pilih us-central1.
Untuk Maximum number of instances, masukkan
10
.Setelan ini berada di bagian Runtime, build, koneksi, dan setelan keamanan.
Dalam tutorial ini, kami menggunakan nilai yang lebih rendah daripada nilai default untuk mengontrol kecepatan permintaan yang dikirim ke Translation.
Untuk Runtime, pilih Python 3.10.
Untuk Entry point, masukkan
handle_translation
.
Dalam daftar file, pilih main.py, lalu tempel kode berikut.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Update
<your location>
denganus-central1
.Dalam daftar file, pilih requirements.txt, lalu tempel teks berikut:
Klik Deploy dan tunggu hingga fungsi di-deploy.
Klik tab Trigger.
Salin nilai URL Pemicu dan simpan untuk nanti. Anda harus menggunakan URL ini saat membuat fungsi jarak jauh BigQuery.
Membuat set data BigQuery
Buat set data BigQuery yang akan berisi fungsi jarak jauh. Saat Anda membuat set data, sertakan spesifikasi berikut:
- Untuk ID Set Data, masukkan
remote_function_test
. - Untuk Jenis lokasi, pilih Multi-region.
- Untuk Multi-region, pilih US (multiple regions in United States).
Membuat koneksi dan akun layanan BigQuery
Buat koneksi BigQuery sehingga Anda dapat menerapkan fungsi jarak jauh dengan bahasa yang didukung di fungsi Cloud Run dan Cloud Run. Saat Anda membuat koneksi, akun layanan dibuat untuk koneksi tersebut.
Buat koneksi resource Google Cloud dengan spesifikasi berikut:
- Untuk Jenis koneksi, pilih BigLake dan fungsi jarak jauh (Cloud Resource)
- Untuk ID Koneksi, masukkan
remote-function-connection
. - Untuk Jenis lokasi, pilih Multi-region.
- Untuk Multi-region, pilih US (multiple regions in United States).
Buka daftar Koneksi eksternal dan pilih
us.remote-function-connection
.Salin ID akun layanan dan simpan untuk nanti. Anda harus memberikan izin ke ID ini pada langkah berikutnya.
Memberikan izin ke akun layanan BigQuery
Akun layanan yang Anda buat di langkah sebelumnya memerlukan izin untuk menggunakan Cloud Run sehingga fungsi jarak jauh BigQuery dapat menggunakan fungsi Cloud Run. Untuk memberikan izin ke akun layanan, selesaikan langkah-langkah berikut:
Buka halaman Cloud Run.
Pilih project Anda.
Centang kotak di samping
translation-handler
.Di panel Permissions, klik Add principal.
Di kolom New principals, masukkan ID akun layanan yang Anda salin sebelumnya.
Dalam daftar Assign roles, telusuri dan pilih Cloud Run Invoker.
Klik Save.
Membuat fungsi jarak jauh BigQuery
Untuk menggunakan fungsi Cloud Run Functions yang menerjemahkan teks ke bahasa Spanyol dengan fungsi jarak jauh BigQuery, lakukan langkah-langkah berikut.
Di Konsol Google Cloud, buka halaman BigQuery.
Di Query editor, tempel kueri berikut:
CREATE OR REPLACE FUNCTION `remote_function_test.translate_text`(x STRING) RETURNS STRING REMOTE WITH CONNECTION `us.remote-function-connection` OPTIONS ( endpoint = 'TRIGGER_URL', max_batching_rows = 10);
Ganti
TRIGGER_URL
dengan URL pemicu yang Anda simpan sebelumnya saat membuat fungsi Cloud Run.Klik Run. Pesan yang mirip dengan pesan berikut ini akan ditampilkan:
This statement created a new function named your_project.remote_function_test.translate_text.
Memanggil fungsi jarak jauh BigQuery
Setelah membuat fungsi jarak jauh, uji fungsi tersebut untuk memastikan bahwa fungsi tersebut terhubung ke fungsi Cloud Run Functions dan memberikan hasil yang diharapkan dalam bahasa Spanyol.
Di editor kueri BigQuery, masukkan kueri berikut, lalu klik Run.
SELECT remote_function_test.translate_text('This new feature is fantastic!') AS translated_text;
Hasilnya akan mirip dengan berikut ini:
+-------------------------------------------+ | translated_text | +-------------------------------------------+ | ¡Esta nueva característica es fantástica! | +-------------------------------------------+
Opsional: Untuk menguji fungsi jarak jauh pada set data publik, masukkan kueri berikut, lalu klik Run. Untuk membatasi hasil yang ditampilkan, gunakan klausa
LIMIT
.SELECT text, remote_function_test.translate_text(text) AS translated_text FROM (SELECT text FROM `bigquery-public-data.hacker_news.full` LIMIT 3);
Hasilnya akan mirip dengan berikut ini:
+---------------------------------------------------------------------------+ | text | translated_text | +---------------------------------------------------------------------------+ | These benchmarks look good. | Estos puntos de referencia se ven bien. | | Who is using Java? | ¿Quién está usando Java? | | You need more database storage. | Necesitas más almacenamiento. | +---------------------------------------------------------------------------+
Menghapus resource
Jika tidak berencana menggunakan fungsi tersebut dalam project ini, Anda dapat menghindari biaya tambahan dengan menghapus project Anda. Tindakan ini akan menghapus semua resource yang terkait dengan project secara permanen.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Langkah berikutnya
- Pelajari cara menggunakan fungsi jarak jauh di BigQuery.
- Pelajari Translation.
- Pelajari fungsi Cloud Run.
- Pelajari Cloud Run.