Mulai cepat: Menerbitkan pesan menggunakan SDK layanan Azure Web PubSub
Artikel
Azure Web PubSub membantu Anda mengelola klien WebSocket. Mulai cepat ini menunjukkan kepada Anda cara menerbitkan pesan ke klien WebSocket menggunakan SDK layanan Azure Web PubSub.
Prasyarat
Langganan Azure, jika Anda tidak memilikinya, buat akun gratis.
shell perintah Bash dan PowerShell. Sampel Python, JavaScript, dan Java memerlukan shell perintah Bash.
Untuk masuk ke Azure dari CLI, jalankan perintah berikut dan ikuti perintah untuk menyelesaikan proses autentikasi. Jika Anda menggunakan Cloud Shell, anda tidak perlu masuk.
az login
Pastikan Anda menjalankan CLI versi terbaru melalui perintah peningkatan.
az upgrade
Selanjutnya, instal atau perbarui ekstensi Azure Web PubSub untuk CLI jika tidak diinstal dengan az upgrade.
az extension add --name webpubsub --upgrade
1. Membuat grup sumber daya
Atur variabel lingkungan berikut.
<Ganti tempat penampung> dengan nama Web PubSub yang unik.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
az webpubsub key show --name $WebPubSubName --resource-group $ResourceGroupName --query primaryConnectionString
3. Menyambungkan klien ke instans layanan
Membuat klien Web PubSub. Klien mempertahankan koneksi ke layanan hingga dihentikan.
az webpubsub client Gunakan perintah untuk memulai koneksi klien WebSocket ke layanan. Klien selalu terhubung ke hub, jadi berikan nama hub untuk disambungkan oleh klien.
Koneksi ke layanan Web PubSub dibuat ketika Anda melihat pesan JSON yang menunjukkan bahwa klien sekarang berhasil terhubung, dan diberi yang unik connectionId:
Anda akan menggunakan Azure Web PubSub SDK untuk menerbitkan pesan ke semua klien yang terhubung ke hub.
Anda dapat memilih antara C#, JavaScript, Python, dan Java. Dependensi untuk setiap bahasa diinstal dalam langkah-langkah untuk bahasa tersebut. Python, JavaScript, dan Java memerlukan shell bash untuk menjalankan perintah dalam mulai cepat ini.
Menyiapkan proyek untuk memublikasikan pesan
Buka shell perintah baru untuk proyek ini.
Simpan string koneksi dari shell klien.
<your_connection_string> Ganti tempat penampung dengan string koneksi yang Anda tampilkan di langkah sebelumnya.
Tambahkan proyek baru bernama publisher dan paket Azure.Messaging.WebPubSubSDK .
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
Program.cs Perbarui file untuk menggunakan WebPubSubServiceClient kelas untuk mengirim pesan ke klien. Ganti kode dalam Program.cs file dengan kode berikut.
using System;
using System.Threading.Tasks;
using Azure.Messaging.WebPubSub;
namespace publisher
{
class Program
{
static async Task Main(string[] args)
{
if (args.Length != 3) {
Console.WriteLine("Usage: publisher <connectionString> <hub> <message>");
return;
}
var connectionString = args[0];
var hub = args[1];
var message = args[2];
var service = new WebPubSubServiceClient(connectionString, hub);
// Send messages to all the connected clients
// You can also try SendToConnectionAsync to send messages to the specific connection
await service.SendToAllAsync(message);
}
}
}
Panggilan service.SendToAllAsync() hanya mengirim pesan ke semua klien yang tersambung di hub.
Jalankan perintah berikut untuk menerbitkan pesan ke layanan.
dotnet run $connection_string "myHub1" "Hello World"
Shell perintah sebelumnya yang berisi klien Web PubSub menunjukkan pesan yang diterima.
Buka direktori src/main/java/com/webpubsub/quickstart .
Ganti konten dalam file App.java dengan kode berikut:
package com.webpubsub.quickstart;
import com.azure.messaging.webpubsub.*;
import com.azure.messaging.webpubsub.models.*;
/**
* Publish messages using Azure Web PubSub service SDK
*
*/
public class App
{
public static void main( String[] args )
{
if (args.length != 3) {
System.out.println("Expecting 3 arguments: <connection-string> <hub-name> <message>");
return;
}
WebPubSubServiceClient service = new WebPubSubServiceClientBuilder()
.connectionString(args[0])
.hub(args[1])
.buildClient();
service.sendToAll(args[2], WebPubSubContentType.TEXT_PLAIN);
}
}
Kode ini menggunakan Azure Web PubSub SDK untuk menerbitkan pesan ke layanan. Panggilan service.sendToAll() mengirim pesan ke semua klien yang terhubung di hub.
Kembalikan direktori webpubsub-quickstart-publisher yang berisi file pom.xml dan kompilasi proyek dengan menggunakan perintah berikut mvn .
mvn compile
Bangun paket.
mvn package
Jalankan perintah berikut mvn untuk menjalankan aplikasi untuk menerbitkan pesan ke layanan:
Mulai cepat ini memberi Anda gambaran dasar tentang cara tersambung ke layanan Web PubSub dan cara memublikasikan pesan ke klien yang tersambung.
Dalam penerapan dunia nyata, Anda dapat menggunakan SDK dalam berbagai bahasa membangun aplikasi Anda sendiri. Kami juga menyediakan ekstensi Fungsi bagi Anda untuk membangun aplikasi tanpa server dengan mudah.
Gunakan sumber daya ini untuk mulai membangun aplikasi Anda sendiri: