【发布时间】:2021-06-23 11:06:54
【问题描述】:
我需要找到在 Azure 上执行长时间运行任务的最佳方法。 场景:
- 用户在 Web 应用(Azure 应用服务)上选择数据集和筛选器
- 根据我们创建 SQL 查询的要求
- 针对一个或多个 Azure SQL 数据库执行查询
- 正在以 .csv 格式导出数据并上传到 Azure Blob 存储
主要问题是某些 SQL 查询的执行可能会持续 2 多个小时,并且结果集可能有 100M+ 行。
我认为 Azure Functions(以及随后的 Durable Functions)不是一个选项,因为超时和内存使用情况。
【问题讨论】:
-
您能详细解释一下您想要启用的端到端方案吗?为什么需要 CSV 文件?您使用什么大小的 SQL?导出所有 CSV 文件后会发生什么情况?等等
-
您好,有问题的 Azure SQL 数据库是 GP:Gen5 16vCore 和 DTU S9。我们需要为用户提供一种方法来手动从多个数据库中选择数据,组合和过滤它们。导出完成后,用户下载 .csv 文件并将其导入他们的系统。将来,blob 拾取将是自动化的。
-
听起来你应该在 SQL DB 上使用弹性查询或使用 SQL Server + 多个数据库。
-
您可以设置 Kubernetes 集群并运行 Jobs。这也具有成本效益。
标签: azure azure-functions export azure-sql-database long-running-processes