arrow_back

Google Cloud Pub/Sub: Qwik Start - Python

Gabung Login
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Google Cloud Pub/Sub: Qwik Start - Python

Lab 30 menit universal_currency_alt 1 Kredit show_chart Pengantar
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP094

Lab Mandiri Google Cloud

Ringkasan

Layanan Google Cloud Pub/Sub memungkinkan aplikasi bertukar pesan secara andal, cepat, dan asinkron. Untuk melakukannya, produser data memublikasikan pesan ke topik Cloud Pub/Sub. Kemudian, klien pelanggan membuat langganan ke topik tersebut dan menggunakan pesan dari langganan. Cloud Pub/Sub menyimpan pesan yang tidak dapat dikirim dengan lancar hingga tujuh hari.

Di lab ini, Anda akan mempelajari cara mulai memublikasikan pesan dengan Cloud Pub/Sub menggunakan library klien Python.

Yang akan Anda lakukan

Di lab ini, Anda akan melakukan hal-hal berikut:

  • Mempelajari dasar-dasar Pub/Sub.
  • Membuat dan mencantumkan topik Pub/Sub.
  • Membuat dan mencantumkan langganan Pub/Sub.
  • Memublikasikan pesan ke topik.
  • Menggunakan pelanggan pull untuk membuat output setiap pesan topik.

Penyiapan dan Persyaratan

Sebelum mengklik tombol Mulai Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan berikut ini:

    • Tombol Open Google Console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Console. Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Login.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username dari panel Lab Details dan tempel ke dialog Sign in. Klik Next.

  4. Salin Password dari panel Lab Details dan tempel ke dialog Welcome. Klik Next.

    Penting: Anda harus menggunakan kredensial dari panel sebelah kiri. Jangan menggunakan kredensial Google Cloud Skills Boost. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  5. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan daftar uji coba gratis.

Setelah beberapa saat, Cloud Console akan terbuka di tab ini.

Catatan: Anda dapat melihat menu dengan daftar Produk dan Layanan Google Cloud dengan mengklik Menu navigasi di kiri atas. Ikon menu navigasi

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas konsol Google Cloud.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke YOUR_PROJECT_ID

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

  2. Output Anda sekarang akan terlihat seperti ini:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net Untuk menyetel akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project

Output:

[core] project = <project_ID>

Contoh output:

[core] project = qwiklabs-gcp-44776a13dea667a6 Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Tugas 1. Membuat lingkungan virtual

Lingkungan virtual python digunakan untuk mengisolasi penginstalan paket dari sistem.

  1. Instal lingkungan virtualenv:
sudo apt-get install -y virtualenv
  1. Bangun lingkungan virtual:
python3 -m venv venv
  1. Aktifkan lingkungan virtual.
source venv/bin/activate

Tugas 2. Menginstal library klien

  1. Jalankan perintah berikut untuk menginstal library klien:
pip install --upgrade google-cloud-pubsub
  1. Dapatkan kode contoh dengan meng-clone repositori GitHub:
git clone https://github.com/googleapis/python-pubsub.git
  1. Buka direktori:
cd python-pubsub/samples/snippets

Tugas 3. Pub/Sub - Dasar-Dasar

Google Cloud Pub/Sub adalah layanan pesan global yang bersifat asinkron. Ada tiga istilah yang sering muncul dalam Pub/Sub: topik, publikasi, dan berlangganan.

Topik adalah string bersama yang memungkinkan aplikasi terhubung satu sama lain melalui thread umum.

Penerbit mengirimkan (atau memublikasikan) pesan ke topik Cloud Pub/Sub. Kemudian, pelanggan akan membuat langganan ke thread tersebut, tempat mereka akan menarik pesan dari topik atau mengonfigurasi webhook untuk langganan push. Setiap pelanggan harus mengonfirmasi setiap pesan dalam jangka waktu yang dapat dikonfigurasi.

Singkatnya, penerbit akan membuat dan mengirim pesan ke topik, sedangkan pelanggan akan membuat langganan topik untuk menerima pesan dari penerbit tersebut.

Pub/Sub di Google Cloud

