Azure sql database 使用azure函数将数据从Json字符串插入AzureSQLDB的最佳实践是什么?

Azure sql database 使用azure函数将数据从Json字符串插入AzureSQLDB的最佳实践是什么?,azure-sql-database,azure-functions,Azure Sql Database,Azure Functions,我是Azure函数的新手。我需要将数据插入AzureSQLDB。我将通过调用restful api以json的形式获取数据。我计划创建一个定时器触发功能,因为这个数据传输应该每月自动完成一次。我想知道我应该采取哪种方法 我应该在azure函数中将json值解析为模型,并通过执行查询逐个插入它吗 我是否应该将整个json字符串发送到AzureSqlDB并查询json并在表中插入值 或者是否有任何其他方法被视为此要求的最佳实践 提前感谢。这里可能有几种观点和方法,但我至少有几点考虑: 您可以在

我是Azure函数的新手。我需要将数据插入AzureSQLDB。我将通过调用restful api以json的形式获取数据。我计划创建一个定时器触发功能,因为这个数据传输应该每月自动完成一次。我想知道我应该采取哪种方法

  • 我应该在azure函数中将json值解析为模型,并通过执行查询逐个插入它吗
  • 我是否应该将整个json字符串发送到AzureSqlDB并查询json并在表中插入值
  • 或者是否有任何其他方法被视为此要求的最佳实践

提前感谢。

这里可能有几种观点和方法,但我至少有几点考虑:

  • 您可以在SQL Server内部解析JSON,但可能不应该。通常,最好利用像C#这样的通用编程语言,利用所有库、可测试性和廉价CPU时间,而不是在SQL中这样做

  • 避免对N行进行N次单独的数据库调用。由于行数较多,许多调用的延迟会积累得相当快。记住,在消费计划中,单次函数调用最多有10分钟

  • 这是有争议的,但我会避免像实体框架这样繁重的库

我不知道您的SQL表的确切结构,但我的默认方法是:

  • 获取JSON
  • 将其转换为C#对象/验证/应用任何逻辑或转换
  • 填写一个普通的ADO.NET
    DataTable
  • 使用
    SqlBulkCopy
    将数据插入SQL,请参见

批量的行数有多大?希望一次至少获得10000行。非常感谢您的回答。我尝试了这种方法,发现它非常有用。