天蓝色数据工厂 BlobEventsTrigger:以编程方式设置“高级过滤器”

问题描述

我正在尝试以编程方式设置 BlobEventsTrigger 的“高级过滤器”。

它们在每次部署时都会重置。我只需要 3 个,其中 7 个导致工作启动两次。每次部署后手动删除它们非常烦人。

我尝试将字段“advancedFilters”或“blobType”添加到触发器 json 文件中,但没有成功。

"typeProperties": {
            "blobPathBeginsWith": "/bingofile/blobs/","blobPathEndsWith": "/_SUCCESS","ignoreEmptyBlobs": false,"scope": "/subscriptions/bingofilesup/resourceGroups/bingofilesup/providers/Microsoft.Storage/storageAccounts/bingofilesup","events": [
                "Microsoft.Storage.BlobCreated"
            ]

enter image description here

我也尝试过 az eventgrid system-topic event-subscription update,但是在更新高级过滤器时,这个库不起作用。它询问一个端点(通常是一个兼性参数),当提供现有的数据工厂端点时,它无法到达它。

我查看了有关此端点的文档,据说它是 webhook 端点。

EventGrid 应该传递与此事件匹配的事件的端点 订阅。对于 webhook 端点类型,这应该是 对应的网络钩子 URL。对于其他端点类型,这应该是 终结点的 Azure 资源标识符。预计该 目标端点已创建并可供使用 在执行任何事件网格命令之前。

![enter image description here

但它不起作用。

部署失败。关联 ID: 95e4fab5-163e-48ab-8cb2-b23432516e53。网络钩子验证握手 [主题中提供的 webwook 端点] 失败。 HTTP POST 请求失败,响应代码未知。如需故障排除,请访问 https://aka.ms/esvalidation

任何观察或建议都会很棒,提前致谢!

解决方法

根据我的测试,端点 Internal test track 是一个基本 URL。当事件发送到数据工厂或更新订阅时,azure 将生成一个带有基本 URL 的端点来进行身份验证。所以如果你想用其他工具更新订阅,我认为你首先需要使用fildder来捕获请求以获取整个端点。

enter image description here