Share via


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 ConnectionStringangeben.

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 EventErrorResponseund 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.

Aufrufe