【问题标题】:Azure Blob Storage: Filter Event Subscription for the BlobCreated Event by Container NameAzure Blob 存储:按容器名称筛选 BlobCreated 事件的事件订阅
【发布时间】:2020-04-08 20:29:54
【问题描述】:

我有一个 Azure 存储帐户,其中包含一个托管多个容器的 blob 存储。到目前为止,我已经成功创建了一个监听Microsoft.Storage.BlobCreated 事件并在我的Web API 项目中调用webhook 的事件。

在 Web API 中处理事件时,我们想知道文件上传到了哪个容器。当前的schema 不支持此信息。

我们预期的解决方法是将容器名称附加到文件名中,并在 Web API 中对其进行解析,并根据容器名称启动处理逻辑。有没有更好的方法将容器名称附加到 BlobCreated 事件数据?

GitHub 上似乎有一个关于此的问题,没有官方解决方案。我希望已经有更好的解决方法。

【问题讨论】:

    标签: c# asp.net-core azure-blob-storage


    【解决方案1】:

    目前没有 SDK 可以获取容器触发器。存在一些关于功能或其他服务的问题。目前没有直接的方法来实现这一点。

    但是从event response 中,您可以找到主题包含容器详细信息,因此您可以使用split() 方法获取它。

    出于测试目的,我将逻辑应用程序与 js 一起使用。主题是事件 json 数据中的subject。使用/ 拆分并获取数组中的容器名称。在实际情况下,容器名后面是虚拟路径,假设这不是你想要的,所以只需获取索引4的值就是容器名。

    【讨论】:

    • 哦,你是对的。容器名称确实包含在路径中?我可以从那里提取它。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 2020-12-12
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    相关资源
    最近更新 更多