天蓝色数据工厂 Blob 事件触发器:以编程方式设置 "advanced filter"

azure data factory BlobEventsTrigger : set "advanced filter" programatically

我正在尝试以编程方式设置 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"
            ]

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

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

Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command.

但是没用。

Deployment failed. Correlation ID: 95e4fab5-163e-48ab-8cb2-b23432516e53. Webhook validation handshake failed for [webwook end point provided in the topic]. Http POST request failed with response code Unknown. For troublehooting, visit https://aka.ms/esvalidation.

任何意见或建议都将非常有用,在此先感谢!

根据我的测试,端点 https://pmeastasia.svc.datafactory.azure.com:4443/triggerevent/BlobEventsTrigger/<> 是一个基 URL。当事件发送到数据工厂或更新订阅时,Azure 将生成一个基数为 URL 的端点以进行身份​​验证。所以如果你想用其他工具更新订阅,我认为你需要先使用fildder来捕获请求以获取整个端点。