我想跟踪源代码管理中的管道更改,我正在寻找一种从ADF中以编程方式检索json表示的方法。
.Net例程返回对象,但遗憾的是ToString()不返回json(这不是很方便吗?),所以现在我正在考虑手动复制json(现在就开枪!),或者可能试图从.Net对象中重新创建json(稍后再开枪!)。
请告诉我,我是密集的,有一个明显的方法来做到这一点。
您可以使用NewtonsoftJson序列化对象。请参阅(https://azure.microsoft.com/en-us/documentation/articles/data-factory-create-data-factories-programmatically/)了解如何通过ADF SDK 进行连接
var aadTokenCredentials = new TokenCloudCredentials(ConfigurationManager.AppSettings["SubscriptionId"], GetAuthorizationHeader());
var resourceManagerUri = new Uri(ConfigurationManager.AppSettings["ResourceManagerEndpoint"]);
var manager = new DataFactoryManagementClient(aadTokenCredentials, resourceManagerUri);
var pipeline = manager.Pipelines.Get(resourceGroupName, dataFactoryName, pipelineName);
var pipelineAsJson = JsonConvert.SerializeObject(pipeline.Pipeline, Formatting.Indented);
我期待着更复杂的东西,但看看sdk源GitHub,它并没有做任何特别的事情。
我们的团队有一个部署工具,可以接受git更改并进行适当的部署。一切都是异步完成的,并通过git进行控制和版本控制。简而言之,我们的部署有以下流程:
-
任何已完成的git合并请求都会触发VSO生成。这很简单通过MsBuild构建整个解决方案。
-
每个成功的构建都会应用一个Git标记来跟踪Last Known Good。
-
接下来(如果构建成功),我们的.net ADFPublisher开始只获取更改后的数据工厂文件,并根据它们的git操作(修改、添加、删除等)。
-
对于某些失败情况,我们的ADFPublisher将执行重试。
整个过程(构建+发布)大约需要65秒已经救了我们几个错误。它还允许我们移动从一个环境到另一个环境的定义非常容易。
如果你认为这是你感兴趣的东西,请告诉我,我会设置一种方式与你分享