Membuat dan menjalankan contoh tugas
Pelajari cara membuat dan menjalankan contoh tugas pemrosesan batch yang mentranskode video menggunakan Batch Google Cloud.
Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Sebelum memulai
- Login keakun Anda. Google Cloud 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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Memilih 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 izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih Google Cloud project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama Google Cloud project Anda.
-
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Aktifkan Batch, Compute Engine, Logging, dan Cloud Storage API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Admin Penggunaan Layanan (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Memilih 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 izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih Google Cloud project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama Google Cloud project Anda.
-
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Aktifkan Batch, Compute Engine, Logging, dan Cloud Storage API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Admin Penggunaan Layanan (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
Pastikan Anda dan akun layanan tugas memiliki izin yang diperlukan untuk menyelesaikan tutorial ini. Tutorial ini menggunakan akun layanan default untuk tugas, yaitu akun layanan default Compute Engine.
-
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial ini, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Untuk membuat, melihat, dan menghapus tugas:
-
Editor Tugas Batch (
roles/batch.jobsEditor) di project -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di akun layanan default Compute Engine
-
Editor Tugas Batch (
-
Untuk membuat, melihat, dan menghapus bucket Cloud Storage:
Admin Penyimpanan (
roles/storage.admin) di project -
Untuk melihat log dari tugas:
Logs Viewer (
roles/logging.viewer) di project
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Untuk membuat, melihat, dan menghapus tugas:
-
Untuk memastikan bahwa akun layanan default Compute Engine memiliki izin yang diperlukan untuk menyelesaikan tutorial ini, minta administrator Anda untuk memberikan peran IAM berikut ke akun layanan default Compute Engine:
-
Pelapor Agen Batch (
roles/batch.agentReporter) di project -
Untuk mengizinkan tugas mengakses bucket Cloud Storage:
Admin Penyimpanan (
roles/storage.admin) di project -
Untuk mengizinkan tugas membuat log di Logging:
Penulis Log (
roles/logging.logWriter) di project
-
Pelapor Agen Batch (
-
-
Kloning
repositori git Batch ke direktori saat ini:
git clone https://github.com/GoogleCloudPlatform/batch-samples.git
-
Buka direktori
transcoding:cd batch-samples/transcoding/
Menyiapkan input tugas
Membuat bucket Cloud Storage:
gcloud storage buckets create gs://BUCKET_NAMEGanti
BUCKET_NAMEdengan nama yang unik secara global untuk bucket.Outputnya mirip dengan hal berikut ini:
Creating gs://BUCKET_NAME/...Salin skrip
transcode.shdan folder yang berisi file video ke bucket Cloud Storage Anda:gcloud storage cp -R transcode.sh input gs://BUCKET_NAMEOutputnya mirip dengan hal berikut ini:
Copying file://transcode.sh to gs://BUCKET_NAME/transcode.sh Copying file://input/video-2.mp4 to gs://BUCKET_NAME/input/video-2.mp4 Copying file://input/video-1.mp4 to gs://BUCKET_NAME/input/video-1.mp4 Copying file://input/video-0.mp4 to gs://BUCKET_NAME/input/video-0.mp4 Completed files 4/4 | 37.5MiB/37.5MiB Average throughput: 48.4MiB/s
Membuat tugas
Di editor teks pilihan Anda, buka file konfigurasi
job.json.Tetapkan nilai kolom
remotePathke nama bucket Cloud Storage Anda:{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "bash /mnt/share/transcode.sh" } } ], "computeResource": { "cpuMilli": 2000, "memoryMib": 2048 }, "volumes": [ { "gcs": { "remotePath": "BUCKET_NAME" }, "mountPath": "/mnt/share" } ], "maxRetryCount": 2, "maxRunDuration": "600s" }, "taskCount": 3, "parallelism": 3 } ], "allocationPolicy": { "instances": [ { "policy": { "machineType": "n2d-standard-4", "provisioningModel": "SPOT" } } ] }, "labels": { "department": "creative", "env": "testing" }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Simpan perubahan Anda dan tutup editor teks.
Buat tugas
transcode:gcloud batch jobs submit transcode \ --config=job.json \ --location=us-central1Outputnya mirip dengan hal berikut ini:
Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted. ...Tugas ini menjalankan 3 tugas secara serentak. Setiap tugas menjalankan skrip
transcode.sh, yang mengenkode 1 dari 3 file video dan menguploadnya ke bucket Cloud Storage.
Memantau tugas
Di Google Cloud konsol, buka halaman Daftar tugas.
Di kolom Nama tugas, klik transcode.
Halaman Detail tugas akan terbuka.
Klik tab Events.
Di bagian Events list , Anda dapat memantau status tugas
transcode. Waktu yang diperlukan tugas untuk selesai diantrekan, dijadwalkan, dan dijalankan bervariasi berdasarkan beberapa faktor. Untuk contoh ini, Anda dapat memperkirakan tugas akan selesai dalam waktu sekitar 5 menit.Opsional: Untuk memperbarui halaman, klik Refresh.
Sebelum melanjutkan ke langkah berikutnya, pastikan status tugas ditetapkan ke Succeeded. Jika tugas Anda gagal, lihat Pemecahan masalah sebagai gantinya.
Melihat video yang dienkode
Di Google Cloud konsol, buka halaman Bucket.
Di kolom Name, klik BUCKET_NAME.
Halaman Bucket details akan terbuka.
Di kolom Name, klik output/, lalu klik salah satu file video yang dienkode.
Halaman Object details akan terbuka.
Untuk melihat video yang dienkode, klik Preview, lalu klik Play.
Pembersihan
Agar akun Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project yang berisi resource tersebut. Google Cloud Google Cloud
Menghapus project
Cara termudah untuk meniadakan tagihan adalah dengan menghapus project yang Anda gunakan dalam tutorial ini.
Hapus a Google Cloud project:
gcloud projects delete PROJECT_ID
Menghapus resource satu per satu
Jika Anda ingin terus menggunakan project saat ini, hapus resource satu per satu yang digunakan dalam tutorial ini.
Menghapus tugas
Setelah tugas Batch selesai berjalan, hapus tugas transcode:
gcloud batch jobs delete transcode \
--location=us-central1
Outputnya mirip dengan hal berikut ini:
Job projects/example-project/locations/us-central1/jobs/transcode deletion is in progress
Menghapus tugas juga akan menghapus detail dan histori tugas. Log tugas akan otomatis dihapus pada akhir periode retensi log Cloud Logging.
Menghapus bucket
Jika Anda tidak lagi memerlukan bucket Cloud Storage yang digunakan dalam tutorial ini dan kontennya, hapus bucket:
gcloud storage rm gs://BUCKET_NAME \
--recursive
Outputnya mirip dengan hal berikut ini:
Removing objects:
Removing gs://BUCKET_NAME/input/video-0.mp4#1694788495332395...
Removing gs://BUCKET_NAME/input/video-2.mp4#1694788495296173...
Removing gs://BUCKET_NAME/input/video-1.mp4#1694788495228839...
Removing gs://BUCKET_NAME/output/video-0.mp4#1694788495332395...
Removing gs://BUCKET_NAME/output/video-2.mp4#1694788495296173...
Removing gs://BUCKET_NAME/output/video-1.mp4#1694788495228839...
Removing gs://BUCKET_NAME/transcode.sh#1694788495039427...
Completed 4/4
Removing Buckets:
Removing gs://BUCKET_NAME/...
Completed 1/1
Menghapus repositori git
Jika Anda tidak lagi memerlukan repositori git Batch yang Anda kloning untuk tutorial ini, Anda dapat menghapusnya:
cd ../../ && rm -rf batch-samples
Langkah berikutnya
Pelajari cara memulai Batch.
Pelajari lebih lanjut pembuatan dan eksekusi tugas.