Pub/Sub sudah diinstal di Cloud Shell sehingga Anda tidak memerlukan penginstalan atau konfigurasi untuk mulai menggunakan layanan ini. Di lab ini, Anda akan menggunakan Python untuk membuat topik, langganan, lalu melihat pesan. Anda akan menggunakan perintah gcloud untuk memublikasikan pesan ke topik.

Tugas 4. Membuat topik

Untuk memublikasikan data ke Cloud Pub/Sub, Anda perlu membuat topik, lalu mengonfigurasi penerbit untuk topik tersebut.

  1. Di Cloud Shell, Project ID akan otomatis disimpan dalam variabel lingkungan GOOGLE_CLOUD_PROJECT:
echo $GOOGLE_CLOUD_PROJECT
  1. Pastikan output-nya sama seperti Project ID dalam CONNECTION DETAILS Anda.

publisher.py adalah skrip yang menunjukkan cara menjalankan operasi dasar pada topik dengan Cloud Pub/Sub API. Lihat konten skrip penerbit:

cat publisher.py Catatan: Alternatifnya, Anda dapat menggunakan editor shell yang terinstal di Cloud Shell, seperti nano atau vim, atau menggunakan editor kode Cloud Shell untuk melihat python-pubsub/samples/snippets/publisher.py.
  1. Untuk mengetahui informasi tentang skrip penerbit:
python publisher.py -h

Contoh output:

usage: publisher.py [-h] project {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} ... This application demonstrates how to perform basic operations on topics with the Cloud Pub/Sub API. For more information, see the README.md under /pubsub and the documentation at https://cloud.google.com/pubsub/docs. positional arguments: project Your Google Cloud project ID {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} list Lists all Pub/Sub topics in the given project. create Create a new Pub/Sub topic. delete Deletes an existing Pub/Sub topic. publish Publishes multiple messages to a Pub/Sub topic. publish-with-custom-attributes Publishes multiple messages with custom attributes to a Pub/Sub topic. publish-with-futures Publishes multiple messages to a Pub/Sub topic and prints their message IDs. publish-with-error-handler Publishes multiple messages to a Pub/Sub topic with an error handler. publish-with-batch-settings Publishes multiple messages to a Pub/Sub topic with batch settings. optional arguments: -h, --help show this help message and exit
  1. Jalankan skrip penerbit untuk membuat Topik Pub/Sub:
python publisher.py $GOOGLE_CLOUD_PROJECT create MyTopic

Contoh output:

Topic created: name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Menguji Tugas yang Telah Diselesaikan

Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Jika berhasil membuat topik Cloud Pub/Sub, Anda akan melihat skor penilaian.

Membuat topik.
  1. Perintah ini akan menampilkan daftar semua topik Pub/Sub dalam project yang ditentukan:
python publisher.py $GOOGLE_CLOUD_PROJECT list

Contoh output:

name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Anda juga dapat melihat topik yang baru saja dibuat di Cloud Console.

  1. Buka Navigation menu > Pub/Sub > Topics.

Anda akan melihat MyTopic.

Tugas 5. Membuat langganan

  1. Buat langganan Pub/Sub untuk topik dengan skrip subscriber.py:
python subscriber.py $GOOGLE_CLOUD_PROJECT create MyTopic MySub

Menguji Tugas yang Telah Diselesaikan

Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Jika berhasil membuat langganan Cloud Pub/Sub, Anda akan melihat skor penilaian.

Membuat langganan.
  1. Perintah ini akan menampilkan daftar pelanggan dalam project yang ditentukan:
python subscriber.py $GOOGLE_CLOUD_PROJECT list-in-project

Anda hanya akan melihat satu langganan karena hanya membuat satu langganan.

Contoh output:

projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub
  1. Periksa langganan yang baru saja Anda buat di konsol. Di panel sebelah kiri, klik Subscriptions. Anda akan melihat nama langganan dan detail lainnya.

  2. Untuk mengetahui informasi tentang skrip subscriber:

python subscriber.py -h

Output:

