在Microsoft Azure

时间:2016-09-09 21:58:38

标签: azure azure-data-factory

我知道Microsoft Azure API有一种使用GET请求提取数据切片的方法。 api就在这里

https://management.azure.com/subscriptions/<SubscriptionID>/resourcegroups/<ResourceGroupName>/providers/Microsoft.DataFactory/datafactories/<DataFactoryName>/tables/<TableName>/sliceruns?start=<StartDateTime>&api-version=<Api-Version>

问题是我必须手动指定数据工厂,数据集和开始时间,如果我想为特定资源组的开始时间提取所有日志该怎么办。我知道如果我列出所有数据工厂和集合然后循环它们我就能做到。但后来我在嵌套的for循环中调用了一个http请求,这似乎是一个非常糟糕/昂贵的想法。我正在使用Kibana开发一个日志记录Web应用程序,这就是我需要所有日志的原因。

1 个答案:

答案 0 :(得分:0)

不幸的是,这不受支持。这是因为API路由是为Azure资源管理器(ARM)服务设计的,ADF就是其中之一。您提到的解决方案虽然不理想,但却是最好的解决方案。

更多:顶级资源(例如数据工厂)的API路由将始终包含订阅ID和资源组名称。同样,子资源/ API的路由(例如数据集,切片等)必须包含订阅ID,资源组名称和顶级资源名称

如果有这样的API允许您从资源组中的任何数据工厂列出切片,则必须将其作为“扇出”查询执行。由于资源组中的数据工厂可以位于任何区域,因此ARM必须向资源组中具有数据工厂的每个数据工厂资源提供程序(RP)发送请求,然后聚合并将结果返回给调用方;任何Azure服务都不支持此功能。