2

我被引導認爲您可以在Azure Blob Table源對象中通配符文件名屬性。數據工廠azure blob資源 - 通配符

我想拿起從Blob存儲中存在的其他文件,我不想處理相同的目錄只有特定的CSV文件:

根/數據/ GUJH-01。 CSV

根/數據/ GUJH-02.csv

根/數據/ DFGT-01.csv

我要處理GUJH * .csv和不DFGT,01.csv

這可能嗎?如果是這樣,爲什麼我的一滴源驗證失敗,通知我該文件不存在(的消息報道說,根/數據blob不存在。

在此先感謝。

回答

3

回答我的問題。 。

這裏沒有一個通配符,但有一個「前綴」將在我的情況下工作:

相反根/數據/ GUJH的* .CSV我可以在FOLDERPATH財產做根/數據/ GUJH它會帶來所有的根/數據/ GUJH文件..

:)

+0

我花了很長一段時間來解決這一問題了。現在我想知道如何限制它的CSV文件ONY? –

+0

只要確保'filePath'沒有指定,'folderPath'具有的完整路徑,包括文件名。還要確保你運行正確的_timeslice_。我只是跑這又錯了參數,這意味着它無法找到該文件通過隨機時間片 –

0

只是在這裏添加一些更多的細節,因爲我發現這是一個非常困難的學習曲線,我想爲我和其他人記錄這一點。

鑑於Blob存儲這樣的樣本文件(在這種情況下,沒有擴展名),

ZZZZ_20170727_1324

我們可以看到,中間部分是YYYYMMDD格式。

這被上傳到文件夾Landing內部容器MyContainer

,這是我的數據集定義::

"typeProperties": { 
     "folderPath": "MyContainer/Landing/ZZZZ_{DayCode}", 
     "format": { 
      "type": "TextFormat", 
      "columnDelimiter": "\u0001" 
     }, 
     "partitionedBy": [ 
      { 
       "name": "DayCode", 
       "value": { 
        "type": "DateTime", 
        "date": "SliceStart", 
        "format": "yyyyMMdd" 
       } 
      } 
     ] 
    }, 

請注意,這是一個「前綴」,你會在日誌/錯誤看到的一部分消息,如果你能找到它們(祝你好運)

如果你想測試加載這個特定的文件,你需要按'圖'按鈕,然後鑽到你的管道,直到你找到目標數據集 - 文件正在加載(我正在加載到SQL Azure中)。點擊目標數據集,現在去找到正確的時間片。在我的情況下,我需要找到一個開始時間片20170727並運行那個時間片。

這將確保正確的文件被拾起並加載到SQL Azure的

忘記手動運行管道或活動 - 那只是不是它是如何工作的。您需要在時間片下運行輸出數據集才能完成。