我有一个Azure存储帐户,其中包含一个托管多个容器的Blob存储。到目前为止,我已经成功创建了一个事件,该事件侦听Microsoft.Storage.BlobCreated
事件并在我的Web API项目中调用一个Webhook。
当在Web API中处理事件时,我们想知道文件被上传到哪个容器。当前的schema不支持此信息。
我们预期的解决方法是将容器名称附加到文件名中,并在Web API中对其进行解析,然后根据容器名称启动处理逻辑。是否有更好的方法将容器名称附加到BlobCreated事件数据?
GitHub上似乎有这个问题,没有官方的解决方案。我希望已经有了更好的解决方法。
目前没有SDK可以获取容器触发器。存在一些有关功能或其他服务的问题。目前尚无直接的方法来实现这一目标。
但是,从event response中您可以找到包含容器详细信息的主题,因此您可以仅使用split()
方法来获取它。
出于测试目的,我将逻辑应用程序与js一起使用。主题是事件json数据中的subject
。用/
分割并获取数组中的容器名称。在实际情况中,容器名称是虚拟路径之后,并假设这不是您想要的,因此只需获取索引4的值就是容器名称。