[英]Azure Data Factory dynamic Copy Activity with multiple tables in source and destination using C# .NET
我在C#
.NET
中編寫了這個copy activity
,將數據從Sql Server
移動到Azure
。 它目前使用一個表來源和目的地,這是我的代碼
private DatasetResource CreateDataSetResourceSqlServer(string tableName)
{
DatasetResource sqlDatasetResource = new DatasetResource(
new SqlServerTableDataset
{
LinkedServiceName = new LinkedServiceReference(LinkedServiceReferenceNameSqlServer),
TableName = tableName
}
);
return sqlDatasetResource;
}
private CopyActivity CreateCopyActivity()
{
return new CopyActivity
{
Name = CopyActivityNameSqlServerToAzure,
Inputs = new List<DatasetReference>() { new DatasetReference() { ReferenceName = DataSetNameSqlServer } },
Outputs = new List<DatasetReference>() { new DatasetReference() { ReferenceName = DataSetNameAzureSql } },
Source = new SqlSource { SqlReaderQuery = "SELECT * FROM Table1" },
Sink = new SqlSink { }
};
}
雖然DataSet
創建是動態的,但CopyActivity
不是動態的,但這不是scalable
解決方案。 我在源和目標中有50個表,我知道如果我在文件中列出所有表名並迭代它們,那么我如何使用動態Source
創建CopyActivity
,可以復制多個表的數據。 此外,如果將來在文件中添加新表,我不必為每個表編寫CopyActivity
。 任何人都可以幫忙
由於您使用的是C#,因此您可以使用foreach活動,也可以不使用foreach活動,因為您將把tablename讀入變量並循環使用。 我建議你在ADF中為tablename創建一個參數,並在Source和Sink中使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.