gpt4 book ai didi

azure - 如何创建从 OData 到 Azure DocumentDB 的定期数据副本

转载 作者:行者123 更新时间:2023-12-03 00:12:00 25 4
gpt4 key购买 nike

我正在尝试每天定期将从 OData 查询返回的所有数据复制到 documentDB 集合中。

使用复制向导可以很好地进行复制,这对于简单任务来说是一个非常好的选择。谢谢你。

但对我不起作用的是:副本每次只是添加数据,而且我无法使用 documentDB 接收器来“预删除”集合中的数据(与 SQL 接收器相比)其中有 sqlWriterCleanupScript,我可以将其设置为类似从“表”中删除 * 的内容)。

我知道我可以创建一个 Azure Batch 并执行我需要的操作,但此时,我不确定执行一个函数并为此放弃 Azure 数据工厂 (ADF) 是否更好。我正在使用 ADF 复制本地 SQL 内容,效果很好,因为它具有编写器清理脚本。

此时,我只想使用 DocumentDB,但鉴于我的数据工作方式,我看不到一种方法。

这是我的管道:

{
"name": "R-------ProjectToDocDB",
"properties": {
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "RelationalSource",
"query": " "
},
"sink": {
"type": "DocumentDbCollectionSink",
"nestingSeparator": ".",
"writeBatchSize": 0,
"writeBatchTimeout": "00:00:00"
/// this is where a cleanup script would be great.
},
"translator": {
"type": "TabularTranslator",
"columnMappings": "ProjectId:ProjectId,.....:CostClassification"
}
},
"inputs": [
{
"name": "InputDataset-shc"
}
],
"outputs": [
{
"name": "OutputDataset-shc"
}
],
"policy": {
"timeout": "1.00:00:00",
"concurrency": 1,
"executionPriorityOrder": "NewestFirst",
"style": "StartOfInterval",
"retry": 3,
"longRetry": 0,
"longRetryInterval": "00:00:00"
},
"scheduler": {
"frequency": "Day",
"interval": 1
},
"name": "Activity-0-_Custom query_->---Project"
}
],
"start": "2017-04-26T20:13:27.683Z",
"end": "2099-12-31T05:00:00Z",
"isPaused": false,
"hubName": "r-----datafactory01_hub",
"pipelineMode": "Scheduled"
}
}

也许管道中有一个更新,可以在 SQL 输出和 DocumentDB 之间创建奇偶校验

最佳答案

Azure 数据工厂今天不支持 DocDB 的清理脚本。这是我们积压的事情。如果您能对 E2E 场景进行更多描述,可以帮助我们确定优先事项。例如,为什么追加到同一个集合不起作用?是因为每次运行后无法识别增量记录吗?对于清理要求,是否始终删除 * 或者可能基于时间戳等。谢谢。在支持清理脚本之前,自定义事件是现在唯一的解决方法,抱歉。

关于azure - 如何创建从 OData 到 Azure DocumentDB 的定期数据副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com