0

如果 blob 容器中的特定文件夹在 24 小时内未更新,我想找到一种发送警报的方法。我尝试通过门户设置警报,但我似乎只能根据整个 blob 容器的 Ingress 找到指标警报。有没有办法在容器内的文件夹上指定 Ingress?

我想通过门户中的“警报”选项卡执行此操作,但如果我不得不求助于编写代码,我也可以走这条路。

这是我迄今为止尝试过的图片: Blob 容器入口警报

4

1 回答 1

1

似乎没有开箱即用的解决方案来监视 Azure 警报中 Azure 存储容器中的文件夹。

根据您的要求,如果文件夹中超过 24 小时没有修改,您希望发送警报。所以我们可以在这个文件夹中获取最新的修改时间并与当前时间进行比较。您可以在下面尝试这个 powershell:

$storageAccount = "<your storage account>"
$resourceGroup = "<your resource group name>"
$containerName = "<container name>"
$folderName = "<folder name>"
$storage = Get-AzStorageAccount -name $storageAccount -ResourceGroupName $resourceGroup

$lastModifyTimeInFolder = (Get-AzStorageBlob -Prefix $folderName -Container $containerName -Context $storage.Context | Sort-Object -Property LastModified -Descending)[0].LastModified
$now = Get-Date


if($lastModifyTimeInFolder.CompareTo($now.AddHours(-24)) -ge 0){
echo "modified within 24hs"
}else {
#if last $lastModifyTimeInFolder less than current time minus 24 hours, you can trigger your own alert based on your logic here 
echo "modified exceeded 24hs "
}

您可以在 Azure 自动化中创建一个运行手册作为计划任务,即每 30 分钟运行一次此脚本以实现您的要求。

希望能帮助到你。

于 2020-01-13T07:41:30.130 回答