Ниже приведен пример использования операции GetEtl для получения информации об объектах, из которых построены цепочки экспорта/импорта данных в задаче ETL. В запросе передается моникёр открытого экземпляра задачи ETL и шаблон, указывающий необходимость получить информацию об указанных объектах. В ответе приходит полученная информация.
{
"GetEtl" :
{
"tEtl" :
{
"id" : "S1!M!S!L1"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"objects" : "Get",
"object" :
{
"settings" : "true"
}
}
}
}
}
{
"GetEtlResult" :
{
"id" :
{
"id" : "S1!M!S!L1"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "3",
"@hf" : "0",
"i" : "ETL_INDICATOR",
"n" : "Задача ETL для загрузки показателей",
"k" : "7012",
"c" : "4097",
"p" : "7011",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "0",
"objects" :
{
"its" :
{
"it" :
[
{
"k" : "0",
"id" : "PLAINDATAEXCELPROVIDEREX1",
"n" : "Импорт из Excel",
"vis" : "1",
"type" : "PlainDataExcelProviderEx",
"settings" :
{
"plainProvider" :
{
"provider" :
{
"props" :
{
"type" : "ExcelEx",
"excelEx" :
{
"stringDataFormat" :
{
"useSystem" : "1",
"dateFormat" : "ДД.ММ.ГГГГ",
"decimalSeparator" : ",",
"usePredefinedDateFormats" : "1"
},
"typeGuessRows" : "100",
"autoFillMode" : "DataRow",
"filterIf" : "",
"sheet" : "Лист1",
"hasHeader" : "1",
"headerRow" : "0",
"format" : "xlsx",
"dataRow" : "0"
},
"srcFileName" : "D:\Work\Indicator.xls"
}
},
"fetchBlockSize" : "-1",
"ignoreIncorrectVals" : "0",
"unpivotMode" : "0",
"queryForFile" : "0"
}
}
},
{
"k" : "1",
"id" : "PLAINDATAMETABASECONSUMER1",
"n" : "Приёмник репозитория",
"vis" : "1",
"type" : "PlainDataMetabaseConsumer",
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "T_INDICATOR",
"n" : "Таблица",
"k" : "7013",
"c" : "769",
"p" : "7011",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
},
"read" : "1",
"write" : "1",
"settings" :
{
"plainConsumer" :
{
"consumer" :
{
"props" :
{
"type" : "Mb",
"mb" :
{
"dataset" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "T_INDICATOR",
"n" : "Таблица",
"k" : "7013",
"c" : "769",
"p" : "7011",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
}
}
}
},
"keyFieldNames" : "",
"clearConsumer" : "1",
"bulk" :
{
"commitCount" : "1024",
"actionOnProblem" : "DiscardRecordsInTransaction",
"saveInvalidRecs" : "0",
"invalidRecsFileName" : "",
"useStopLimit" : "0",
"stopLimit" : "1024",
"eventId" : ""
}
}
}
},
{
"k" : "2",
"id" : "PLAINDATACOPY1",
"n" : "Копирование данных",
"vis" : "1",
"type" : "PlainDataCopy",
"settings" :
{
"plainDataCopy" :
{
"provider" : "",
"consumer" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "T_INDICATOR",
"n" : "Таблица",
"k" : "7013",
"c" : "769",
"p" : "7011",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
},
"keyFieldNames" : ""
},
"clearConsumer" : "1",
"commitCount" : "1024",
"actionOnProblem" : "DiscardRecordsInTransaction"
}
}
}
]
}
},
"shapes" : ""
}
}
}
public static GetEtlResult GetETLInfo(EtlId moniker)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tGet = new GetEtl()
{
tArg = new GetEtlArg()
{
pattern = new EtlMdPattern()
{
objects = ListOperation.Get,
@object = new EtlObjectPattern()
{
settings = true
}
}
},
tEtl = moniker
};
//Получение информации об объектах задачи ETL
var result = somClient.GetEtl(tGet);
return result;
}
См. также: