我在Azure数据工厂服务中创建了一些管道,以将数据从SQL表移动到Azure表 . 但他们从未开始跑步 . 相反,即使在Azure门户中单击 run
按钮后,源数据集仍保持 pending validation
. 我已经检查了 external
属性,这些属性都设置为 true
. 我想知道是否还有其他可能的原因 .
这是我的表源
{
"name": "TableSrc",
"properties": {
"published": false,
"type": "AzureSqlTable",
"linkedServiceName": "LinkedService-AzureSql",
"typeProperties": {
"tableName": "myTable"
},
"availability": {
"frequency": "Month",
"interval": 1
},
"external": true,
"policy": {}
}
}
4 回答
我试图设置一个每天运行的管道,并认为我可以使用"anchorDateTime"可用性属性,我能够做到这一点,但你必须将数据集中
"availability"
部分的"frequency"
属性设置为最低级别您要指定的粒度 . 也就是说,如果您希望每天下午6:30运行某些东西,那么您的数据集需要看起来像这样(因为您指定的是分钟级别的时间):并且管道的
"scheduler"
部分需要类似于:这将每1440分钟(即每24小时)运行一次 . 我希望它可以帮助其他人,因为Microsoft文档在这个主题上相互矛盾(或者至少是误导性的):
实际上这不是真的,两行之后它说:
第二部分是我认为我们正在遇到的问题以及我为何提出上述策略 .
参考:https://msdn.microsoft.com/en-us/library/azure/dn894092.aspx
我明白了......它将等待下一个完整的月份开始 . 这意味着它将在下个月的第一天开始,无法手动触发它 .
我遇到了同样的问题 . 事实证明我没有根据UTC指定管道的开始时间 .
好吧,如果您希望运行管道,请将活动期更新为过去的日期 . 你可以使用下面的powershell命令来完成它
set-AzureDataFactoryPipelineActivePeriod -DataFactoryName $ DataFactoryName -PipelineName $ PipelineName -StartDateTime $ DateInPast -EndDateTime $ DateOneDayLessInPast -ResourceGroupName $ ResourceGroupName -Force