3

我在 Azure 数据工厂服务中创建了一些管道,以将数据从 SQL 表移动到 Azure 表。但他们从不开始跑步。相反,pending validation即使在我单击runAzure 门户中的按钮后,源数据集仍然存在。我已经检查了external属性,它们都设置为true. 我想知道是否还有其他可能的原因。

这是我的表格来源

{
    "name": "TableSrc",
    "properties": {
        "published": false,
        "type": "AzureSqlTable",
        "linkedServiceName": "LinkedService-AzureSql",
        "typeProperties": {
            "tableName": "myTable"
        },
        "availability": {
            "frequency": "Month",
            "interval": 1
        },
        "external": true,
        "policy": {}
    }
}
4

4 回答 4

4

我在尝试设置每天运行的管道时遇到了这个问题,并认为我可以使用“anchorDateTime”可用性属性并且我能够做到这一点,但是您必须将数据集中部分的"frequency"属性设置"availability"为最低级别您要指定的粒度。也就是说,如果您希望每天在 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 小时)运行一次。我希望它可以帮助其他人,因为 Microsoft 文档在这个主题上自相矛盾(或者至少是误导性的):

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

这实际上是不正确的,两行后它说:

如果 AnchorDateTime 的日期部分比时间间隔更细,那么更细的部分将被忽略。例如,如果间隔是每小时(频率:小时和间隔:1)并且 AnchorDateTime 包含分钟和秒,则 AnchorDateTime 的分钟和秒部分将被忽略。

第二部分是我认为我们遇到的问题,也是我提出上述策略的原因。

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

于 2016-01-28T21:03:14.140 回答
1

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

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

于 2017-04-04T13:26:03.533 回答
1

我知道了原因...它将等待下一个完整的月份开始。这意味着它将在下个月的第一天开始,并且无法手动触发它。

于 2015-09-22T08:36:54.377 回答
1

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

于 2015-10-20T09:10:45.703 回答