首页 文章

Azure数据工厂'Pending Validation'

提问于
浏览
3

我在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 回答

  • 1

    我试图设置一个每天运行的管道,并认为我可以使用"anchorDateTime"可用性属性,我能够做到这一点,但你必须将数据集中 "availability" 部分的 "frequency" 属性设置为最低级别您要指定的粒度 . 也就是说,如果您希望每天下午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

  • 4

    我明白了......它将等待下一个完整的月份开始 . 这意味着它将在下个月的第一天开始,无法手动触发它 .

  • 1

    我遇到了同样的问题 . 事实证明我没有根据UTC指定管道的开始时间 .

  • 1

    好吧,如果您希望运行管道,请将活动期更新为过去的日期 . 你可以使用下面的powershell命令来完成它

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

相关问题