1

我想跟踪源代码控制中的管道更改,并且正在寻找一种以编程方式从 ADF 检索 json 表示的方法。

.Net 例程返回对象,但遗憾的是 ToString() 不返回 json(这不方便吗?),所以现在我正在考虑手动复制 json(现在向我开枪!),或者可能试图从 .Net 对象重新创建 json(稍后向我射击!)。

请告诉我我很密集,有一种明显的方法可以做到这一点。

4

2 回答 2

0

您可以使用 Newtonsoft Json 序列化对象。有关如何通过 ADF SDK 连接的信息,请参阅 ( https://azure.microsoft.com/en-us/documentation/articles/data-factory-create-data-factories-programmatically/ )

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 并没有做任何特别的事情。

于 2017-04-06T13:55:45.330 回答
0

我们的团队有一个部署工具,可以接受 git 更改并适当地部署它们。一切都是异步完成的,并通过 git 进行控制和版本控制。简而言之,我们的部署流程如下:

  • 任何完成的 git 合并请求都会触发 VSO 构建。这只是通过 MsBuild 构建整个解决方案。

  • 每个成功的构建都会应用一个 Git 标签来跟踪 Last Known Good。

  • 接下来(如果构建成功)我们的 .net ADFPublisher 首先只获取更改的数据工厂文件并根据它们的 git 操作(修改、添加、删除等)异步发布它们。

  • 对于某些失败情况,我们的 ADFPublisher 将执行重试。

    整个过程(构建 + 发布)大约需要 65 秒,并且已经使我们免于遇到一些错误。它还允许我们非常轻松地将定义从一个环境移动到另一个环境。

如果您认为这是您感兴趣的东西,请告诉我,我将设置一种方式与您分享

于 2017-04-06T16:41:14.950 回答