sql - 使用 Azure Eventhub + Logic 应用的 SQL Server 并行插入
问题描述
我正在使用 Azure 事件中心将 Azure 诊断数据流式传输到逻辑应用程序,以将其保存到 Azure SQL 表中以进行监视。这很好用。但是,有时会发生 EventHub 发送重复的情况。为了避免重复插入,我使用了带有 WHERE NOT EXISTS 子句的 INSERT INTO 语句。但是,我仍然很少出现双排。Logic 应用程序并行运行,所以我猜这是导致问题的原因。我认为有时它会在完全相同的时间执行相同的插入,这会导致 WHERE NOT EXISTS 子句不起作用。
有谁知道解决方法?我不想在之后删除重复的行,因为我想在表上放置一个唯一的键约束。
解决方案
你必须在你的函数中进行一些幂等性检查。当缩放发生时,新的缩放单元将接管处理分区,从而重新处理相同的消息。
我不知道服务总线是否可以将这些消息排队。我建议您向事件中心团队报告。
推荐阅读
- python - 在这个 drop nulls 函数中如何避免 collect() ?有什么(额外的)方法可以提高性能?
- amazon-web-services - 在 AWS Secret Manager 中配置凭证轮换时出现权限错误
- validation - Postman 测试解析 json 响应正文并验证数组中没有重复值
- jquery - jquery ui 继承按钮小部件
- r - 更改自动分配给因子的 GGPLOT2 aes 颜色
- drools - Kie-Workbench 中项目的书签 URL?
- ios - 快速列出 iOS 应用程序的可用语言
- swift - 将阴影添加到视图中,只有两个带半径的角
- php - 如何使用 nativescript 中的 fetch 将表单数据发送到 php?
- laravel - 获取我使用 ::with 读取的相关数据的用户名