ADF - 如何在 Copy Activity 中禁用映射

ADF - How to disable mapping in Copy Activity

我想将数据从 CosmosDB 备份到存储。

当数据的值以 .000Z 结尾时,我发现数据库的数据与存储的数据不同。

CosmosDB 中的数据如下:

{
  "start": "2021-09-12T15:00:00.000Z",
  "end": "2022-10-30T15:00:00.000Z",
}

存储中的数据如下:

{
  "start": "2021-09-12T15:00:00Z",
  "end": "2022-10-30T15:00:00Z",
}

如何让它们相同?

.000 表示时间戳中的秒数,Z 表示 ISO-8601 日期格式的 UTC 时区。而且,00Z 仅对应于格林威治的午夜。

Azure Cosmos DB 中 DateTime 字符串的推荐格式是 yyyy-MM-ddTHH:mm:ss.fffffffZ,它遵循 ISO 8601 UTC 标准。其中,.fffffff seven-digit 小数秒

您可以启用或禁用此 Detect datetime 属性 以将其作为字符串获取。此外,如果您选择接收器作为 .json,则选项非常少(例如,如果适用于 .csv 接收器,则可以选择列格式)。

您还可以查看 Configure Azure Cosmos DB account with periodic backup

您可以先查看映射以检查为该字段映射了哪些数据类型

我有一个这样的用例,其中数据类型不同,我尝试了以下步骤来解决:

  1. 在“复制”的“映射”部分单击“导入”Activity
  2. 检查是否所有列都正确映射
  3. 从副本 activity 中提取 JSON 进行映射
  4. 检查 JSON
  5. 中映射的数据类型
  6. 如果字段的数据类型不匹配,那么您将得到不同的数据
  7. 要匹配数据,您必须动态传递 JSON,本教程对此进行了详细说明:https://www.youtube.com/watch?v=b27gmOufge4