Я пытаюсь извлечь конвейер JSON и использовать его для создания аналогичного конвейера с использованием .Net API и Newtonsoft json для сериализации объекта PipelineResource.
Я могу получить ресурс конвейера и сериализовать его, но этоне в том формате, который создан приложением ADF.
Например, для конвейера noddy Newtonsoft возвращает 1-й json ниже и ADF 2-й.
Как извлечь действительный JSON-конвейер, используя.Net.
Я могу создать PipelineResource с помощью DataFactoryManagementClient.Pipelines.Get и сериализовать его с помощью JSON.net.Но полученный JSON не совпадает с тем, который создается кодом фабрики данных.сериализованный код не может быть использован для создания конвейера.
например,
PipelineResource plr = client.Pipelines.Get(resourceGroup, dataFactoryName, "PL_New");
string output = JsonConvert.SerializeObject(plr, Formatting.Indented,
new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
дает следующее
{
"properties.activities": [
{
"typeProperties.method": "GET",
"typeProperties.url": "www.google.ie",
"typeProperties.headers": {},
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureInput": false,
"secureOutput": false
},
"name": "Web1",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"url": "www.google.ie",
"method": "GET",
"headers": {}
}
}
],
"properties.annotations": [],
"properties.folder": {
"name": "new/one"
},
"id": "/subscriptions/?????????????????/resourceGroups/MyResourceGroup/providers/Microsoft.DataFactory/factories/MyNewADF/pipelines/PL_New",
"name": "PL_New",
"type": "Microsoft.DataFactory/factories/pipelines",
"etag": "820000000-0000-0000-0000-000000000000"
}
, где ADF создает
{
"name": "PL_New",
"properties": {
"activities": [
{
"name": "Web1",
"type": "WebActivity",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"url": "www.google.ie",
"method": "GET"
}
}
],
"folder": {
"name": "new/one"
},
"annotations": []
}
}
обратите внимание на разницу в объекте свойств.
Я не могу использовать созданный Newtonsoft JSON для создания нового конвейера (с изменением имени, конечно).
Как я могу создать JSON таким образомпредоставлено ADF.