【问题标题】:Azure Event Grid: Deliver events if blob contains metadataAzure 事件网格:如果 blob 包含元数据,则传递事件
【发布时间】:2021-04-21 03:08:26
【问题描述】:

我为BlobCreated 事件创建了一个事件订阅。我使用Azure FunctionsEventGridTrigger 来接收事件。现在,每次创建新 blob 时都会触发事件。是否可以在事件订阅中创建高级过滤器,以便仅当 blob 包含元数据时才传递事件?

【问题讨论】:

    标签: azure azure-functions azure-blob-storage azure-eventgrid


    【解决方案1】:

    不,AEG 高级筛选不支持此功能,请参阅 Azure Blob 存储的事件架构作为事件网格源 here

    正如您在本文档中看到的,事件数据对象中没有 blob 的元数据。

    【讨论】:

    • 有什么办法,我可以找到metadata 接收到的 BlobCreated 事件吗?就像创建的文件一样,我想获取所有元数据的列表。
    • @yogendarji 在 EventGridTrigger 函数中使用 await blob.FetchAttributesAsync() 来获取 blob 的元数据,其中 blob 是 CloudBlockBlob 的输入绑定参数。
    • 我尝试过使用public static async void Runasync([EventGridTrigger] EventGridEvent eventGridEvent, [Blob("test/{name}", FileAccess.Read, Connection = "ConnectionString")] CloudBlockBlob blob, ILogger log),但仍然 blob 始终是null
    • @yogendarji,你应该使用 blobPath "{data.url}"
    猜你喜欢
    • 2019-12-23
    • 2020-10-15
    • 2018-11-27
    • 1970-01-01
    • 2022-01-15
    • 2018-04-19
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多