问题标签 [azure-eventgrid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 我们如何使用事件网格和服务总线改进我们的架构?
我们使用 Azure 作为我们的 PaaS 来托管多个通过 HTTP 相互通信的 .NET Core API 项目。当我们开始时,它只是几个端点,但就像今天和未来一样,我们需要在我们的项目之间做更多的这些通信。
在今天的解决方案中,我们HttpClient
用来执行这些通信。由于我们想要一个更独立的 API 项目,我们希望使用带有 webhook 的总线。尽管我们知道我们需要什么,但我们有很多选择,而且在 Azure 中感觉有点不知所措。
我们的要求是基本的,即向特定端点发送具有最小负载的请求,例如创建 id xx 的用户。
我们有点困惑,需要在Azure 平台内指出正确的方向。随时询问您是否需要更多信息来帮助我们!
问候
azure - Azure EventGrid 发送到内部端点
假设我在 Azure 中有一个 blob 存储帐户和一个 VM。VM 对世界是封闭的,没有公共终结点,但是可以从 Azure 订阅内部访问它。我想通知在此 VM 上运行的应用程序,新文件已上传到我的 blob 存储。我知道我可以使用 EventGrid 传递此类事件。我不知道是否可以将此事件发送到仅可从 VNET/子网获得的内部端点。
azure - 何时使用 EventGrid,何时使用 ServiceBus / Storage Queue?
在 Azure 中,我们有两种独立的消息传递技术,并且没有很好地记录何时使用什么?虽然 EventGrid 真的很酷,但我没有遇到过什么时候使用 EventGrid(scenarios) 与 Storage/ServiceBus 队列?有人可以帮忙吗?
例如,如果我有以下情况:
标志的状态发生变化,基于此,我想触发一个算法,该算法将在数据库中进行重新计算、少量插入/更新等。
为了实现这一点 - 我可以使用 EventGrid 或存储队列。我们如何确定在这种情况下使用什么?我正在寻找某种指导。
azure - 获取 ARM 中函数应用程序的 Webhook url 以用于事件网格订阅
我正在尝试自动部署我们的环境 vir ARM 模板。我可以部署事件网格和函数应用,但现在我需要在部署函数应用后将函数应用订阅到事件网格。有没有办法获取函数应用程序的 webhook url
- 通过 ARM
- 发布管道中的其他一些组件(Powershell)
一旦我们有了 webhook url,我们就可以通过 ARM 创建订阅 - 但是要访问正确的 url 似乎是我们落伍的地方。
请提供任何帮助
azure - Azure EventGrid Webhook 超时
从文档中得知 webhook 的超时时间为 60 秒。如果是这种情况,那么我们是否期望开发人员进行异步操作?我的意思是,如果我想作为 webhook 的一部分执行的工作需要超过 60 秒怎么办?但是,如果我们使该操作异步并且我想要作为 webhook 的一部分执行的工作失败,那么我们如何从这种情况中恢复,因为我们已经响应了事件网格 200 OK。在那种情况下——我们会输掉比赛吗?
c# - 发布到事件网格失败并显示“任务已取消”
我们最近开始看到将事件发布到事件网格的问题,因为它似乎非常不可靠。我们正在北欧举办活动网格主题(如果这有什么不同的话)。
在网上搜索,似乎我们并不孤单,而且它们只是最近才浮出水面。看;
https://github.com/Azure/azure-functions-host/issues/3160
https://github.com/Azure/azure-sdk-for-net/issues/4575
堆栈跟踪;
{System.Threading.Tasks.TaskCanceledException:任务被取消。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.Rest.RetryDelegatingHandler.<>c__DisplayClass11_0.<b__1>d.MoveNext()
--- 从先前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.Rest.RetryDelegatingHandler.d__11.MoveNext()
--- 从先前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
在 System.Net.Http.HttpClient.d__58.MoveNext()
--- 从先前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.Azure.EventGrid.EventGridClient.d__38.MoveNext()
--- 从先前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.Azure.EventGrid.EventGridClientExtensions.d__0.MoveNext()
--- 从先前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 EventBus.AzureEventGrid.EventPublisher.Publish[TEvent](TEvent integrationEvent)} System.Exception {System.Threading.Tasks.TaskCanceledException}
azure-eventgrid - 使用死信存储更新 Azure 事件网格函数订阅
receivingtestwesteurope
我已经成功地在资源组下的一个名为 的存储帐户上创建了一个存储 blob 创建事件触发器,该触发器omni-test
是通过一个名为ValidateMetadata
. 我通过门户 GUI 创建了它。但是,我现在想添加只能通过 CLI 完成的死信/重试策略。
工作触发器是这样的:
首先,我认为我可以使用死信队列更新现有事件:
返回:
az:错误:无法识别的参数:--deadletter-endpoint 接收testwesteurope/blobServices/default/containers/eventgrid
然后我尝试通过 REST Patch:
https://docs.microsoft.com/en-us/rest/api/eventgrid/eventsubscriptions/update
- 范围:
/subscriptions/fa6409ab-1234-1234-1234-85dd2b3ceab4/resourceGroups/omni-test/providers/microsoft.storage/storageaccounts/receivingtestwesteurope
- 事件订阅名称:
png
- api版本:
2018-05-01-preview
身体:
哪个返回
“模型状态无效。”
====================
最终工作解决方案:
azure - 多个 azure blob 容器的单个事件
我有一个要求是基于事件驱动架构进行文件合并。我有两个 blob 容器,一旦它们在各自的容器中可用,我就需要合并文件。关联将根据文件名发生。
这意味着假设我有两个容器,容器 A 和容器 B。当文件到达容器 A 时,它应该等待文件进入容器 B,然后应该触发事件,该事件将被 ADF 或逻辑应用订阅以进行进一步处理。请提出一些方法来实现这一点。
azure - 我可以为 Azure 事件网格主题使用自定义主机名吗
我有一个 Azure 事件网格主题:
有什么方法可以指导客户端将事件发布到https://xxx.mydomain.com/api/events而不会出现证书验证错误等?
azure - Azure 事件网格/函数/ngrok
我正在尝试按照说明使用 ngrok 进行本地测试
我的事件网格正在运行,我的函数使用 C# 示例在本地 VS 中运行。但是,当我尝试使用端点订阅我的事件时
我的本地 ngrok 控制台显示:
VS中的函数代码: