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

时间:2018-08-13 08:04:55

标签: azure-sql-database azure-functions

我是Azure Functions的新手。我有将数据插入AzureSQLDB的要求。我将通过调用一个宁静的api以json的形式获取数据。我正计划创建一个Timer Trigger函数,因为该数据传输应该每月一次自动进行。我想知道应该采用哪种方法。

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

先谢谢了。

1 个答案:

答案 0 :(得分:2)

这里可能有几种意见和方法,但是我至少要考虑两个方面:

  • 可以在SQL Server中解析JSON,但您可能不应该。通常,最好将C#之类的通用编程语言与所有库一起使用,并提高可测试性,并以较低的CPU时间付费,而不是在SQL中这样做

  • 避免对N行进行N个单独的数据库调用。在大量行中,许多呼叫的等待时间将很快累积。记住,在消费计划中,一次函数调用最多有10分钟

  • 值得商,,但我会避免使用诸如实体框架之类的繁重库

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

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