Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# azure存储事件是否可用于web场_C#_Azure_Azure Eventgrid - Fatal编程技术网

C# azure存储事件是否可用于web场

C# azure存储事件是否可用于web场,c#,azure,azure-eventgrid,C#,Azure,Azure Eventgrid,我想知道是否有人在web场设置中使用了事件网格订阅(在blob存储上) 我已经使用混合连接在blob存储上创建了一个事件网格订阅 如果您有多个(侦听器)应用程序,是否可以配置一个可以“命中”每个应用程序的事件网格订阅?Azure事件网格是一个发布/订阅模型,用于根据订阅服务器的订阅(如逻辑连接元数据)将事件推送(分发)到订阅服务器。换句话说,此发布/订阅模型上没有侦听器 在您的场景中,来自事件驱动blob存储的事件通过混合连接推送到Azure中继服务。注意,混合连接在端口443上使用带有SSL(

我想知道是否有人在web场设置中使用了事件网格订阅(在blob存储上)

我已经使用混合连接在blob存储上创建了一个事件网格订阅


如果您有多个(侦听器)应用程序,是否可以配置一个可以“命中”每个应用程序的事件网格订阅?

Azure事件网格是一个发布/订阅模型,用于根据订阅服务器的订阅(如逻辑连接元数据)将事件推送(分发)到订阅服务器。换句话说,此发布/订阅模型上没有侦听器

在您的场景中,来自事件驱动blob存储的事件通过混合连接推送到Azure中继服务。注意,混合连接在端口443上使用带有SSL(https)的WebSocket。可以找到有关Azure中继混合连接协议的更多详细信息

基于此协议,同一Azure中继混合连接上的接收器将保持平衡,换句话说,Azure中继混合连接不支持UDP端口

场景(事件消息广播)的解决方案是使用带有输出绑定的EventGridTrigger函数作为事件驱动blob存储的订户

更新:

以下屏幕片段显示了基于与EventGridTrigger功能集成的AEG和SignalR服务将事件从blob存储广播到web场服务器:

为函数使用SignalRService扩展非常简单,请参见以下示例:

    #r "Microsoft.Azure.WebJobs.Extensions.SignalRService"

    using Microsoft.Azure.WebJobs.Extensions.SignalRService;

    public static async Task Run(string eventGridEvent, IAsyncCollector<SignalRMessage> signalRMessages, ILogger log)
    {
        log.LogInformation(eventGridEvent);

        await signalRMessages.AddAsync(
            new SignalRMessage
            {
                Target = "Broadcasting",
                Arguments = new[] {eventGridEvent }
            });  
    }

如果您不习惯使用Azure表,另一个选择是将Cosmos DB与Azure函数和信号器一起使用。我为另一个项目做过类似的事情,非常可扩展,几乎是实时的

    {
        "bindings": [
         {
          "type": "eventGridTrigger",
          "name": "eventGridEvent",
          "direction": "in"
         },
         {
            "type": "signalR",
            "name": "signalRMessages",
            "hubName": "mySignalRHubName",
            "connectionStringSetting": "AzureSignalRConnectionString",
            "direction": "out"
         }
         ],
        "disabled": false
    }