Hızlı Başlangıç: Azure Web PubSub hizmeti SDK'sını kullanarak iletileri yayımlama
Makale
Azure Web PubSub, WebSocket istemcilerini yönetmenize yardımcı olur. Bu hızlı başlangıçta, Azure Web PubSub hizmeti SDK'sını kullanarak WebSocket istemcilerine nasıl ileti yayımlayabileceğiniz gösterilmektedir.
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. İstemciyi hizmet örneğine bağlama
Web PubSub istemcisi oluşturun. İstemci, sonlandırılana kadar hizmetle bağlantı kurar.
az webpubsub client Hizmete webSocket istemci bağlantısı başlatmak için komutunu kullanın. İstemciler her zaman bir hub'a bağlanır, bu nedenle istemcinin bağlanabilmesi için bir hub adı sağlayın.
Web PubSub hizmetine bağlantı, istemcinin artık başarıyla bağlandığını belirten bir JSON iletisi gördüğünüzde kurulur ve benzersiz connectionIdbir atanır:
Hub'a bağlı tüm istemcilere ileti yayımlamak için Azure Web PubSub SDK'sını kullanacaksınız.
C#, JavaScript, Python ve Java arasında seçim yapabilirsiniz. Her dilin bağımlılıkları bu dilin adımlarında yüklenir. Python, JavaScript ve Java, bu hızlı başlangıçtaki komutları çalıştırmak için bir bash kabuğu gerektirir.
projeyi iletileri yayımlayacak şekilde ayarlama
Bu proje için yeni bir komut kabuğu açın.
bağlantı dizesini istemci kabuğundan kaydedin. Yer tutucuyu <your_connection_string> önceki bir adımda görüntülediğiniz bağlantı dizesiyle değiştirin.
adlı yeni bir proje publisher ekleyin ve SDK paketi Azure.Messaging.WebPubSub.
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
Program.cs İstemcilere ileti göndermek için sınıfını WebPubSubServiceClient kullanmak için dosyasını güncelleştirin. Dosyasındaki Program.cs kodu aşağıdaki kodla değiştirin.
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);
}
}
}
Çağrı, hub'daki service.SendToAllAsync() tüm bağlı istemcilere bir ileti gönderir.
Hizmete bir ileti yayımlamak için aşağıdaki komutu çalıştırın.
dotnet run $connection_string "myHub1" "Hello World"
Web PubSub istemcisini içeren önceki komut kabuğu alınan iletiyi gösterir.
App.java dosyasındaki içeriği aşağıdaki kodla değiştirin:
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);
}
}
Bu kod, hizmete bir ileti yayımlamak için Azure Web PubSub SDK'sını kullanır. Çağrı, service.sendToAll() bir hub'daki tüm bağlı istemcilere bir ileti gönderir.
pom.xml dosyasını içeren webpubsub-quickstart-publisher dizinini döndürüp aşağıdaki mvn komutu kullanarak projeyi derleyin.
mvn compile
Paketi oluşturun.
mvn package
mvn Aşağıdaki komutu çalıştırarak uygulamayı yürüterek hizmete bir ileti yayımlayın:
Bu hızlı başlangıçta, Web PubSub hizmetine bağlanma ve bağlı istemcilere ileti yayımlama hakkında temel bir fikir sağlanır.
Gerçek dünyadaki uygulamalarda, çeşitli dillerde SDK'ları kullanarak kendi uygulamanızı oluşturabilirsiniz. Ayrıca sunucusuz uygulamaları kolayca oluşturmanız için İşlev uzantıları da sağlıyoruz.
Kendi uygulamanızı oluşturmaya başlamak için şu kaynakları kullanın: