我继承了一个使用Stream Analytics with blobs作为输入的解决方案,然后写入Azure SQL数据库。
最初,解决方案工作正常,但在向容器添加数百万个blob(而不是删除旧blob)之后,Stream Analytics处理新blob的速度很慢。此外,似乎有些blob被错过/跳过。
问题:Stream Analytics如何知道容器中有新的blob?
在EventGrid之前,Blob存储没有推送通知机制让Stream Analytics知道需要处理新的blob,因此我假设Stream Analytics正在轮询容器以获取blob列表(像Chr12
这样的东西,并在内部保存blob列表,这样当它再次轮询时,它可以将新列表与旧列表进行比较,并知道哪些blob是新的,需要进行处理。
Stream Analytics只会查看每个文件一次
然而,除了那个说明之外,我还没有看到任何其他文档来解释Stream Analytics如何知道要处理的blob。
答案 0 :(得分:1)
ASA使用列表blob获取blob列表。
如果您可以按日期时间模式对blob路径进行分区,那就更好了。 ASA只需要列出发现新blob的特定路径,没有日期模式,所有blob都必须列出。这可能是为什么它会因为大量的blob而变慢。