给定某些数据集,我想知道它的切片中有多少是在最后1小时内准备好的(或者说2小时,这只是一个例子)。这给了我集群健康的概念。因为在几十个数据集中,如果在过去几个小时内没有现成的切片,这对我来说肯定是惊人的。
我知道Powershell有一个cmdlet来获取切片状态,它返回切片的实际开始和结束时间--但问题是它发现只有基于切片信息。我不在乎切片日期是否是1年前--我想要基于该切片的实际开始和结束时间的状态--我想通过编程来实现它。
最坏的情况是--一个人需要获得所有可能的切片的状态,然后得到实际的开始和结束时间,但是这是非常低效率的--一个小时可以调用多少个API也是有限制的。
发布于 2017-06-05 07:24:46
我认为您在这里寻找的cmdlet是Get-AzureRmDataFactoryActivityWindow --它接受一个运行窗口,并将返回时间片的结果--准备就绪、等待、失败等。
使用实例:
Get-AzureRmDataFactoryActivityWindow `
-DataFactoryName $ADFName.DataFactoryName `
-ResourceGroupName $ResourceGroup `
| ? {$_.WindowStart -ge $Now} `
| SELECT ActivityName, ActivityType, WindowState, RunStart, InputDatasets, OutputDatasets `
| Sort-Object ActivityName
使用此值与所需的对角一起返回所需信息的列表。然后,我可能会将它粘贴到一个SQL表中,以便进行更广泛的监视等等。但是您可以使用PowerShell中的一个数组来获取计数值并生成警报。然后把它包装在一个可能会在小时内进行投票的东西里。
下面是指向Azure模块中所有ADF PowerShell cmdlet的链接:https://learn.microsoft.com/en-gb/powershell/module/azurerm.datafactories/?view=azurermps-4.0.0
希望这能有所帮助
https://stackoverflow.com/questions/44339545
复制相似问题