Menangani Pub/Sub

Pub/Sub adalah layanan pesan real-time terkelola sepenuhnya yang memungkinkan Anda mengirim dan menerima pesan antar-aplikasi independen. Halaman ini menunjukkan cara mengelola Pub/Sub menggunakan Cloud Tools for PowerShell. Contoh ini akan memberikan contoh sederhana tentang membuat topik, memublikasikan pesan ke topik, membuat langganan ke topik, dan menarik pesan dari topik ke langganan.

Baca referensi cmdlet Cloud Tools for PowerShell untuk mempelajari cmdlet Pub/Sub lebih lanjut. Untuk mempelajari lebih lanjut Pub/Sub secara umum, baca Ringkasan Pub/Sub.

Membuat topik

Aplikasi penerbit membuat dan mengirim pesan ke topik. Anda dapat memanggil cmdlet New‑GcpsTopic untuk membuat instance dalam topik tertentu. Jika konfigurasi gcloud yang aktif memiliki project, Anda tidak perlu menggunakan parameter -Project.

# Creates topic "my-topic" in the default project.
New-GcpsTopic -Topic "my-topic"

Memublikasikan pesan ke topik

Untuk memublikasikan pesan ke suatu topik, Anda dapat menggunakan cmdlet Publish‑GcpsMessage.

# Publishes the message with data "This is a test" to topic "my-topic".
Publish-GcpsMessage -Data "This is a test" -Topic "my-topic"

Untuk memublikasikan beberapa pesan ke topik yang sama dengan satu permintaan, Anda dapat menggunakan cmdlet New‑GcpsMessage untuk membuat array pesan dan meneruskannya ke cmdlet Publish‑GcpsMessage.

# Creates two messages.
$messageOne = New-GcpsMessage -Data "This is a test"
$messageTwo = New-GcpsMessage -Data "Data" -Attributes @{"key" = "value"}

# Publish the messages to topic "my-topic".
Publish-GcpsMessage -Message @($messageOne, $messageTwo) -Topic "my-topic"

Membuat langganan ke topik

Aplikasi pelanggan membuat langganan ke topik untuk menerima pesan dari topik tersebut. Anda dapat memanggil cmdlet New‑GcpsSubscription untuk membuat instance dalam topik tertentu. Jika konfigurasi gcloud aktif Anda memiliki project, Anda tidak perlu menggunakan parameter -Project.

Secara default, langganan yang dibuat adalah langganan pull, yang berarti pelanggan akan menarik pesan dari topik. Anda dapat membuat langganan push (Pub/Sub akan mengirim pesan ke endpoint yang dipilih pelanggan) dengan -PushEndpoint.

# Creates pull subscription "pull-subscription" to topic "my-topic" in the default project.
New-GcpsSubscription -Topic "my-topic" -Subscription "pull-subscription"

# Creates push subscription "push-subscription" to topic "my-topic".
New-GcpsSubscription -Topic "my-topic" `
                     -Subscription "push-subscription" `
                     -PushEndpoint "http://www.example.com"

Menarik pesan untuk langganan

Untuk mengambil pesan untuk langganan, Anda dapat menggunakan cmdlet Get‑GcpsMessage. Secara default, cmdlet akan diblokir hingga setidaknya satu pesan diambil. Untuk mencegah pemblokiran, gunakan parameter -ReturnImmediately. Cmdlet juga dapat otomatis mengirim konfirmasi untuk setiap pesan yang diambil jika Anda menggunakan parameter -AutoAck. Jika tidak, Anda harus menggunakan cmdlet Send‑GcpsAck untuk mengirim konfirmasi. Pesan yang tidak dikonfirmasi akan tersedia lagi untuk ditarik setelah batas waktu konfirmasi pesan berakhir.

# Pulls messages from subscription "my-subscription" and sends out acknowledgement automatically.
Get-GcpsMessage -Subscription "my-subscription" -AutoAck

# Pulls messages from subscription "my-subscription" and sends out acknowledgement with Send-GcpsAck.
$messages = Get-GcpsMessage -Subscription "my-subscription"
Send-GcpsAck -InputObject $messages