标签: azure-eventgrid

如何让 Azure 事件网格触发 Azure Function?

我应该使用哪种触发器类型来运行 Azure 函数作为 Azure 事件网格主题的订阅?

与事件网格相关的任何地方都提到了此功能,但我没有看到任何教程或代码示例。

azure azure-functions azure-eventgrid

5
推荐指数
1
解决办法
3017
查看次数

不同资源组中自定义主题的 Azure 事件网格订阅

我正在尝试订阅存在于不同资源组上的自定义事件网格主题。例如,如果我my-custom-topic在资源组中有一个自定义事件网格主题publisher-group。如何从资源组中创建对我的主题的事件网格订阅subscriber-group

仅当以下 ARM 模板my-custom-topic与我应用该模板位于同一资源组中时才有效

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "eventGridSubscriptionName": {
            "type": "String",
            "metadata": {
                "description": "The name of the Event Grid custom topic's subscription."
            }
        },
        "location": {
            "defaultValue": "[resourceGroup().location]",
            "type": "String",
            "metadata": {
                "description": "The location in which the Event Grid resources should be deployed."
            }
        }
    },
    "resources": [
        {
            "type": "Microsoft.EventGrid/topics/providers/eventSubscriptions",
            "apiVersion": "2018-01-01",
            "name": "[concat('my-custom-topic', '/Microsoft.EventGrid/', parameters('eventGridSubscriptionName'))]",
            "location": "[parameters('location')]",
            "properties": {
                "destination": {
                    "endpointType": "EventHub",
                    "properties": …
Run Code Online (Sandbox Code Playgroud)

azure-eventgrid

5
推荐指数
1
解决办法
1201
查看次数

通过事件网格的 Application Insights 关联

我有一个由两个 ASP.NET Core 应用程序(应用程序 A 和应用程序 B)组成的应用程序。应用程序 A 对应用程序 B 进行 HTTP 调用,Application Insights 会自动关联它并将它们显示为单个请求。伟大的!

但是,我现在转向更基于事件的系统设计,其中应用程序 A 将事件发布到 Azure 事件网格,应用程序 B 设置了一个 webhook 来侦听该事件。

进行了更改后,遥测相关性被破坏,不再显示为单个操作。

我已阅读此文档:https : //docs.microsoft.com/en-us/azure/azure-monitor/app/correlation 解释了相关标题的理论 - 但我如何将其应用于事件网格并获取它将相关标头转发到订阅端点?

azure azure-application-insights azure-eventgrid

5
推荐指数
1
解决办法
1052
查看次数

如何为 Azure 服务编写 MassTransit Json 解串器

这是我将对象发布到事件网格的方式。我希望能够使用azure服务总线来收听它。

        public void Publicar<T>(T model, string operation, string entity)
    {
        _nomeEvento = entity + operation;

        Boolean.TryParse(Configuration["EventGridConfig:Enabled"], out var eventGridIsActive);
        if (!eventGridIsActive)
            return;

        var primaryTopicKey = Configuration["EventGridConfig:AcessKey"];
        var primaryTopic = Configuration["EventGridConfig:Endpoint"];

        var primaryTopicHostname = new Uri(primaryTopic).Host;

        var topicCredentials = new TopicCredentials(primaryTopicKey);
        var client = new EventGridClient(topicCredentials);

        client.PublishEventsAsync(primaryTopicHostname, GetEventsList(model)).GetAwaiter().GetResult();
    }

    private List<EventGridEvent> GetEventsList<T>(T model)
    {
        return new List<EventGridEvent>
        {
            new EventGridEvent()
            {
                Id = Guid.NewGuid().ToString(),
                EventType = _nomeEvento,
                Data = model,
                EventTime = DateTime.Now,
                Subject = "MS_Clientes",
                DataVersion = "1.0",
            }
        }; …
Run Code Online (Sandbox Code Playgroud)

json azure azureservicebus json-deserialization azure-eventgrid

5
推荐指数
2
解决办法
2543
查看次数

通过 ARM 模板对 EndpointType 为 AzureFunction 的主题进行事件订阅

我正在尝试使用"endpointType": "AzureFunction"创建事件网格主题订阅。它给出以下错误:-

"error": { "code": "InvalidRequest", "message": "无效的事件订阅请求:提供的 URL 无效。它不能为 null 或为空,并且应该是正确的 HTTPS URL,例如https://www.example。 com。” }

我的 ARM 模板如下:-

{
      "name": "[concat(variables('eventGridTopicName'), '/Microsoft.EventGrid/', variables('myFuncName'))]",
      "type": "Microsoft.EventGrid/topics/providers/eventSubscriptions",
      "apiVersion": "2019-01-01",
      "location": "[parameters('location')]",
      "properties": {
        "topic": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('resourceGroupName'), '/providers/Microsoft.EventGrid/topics/', variables('eventGridTopicName'))]",
        "destination": {
          "endpointType": "AzureFunction",
          "properties": {
            "resourceId": "[resourceId('Microsoft.Web/sites/functions/', variables('funcAppName'), variables('myFuncName'))]",
            "maxEventsPerBatch": 1,
            "preferredBatchSizeInKilobytes": 64
          }
        },
        "filter": {
          "advancedFilters": [
            {
              "operatorType": "StringIn",
              "key": "eventType",
              "values": [
                "xyzEvent"
              ]
            },
            {
              "operatorType": "StringIn",
              "key": "subject",
              "values": [
                "xyzEventReceived"
              ] …
Run Code Online (Sandbox Code Playgroud)

azure azure-resource-manager azure-rm-template azure-functions azure-eventgrid

5
推荐指数
1
解决办法
4685
查看次数

如何将与 VNet 集成的 Azure 功能应用程序列入白名单以进行 Even Grid 订阅

我们在标准应用服务计划中托管了功能应用。为了保护功能应用程序的安全,我们将其集成到 VNet,并仅允许来自 API 管理服务的流量。现在,我们希望允许来自具有函数应用程序端点 Web 挂钩的事件网格(它具有 IoTHub 和 SignalR 订阅)的流量。

我们的一种选择是将所有事件网格 IP 范围列入白名单。我们尝试的第二个选项是允许使用网络安全组的事件网格服务标记。但是,azure 不允许 NSG 中的入站规则到 VNet。除了将所有 Event-Grid IP 范围列入白名单之外,还有其他干净的方法吗?

https://learn.microsoft.com/en-us/azure/app-service/web-sites-integrate-with-vnet#network-security-groups

azure azure-eventgrid azure-function-app

5
推荐指数
0
解决办法
498
查看次数

事件网格主题与事件网格系统主题

  1. 事件网格主题事件网格系统主题有什么区别。

当我选择资源类型“事件网格自定义主题”时,将创建事件网格主题类型。

但是当我使用 Service Bus Premium->Event Registration 时。正在创建事件网格系统主题类型。

问题是哪一种更有效以及使用哪一种。因为我使用端点类型 Webhook并在消息发布到我的服务总线队列/主题时调用我的逻辑应用程序事件。

而在EventGrid 自定义主题中,我必须在逻辑应用程序中使用事件网格触发器,并且会自动创建事件自定义主题。

请告诉我这两者之间的区别以及何时使用哪个以及哪个更有效

在此输入图像描述

在此输入图像描述 在此输入图像描述 在此输入图像描述

azureservicebus azure-logic-apps azure-eventgrid azure-servicebus-subscriptions

5
推荐指数
1
解决办法
5466
查看次数

何时使用 EventGrid,何时使用 ServiceBus/Storage Queue?

在 Azure 中,我们有两种独立的消息传递技术,但没有很好地记录何时使用什么?虽然 EventGrid 真的很酷,但我没有遇到什么时候使用 EventGrid(scenarios) 和 Storage/ServiceBus 队列?有人可以帮忙吗?

例如,如果我有以下情况:

标志的状态发生变化,基于此,我想触发一种算法,该算法将在数据库中进行重新计算、少量插入/更新等。

为了实现这一点 - 我可以使用 EventGrid 或 Storage Queue。我们如何确定在这种情况下使用什么?我正在寻找某种指导。

servicebus azure azure-eventgrid

4
推荐指数
1
解决办法
4278
查看次数

直接从 Angular 客户端订阅 Azure 事件网格主题

我正在开发一个需要响应来自第三方 WebHook 的事件的应用程序。我选择 Azure Event Grid 作为我选择的事件代理,Angular 作为前端,Asp.Net Core 作为后端。

在我当前的解决方案中,我使用 HTTP 触发的 Azure 函数从 WebHook 发布到 Azure 事件网格。此函数将第三方事件格式化为正确的 Azure 事件网格格式(以相关事件用户为主题,事件类型为 WebHook 事件类型)。目前,事件网格事件已使用 WebHook Azure 事件网格订阅推送到我的 Asp.Net 后端。

我的问题是,某些事件仅涉及前端(例如提醒/灯光通知),因此我想直接将事件从事件网格发布到前端,而不使用 WebSocket 到后端的端点。

我目前正在使用 SignalR 在 Angular 和 Asp.Net Core 之间创建 WebSocket 连接,但我不想通过发送仅重定向到 Angular 的事件来使后端过载。

有没有办法使用 WebSocket 连接直接订阅 Azure 事件网格?就最小推送/轮询而言,最佳解决方案是什么?或者我应该切换到另一个带有 JavaScript 库的事件代理(如 RabbitMQ)?

在此输入图像描述

asp.net publish-subscribe messagebroker angular azure-eventgrid

4
推荐指数
1
解决办法
2774
查看次数

库之间的区别:Microsoft.Azure.EventGrid 和 Azure.Messaging.EventGrid

我一直在尝试使用 Azure EventGrid 将事件发布到Azure.Messaging.EventGridEvent.EventGridPublisherClient,效果很好。我刚刚发现 EventGrid 还有另一个客户端,即Microsoft.Azure.EventGrid.EventGridClient.

经过调查,库和命名空间都实现了相同的目标,但公开了截然不同的方法和属性,并且处理序列化和反序列化的方式也Data截然不同;whileMicrosoft.Azure.EventGrid.EventGridEvent直接将Data属性公开为public属性,Azure.Messaging.EventGridEventhasData作为internal属性并且仅公开诸如GetData<T>、 和 之类的方法GetDataAsync<T>

让两个库做几乎相似的事情让我完全困惑,不知道哪个是正确的库。对于我们何时应该使用一个库而不是另一个库,是否有任何指导原则?使用其中一种比另一种有什么好处吗?我尝试查看文档,但无法辨别有关这两个库的正确用法的任何信息。

c# azure azure-eventgrid

4
推荐指数
1
解决办法
1008
查看次数