usage: subscriber.py [-h] project {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} ... This application demonstrates how to perform basic operations on subscriptions with the Cloud Pub/Sub API. For more information, see the README.md under /pubsub and the documentation at https://cloud.google.com/pubsub/docs. positional arguments: project Your Google Cloud project ID {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} list_in_topic Lists all subscriptions for a given topic. list_in_project Lists all subscriptions in the current project. create Create a new pull subscription on the given topic. create-push Create a new push subscription on the given topic. delete Deletes an existing Pub/Sub topic. update Updates an existing Pub/Sub subscription's push endpoint URL. Note that certain properties of a subscription, such as its topic, are not modifiable. receive Receives messages from a pull subscription. receive-custom-attributes Receives messages from a pull subscription. receive-flow-control Receives messages from a pull subscription with flow control. receive-synchronously Pulling messages synchronously. listen_for_errors Receives messages and catches errors from a pull subscription. optional arguments: -h, --help show this help message and exit

Tugas 6. Memublikasikan pesan

Setelah menyiapkan MyTopic (topik) dan langganan ke MyTopic (MySub), lihat apakah Anda dapat menggunakan perintah gcloud untuk memublikasikan pesan ke MyTopic.

  1. Publikasikan pesan bertuliskan "Hello" ke MyTopic:
gcloud pubsub topics publish MyTopic --message "Hello"
  1. Publikasikan beberapa pesan lain ke MyTopic—jalankan perintah berikut (mengganti <YOUR NAME> dengan nama Anda dan <FOOD> dengan makanan yang Anda inginkan):
gcloud pubsub topics publish MyTopic --message "Publisher's name is <YOUR NAME>" gcloud pubsub topics publish MyTopic --message "Publisher likes to eat <FOOD>" gcloud pubsub topics publish MyTopic --message "Publisher thinks Pub/Sub is awesome"

Tugas 7. Melihat pesan

Setelah memublikasikan pesan ke MyTopic, tarik dan lihat pesan tersebut menggunakan MySub.

  1. Gunakan MySub untuk menarik pesan dari MyTopic:
python subscriber.py $GOOGLE_CLOUD_PROJECT receive MySub

Contoh output:

Listening for messages on projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub Received message: Message { data: 'Publisher thinks Pub/Sub is awesome' attributes: {} } Received message: Message { data: 'Hello' attributes: {} } Received message: Message { data: "Publisher's name is Harry" attributes: {} } Received message: Message { data: 'Publisher likes to eat cheese' attributes: {} }
  1. Klik Ctrl+c untuk berhenti memproses.

Tugas 8. Menguji pemahaman Anda

Di bawah ini terdapat beberapa pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep lab ini. Jawab pertanyaan tersebut sebaik mungkin.

Selamat!

Anda telah menggunakan Python untuk membuat topik Pub/Sub, memublikasikan ke topik, membuat langganan, lalu menggunakan langganan untuk menarik data dari topik.

Selesaikan Quest

Lab mandiri ini adalah bagian dari Quest Baseline: Infrastructure. Quest adalah serangkaian lab terkait yang membentuk jalur pembelajaran. Dengan menyelesaikan quest ini, Anda mendapatkan badge sebagai pengakuan atas pencapaian Anda. Anda dapat memperlihatkan badge atau beberapa badge kepada publik dan menautkannya di resume online atau akun media sosial Anda. Daftar ke Quest ini atau Quest apa pun yang berisi lab ini dan segera dapatkan kredit penyelesaian. Lihat Katalog Google Cloud Skills Boost untuk melihat semua Quest yang tersedia.

Mengikuti lab berikutnya

Pub/Sub Lite: Qwik Start. Sebagai pelengkap Pub/Sub, Pub/Sub Lite adalah layanan zona untuk sistem pesan dengan pola traffic yang dapat diprediksi. Jika Anda memublikasikan pesan sebesar 1 MiB-1 GiB per detik, Pub/Sub Lite adalah opsi hemat biaya untuk penyerapan peristiwa bervolume tinggi.

Langkah berikutnya/Pelajari lebih lanjut

Lab ini merupakan bagian dari rangkaian lab yang disebut Qwik Start. Lab ini dirancang agar Anda dapat mencoba berbagai fitur yang tersedia dengan Google Cloud. Telusuri "Qwik Starts" di katalog Google Cloud Skills Boost untuk menemukan lab berikutnya yang ingin Anda ikuti.

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 22 September 2023

Lab Terakhir Diuji pada 22 September 2023

Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.