Azure WebJobs Web PubSub-Clientbibliothek für .NET – Version 1.7.0
Diese Erweiterung bietet Funktionen zum Empfangen von Web PubSub-Webhookaufrufen in Azure Functions, sodass Sie problemlos Funktionen schreiben können, die auf jedes in Web PubSub veröffentlichte Ereignis reagieren.
Quellcode | Paket | API-Referenzdokumentation | Produktdokumentation | Beispiele
Erste Schritte
Installieren des Pakets
Installieren Sie die Web PubSub-Erweiterung mit NuGet:
dotnet add package Microsoft.Azure.WebJobs.Extensions.WebPubSub
Voraussetzungen
Sie müssen über ein Azure-Abonnement und eine Azure-Ressourcengruppe mit einer Web PubSub-Ressource verfügen. Führen Sie dieses schrittweise Tutorial aus, um eine Azure Web PubSub-instance zu erstellen.
Authentifizieren des Clients
Damit die Erweiterung mit dem Azure Web PubSub-Dienst funktioniert, müssen Sie einen gültigen ConnectionString
angeben.
Sie finden den Azure Web PubSub-Dienst Schlüssel für Sie im Azure-Portal.
Die AzureWebJobsStorage
Verbindungszeichenfolge wird verwendet, um die Informationen zum Verarbeitungsprüfpunkt bei Bedarf beizubehalten, siehe Speicherüberlegungen
Verwenden Sie für die lokale Entwicklung die local.settings.json
Datei, um die Verbindungszeichenfolge zu speichern. <connection-string>
Kann auf als in der Erweiterung unterstützte Standardeinstellung festgelegt WebPubSubConnectionString
werden, oder Sie können benutzerdefinierte Namen festlegen, indem Sie sie mit Connection = <connection-string>
in Funktionsbindungsattributen zuordnen:
{
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"<connection-string>": "Endpoint=https://<webpubsub-name>.webpubsub.azure.com;AccessKey=<access-key>;Version=1.0;"
}
}
Verwenden Sie bei der Bereitstellung die Anwendungseinstellungen , um die Verbindungszeichenfolge festzulegen.
Wichtige Begriffe
Verwenden der Web PubSub-Eingabebindung
Befolgen Sie das Tutorial zur Eingabebindung , um mehr über die Verwendung dieser Erweiterung zum Erstellen WebPubSubConnection
einer Websockets-Verbindung mit dem Dienst mit Eingabebindung zu erfahren.
Verwenden der Web PubSub-Ausgabebindung
Folgen Sie dem Tutorial zur Ausgabebindung , um mehr über die Verwendung dieser Erweiterung zum Veröffentlichen von Web PubSub-Nachrichten zu erfahren.
Verwenden des Web PubSub-Triggers
Befolgen Sie das Tutorial zur Triggerbindung, um mehr über das Auslösen einer Azure-Funktion zu erfahren, wenn ein Ereignis vom Dienst Upstream gesendet wird.
In Connect
- und UserEvent
-Ereignissen berücksichtigt die Funktion Rückgabewerte, um den Dienst zurück zu senden. Dann hängt der Dienst von der Antwort ab, um die Anforderung fortzusetzen oder andernfalls. Die Antworten und Ereignisse werden gekoppelt. Berücksichtigt beispielsweise Connect
nur ConnectEventResponse
oder oder EventErrorResponse
und ignoriert andere Rückgaben. Wenn EventErrorResponse
zurückgegeben wird, löscht der Dienst die Clientverbindung. Befolgen Sie das Tutorial zum Rückgabewert der Triggerbindung , um mehr über die Verwendung des Triggerrückgabewerts zu erfahren.
Beispiele
Funktionen, die Web PubSub-Eingabebindung verwenden
public static class WebPubSubConnectionBindingFunction
{
[FunctionName("WebPubSubConnectionBindingFunction")]
public static WebPubSubConnection Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req,
[WebPubSubConnection(Hub = "hub", UserId = "{query.userid}", Connection = "<connection-string>")] WebPubSubConnection connection)
{
Console.WriteLine("login");
return connection;
}
}
Funktionen, die die Web PubSub-Ausgabebindung verwenden
public static class WebPubSubOutputBindingFunction
{
[FunctionName("WebPubSubOutputBindingFunction")]
public static async Task RunAsync(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req,
[WebPubSub(Hub = "hub", Connection = "<connection-string>")] IAsyncCollector<WebPubSubAction> action)
{
await action.AddAsync(WebPubSubAction.CreateSendToAllAction("Hello Web PubSub!", WebPubSubDataType.Text));
}
}
Funktionen, die Web PubSub-Trigger verwenden
public static class WebPubSubTriggerFunction
{
[FunctionName("WebPubSubTriggerFunction")]
public static void Run(
ILogger logger,
[WebPubSubTrigger("hub", WebPubSubEventType.User, "message")] UserEventRequest request,
string data,
WebPubSubDataType dataType)
{
logger.LogInformation("Request from: {user}, data: {data}, dataType: {dataType}",
request.ConnectionContext.UserId, data, dataType);
}
}
Funktionen, die den Rückgabewert des Web PubSub-Triggers verwenden
public static class WebPubSubTriggerReturnValueFunction
{
[FunctionName("WebPubSubTriggerReturnValueFunction")]
public static UserEventResponse Run(
[WebPubSubTrigger("hub", WebPubSubEventType.User, "message")] UserEventRequest request)
{
return request.CreateResponse(BinaryData.FromString("ack"), WebPubSubDataType.Text);
}
}
Problembehandlung
Anleitungen zur Problembehandlung finden Sie unter Überwachen Azure Functions.
Nächste Schritte
Lesen Sie die Einführung in Azure Function , oder erstellen Sie eine Azure Function-Anleitung.
Mitwirken
Weitere Informationen zum Erstellen, Testen und Mitwirken zu dieser Bibliothek finden Sie in unserem CONTRIBUTING.md .
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.
Azure SDK for .NET