2015-09-22 83 views
3

我在Azure數據工廠服務中創建了一些管道,將數據從SQL表移動到Azure表。但他們從未開始跑步。相反,即使在Azure門戶中單擊run按鈕後,源數據集仍爲pending validation。我已經檢查了external屬性,它們都被設置爲true。我想知道是否還有其他可能的原因。Azure數據工廠的待定驗證

這裏是我的表源

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

回答

1

我的理由......它會等待下一個圓角月啓動。這意味着它將在下個月的第一天開始,並且無法手動觸發它。

1

我遇到了同樣的問題。事實證明,我沒有根據UTC指定管道的開始時間。

4

我就遇到了這個試圖建立一個管道的日常運行,並認爲我可以使用「anchorDateTime」可用性特性,我能做到這一點,但你必須設置"availability"部分的"frequency"財產將數據集設置爲您要指定的最低粒度級別。也就是說,如果你想要的東西在每天下午6:30 UTC運行,數據集必須是這樣的(因爲你是在指定的分鐘級別的時間):

"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 =二○一四年十月二十日早上6點意味着調度將在每天早上6點發生。

其實,這是不正確的,兩條線後,它說:

如果AnchorDateTime具有粒度更細比間隔日期部分,那麼更精細的零件將被忽略。例如,如果間隔是小時(頻率:小時和間隔:1),並且AnchorDateTime包含分鐘和秒,則AnchorDateTime的分鐘和秒部分將被忽略。

第二部分是我認爲我們遇到的問題以及爲什麼我提出了上述策略。

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

+0

這是不行了時間間隔的長度沒有按」不會改變,但可能不適用於「月份」之類的內容,因爲您必須指定天數作爲間隔。 –

+0

您可以使用偏移屬性來處理可用性,而不是使用錨點。我相信採用TheSchmoe的答案並添加一個膠印將提供一個解決方案。另請參閱:[數據集可用性屬性](https://azure.microsoft.com/zh-cn/documentation/articles/data-factory-create-datasets/#Availabilit) –

1

好吧,如果你希望你的管道中運行,更新活躍期在過去的日期。您可以使用以下PowerShell命令做到這一點

設置AzureDataFactoryPipelineActivePeriod -DataFactoryName $ DataFactoryName -PipelineName $ PipelineName -StartDateTime $ DateInPast -EndDateTime $ DateOneDayLessInPast -ResourceGroupName $ ResourceGroupName -Force

+0

是的,那是我的情況。僅供參考,不需要通過powershell更改日期,只需在門戶中編輯管道JSON即可。 – psfinaki