【发布时间】:2018-04-15 05:43:51
【问题描述】:
我继承了一个解决方案,它使用带有 blob 作为输入的流分析,然后写入 Azure SQL 数据库。
最初,该解决方案运行良好,但在向容器添加数百万 blob(而不是删除旧 blob)后,流分析处理新 blob 的速度很慢。此外,似乎有些 blob 被遗漏/跳过了。
问题:流分析如何知道容器中有新的 blob?
在 EventGrid 之前,Blob 存储没有推送通知机制让流分析知道需要处理新的 Blob,因此我假设流分析正在轮询容器以获取 Blob 列表(使用类似CloudBlobContainer.ListBlobs()) 并在内部保存 blob 列表,这样当它再次轮询时,它可以将新列表与旧列表进行比较,并知道哪些 blob 是新的并且需要处理。
documentation 声明:
流分析只会查看每个文件一次
但是,除了那个注释之外,我还没有看到任何其他文档来解释流分析如何知道要处理哪些 blob。
【问题讨论】:
-
您是如何设法让 Blob 存储工作作为输入的?我总是在 SQL 查询中得到 0 行。你能帮忙吗?
标签: azure azure-blob-storage azure-stream-analytics