Azure 数据工厂"挂起验证"



我在Azure数据工厂服务中创建了一些管道,将数据从SQL表移动到Azure表。但他们从不开始跑步。相反,即使在Azure Portal中单击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": {}
    }
}

我遇到了这个试图建立一个管道每天运行,并认为我可以使用"anchorDateTime"可用性属性,我能够做到这一点,但你必须将数据集中"availability"部分的"frequency"属性设置为你想要指定的最低粒度级别。也就是说,如果您希望在UTC每天下午6:30运行,那么您的数据集需要看起来像这样(因为您在分钟级别指定时间):

"availability": {
    "frequency": "Minute",
    "interval": 1440,
    "anchorDateTime": "2016-01-27T18:30:00Z"
}

和管道的"scheduler"部分需要类似于:

"scheduler": {
    "frequency": "Minute",
    "interval": 1440,
    "anchorDateTime": "2016-01-27T18:30:00Z"
}

这将每1440分钟(即每24小时)运行一次。我希望它能帮助其他人,因为微软文档在这个主题上自相矛盾(或者至少是误导):

对于每日计划,如果设置anchorDateTime = 10/20/2014 6 AM意味着计划将在每天早上6点发生。

这实际上不是真的,两行之后它说:

如果AnchorDateTime具有比间隔更细粒度的日期部分,那么更细粒度的部分将被忽略。例如,如果间隔为小时(frequency: hour, interval: 1),并且AnchorDateTime包含分和秒,那么AnchorDateTime的分和秒部分将被忽略。

第二部分是我认为我们正在遇到的问题,也是我为什么建议上面的策略的原因。

参考:https://msdn.microsoft.com/en-us/library/azure/dn894092.aspx

我明白了…它将等待下一个月开始。这意味着它将在下个月的第一天开始,并且没有办法手动触发它。

我也遇到了同样的问题。原来我没有根据UTC指定管道的开始时间。

如果您希望管道运行,请将活动期间更新为过去的日期。你可以使用下面的powershell命令

set- azuredatafactorypilineactiveperiod -DataFactoryName $DataFactoryName -PipelineName $PipelineName -StartDateTime $DateInPast -EndDateTime $DateOneDayLessInPast -ResourceGroupName $ResourceGroupName -Force

相关内容

  • 没有找到相关文章

最新更新