我建議你自己寫一個Azure數據工廠定製活動來實現這一點。我爲最近的一個項目做了這個。
將C#類庫添加到ADF解決方案中,並創建一個繼承自IDotNetActivity的類。然後在IDictionary方法中,使HTTP Web請求獲取數據。首先將下載的文件放置在blob存儲中,然後有下游活動將數據加載到SQL DB中。
public class GetLogEntries : IDotNetActivity
{
public IDictionary<string, string> Execute(
IEnumerable<LinkedService> linkedServices,
IEnumerable<Dataset> datasets,
Activity activity,
IActivityLogger logger)
{
等等
HttpWebResponse myHttpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
,其中容器和文件名要用作輸出等
這您可以使用ADF鏈接服務,對存儲帳戶進行身份驗證,並確定是我用於數據湖的一個例子。但是blob存儲幾乎完全相同。
Dataset outputDataset = datasets.Single(dataset => dataset.Name == activity.Outputs.Single().Name);
AzureDataLakeStoreLinkedService outputLinkedService;
outputLinkedService = linkedServices.First(
linkedService =>
linkedService.Name ==
outputDataset.Properties.LinkedServiceName).Properties.TypeProperties
as AzureDataLakeStoreLinkedService;
不要打擾輸入的活動。
您還需要Azure批處理服務以處理已編譯類的計算。看看我的博客文章這樣做。
https://www.purplefrogsystems.com/paul/2016/11/creating-azure-data-factory-custom-activities/
希望這有助於。
要指定,我知道WebLinkedService,但該服務似乎不支持通過Raw,OAuth或任何基於令牌的身份驗證的身份驗證。我將能夠設置一個自定義身份驗證方法,但我需要訪問HTTP標頭。如何添加HTTP標頭?我想你無論如何都需要它們來獲取Content-Type等參數。 – MisterTuna