stored-procedures - 队列并发触发的 Azure Function
问题描述
我有一个 azure 函数,它从 azure 数据库调用存储过程。它的工作方式是,当它收到消息“A”时,它应该使用 BULK INSERT .csv 文件将文件“A”从 blob 存储复制到数据库中的临时表“A”中,我可能会在一秒钟内得到几个文件需要插入到单独的表中。
问题是,当我使用“Microsoft Azure 存储资源管理器”在队列中手动添加一条且只有一条消息以触发该功能时,它工作得非常好,我可以看到目标表中的数据,但是当它自动运行时,它必须处理多个文件。所以没有一个表有任何数据,也没有一个文件被复制!也不例外!诡异的!
那么有谁知道当我们同时调用几个天蓝色函数时它是如何工作的,特别是当它们通过调用与不同源和目标一起工作的相同存储过程来进行数据库事务时?
解决方案
与此函数相关的队列正在由另一个 azure 函数填充,该函数将文件从 FileShare 复制到 BlobStorage 并且由于此过程是异步进程,然后第一个 azure 函数复制文件,在复制完成之前,它执行包含的其余代码当文件大小为 0KB 时,将消息添加到第二个队列并运行第二个函数
推荐阅读
- python-3.x - 如何在熊猫 groupby 上添加 Hodrick-Prescott 过滤趋势?
- c# - uwp ContentControl TemplateBinding 标记扩展
- sql-server - 无法连接到 Docker 容器中的 SQL Server
- excel - 单元格字符计数公式?
- java - Spring/JPA - 最好的查询方式
- r - leaflet() draws shapefile as giant rectangle
- r - knitr 在缓存 = TRUE 的 Stan 块上失败
- javascript - 带有graphql-yoga的子字段上的Graphql错误
- python - 加载图像返回函数 cv::inRange 中的断言失败
- c# - 如何将 `Tick` 事件连接到我的计时器?