如果Blob容器中的特定文件夹未在24小时内更新,我想找到一种发送警报的方法。我曾尝试通过门户设置警报,但似乎只能根据整个Blob容器的Ingress找到指标警报。是否可以在容器内的文件夹上指定Ingress?
我想通过门户网站的“警报”选项卡来执行此操作,但是如果我不得不编写代码,我也可以采用这种方法。
似乎没有现成的解决方案来监视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自动化中以runbook的形式创建a scheduled task,即每30分钟运行一次此脚本以实现您的要求。
希望有帮助。