Azure Предупреждение контейнера BLOB-объектов, если указано c папка контейнера не обновляется в течение 24 часов - PullRequest
0 голосов
/ 10 января 2020

Я хочу найти способ отправки оповещения, если указанная папка c в контейнере больших двоичных объектов не обновляется в течение 24 часов. Я попытался настроить оповещение через портал, но я могу только найти предупреждения Metri c, основанные на входе всего контейнера BLOB-объектов. Есть ли способ указать Ingress для папки в контейнере?

Я хочу сделать это через вкладку Alerts на портале, но если мне придется прибегнуть к написанию кода, я могу go этот маршрут также.

Вот изображение того, что я пробовал до сих пор: Blob Container Ingress Alert

1 Ответ

1 голос
/ 13 января 2020

Кажется, что нет готового решения для мониторинга папки в 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 "
}

Вы можете создать Runbook в Azure автоматизации как запланированное задание i, каждый раз запускать этот скрипт 30 минут для реализации вашего требования.

Надеюсь, это поможет.

...