Я использую Microsoft Azure Data Factory .NET SDK для автоматизации создания наборов данных для большого количества таблиц.
Метод в моем консольном приложении .NET дает мне возможность создавать наборы данных ввода и вывода на основе указанного имени таблицы:
createInputDataSet(string table_Name, DataFactoryManagementClient client) {
client.Datasets.CreateOrUpdate(resourceGroupName, dataFactoryName,
new DatasetCreateOrUpdateParameters()
{
Dataset = new Dataset()
{
Properties = new DatasetProperties()
{
Structure = new List<DataElement>()
{
//TODO: Autogenerate columns and types
new DataElement() {Name = "name", Type = "String" },
new DataElement() {Name = "date", Type = "Datetime" }
}
}...
В настоящее время создание набора данных выполняется с помощью хранимой процедуры либо на исходном сервере SQL, либо в целевом хранилище данных SQL. Хранимая процедура указывает имя таблицы, а затем просматривает INFORMATION_SCHEMA
, чтобы сгенерировать допустимые столбцы и типы для каждого набора данных ADF. Затем мы вручную копируем результат на portal.azure.com.
У нас более 600 наборов данных, поэтому необходимо использовать .NET SDK для автоматического копирования в ADF.
Как создать наборы данных автоматически, учитывая, что структура каждого набора данных (то есть столбцы и типы) будет отличаться?