2017-02-20 38 views
0

我有兩個數據集,一個是「FileShare」DS1,另一個是「BlobSource」DS2。我定義了一個具有一個複製活動的管道,它需要將文件從DS1複製到DS3(BlobSource),並將相關性指定爲DS2。活動規定如下:Azure數據工廠在活動中指定多個源類型

{ 
      "type": "Copy", 
      "typeProperties": { 
       "source": { 
        "type": "FileShare" 
       }, 
       "sink": { 
        "type": "BlobSource" 
       } 
      }, 
      "inputs": [ 
       { 
        "name": "FoodGroupDescriptionsFileSystem" 
       }, 
       { 
        "name": "FoodGroupDescriptionsInputBlob" 
       } 
      ], 
      "outputs": [ 
       { 
        "name": "FoodGroupDescriptionsAzureBlob" 
       } 
      ], 
      "policy": { 
       "timeout": "01:00:00", 
       "concurrency": 1, 
       "executionPriorityOrder": "NewestFirst" 
      }, 
      "scheduler": { 
       "frequency": "Minute", 
       "interval": 15 
      }, 
      "name": "FoodGroupDescriptions", 
      "description": "#1 Bulk Import FoodGroupDescriptions" 
     } 

在這裏,我怎樣才能指定多種來源類型(FileShare和BlobSource)?它會拋出錯誤,當我嘗試作爲列表傳遞。

回答

1

複製活動不喜歡多個輸入或輸出。它只能執行1到1個副本......它甚至不會在輸出數據集中更改文件名,也不介意合併文件!

這可能是有意爲之,因此Microsoft可以向您收取更多的額外活動費用。但是,我們不要進入那一個。

我建議使用單獨的活動(每個文件1個)將兩個文件複製到某種Azure存儲中。然後有第二個具有自定義活動的下游管道讀取併合並/連接文件以生成單個輸出。

請記住,ADF不是像SSIS這樣的ETL工具。它只是在那裏調用其他Azure服務。複製是一個複雜的過程。

相關問題