簡體   English   中英

Azure數據工廠動態復制活動,使用C#.NET在源和目標中包含多個表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM