Можно ли использовать Runbook автоматизации Azure для удаления другого вывода Runbook (моментальный снимок общего доступа к файлу Azure)? - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу использовать runbook для удаления другого вывода runbook (снимок общего ресурса Azure).

Возможно ли это?Если вы что-то знаете, напишите что-нибудь по адресу

Runbook 1: создание снимка общего ресурса Azure File

$context = New-AzureStorageContext -StorageAccountName -StorageAccountKey 
$share = Get-AzureStorageShare -Context 
$context -Name "sharefile" 
$snapshot = $share.Snapshot()

Runbook 2: удалите выходные данные Runbook Azure.Проблема заключается в том, что он удаляет все снимки, а не просто снимок, созданный первым модулем Runbook.

$allsnapshots = Get-AzureStorageShare -Context $context | Where-Object { $_.Name -eq "sharefile" -and $_.IsSnapshot -eq $true } 
foreach($snapshot in $allsnapshots){ 
    if($snapshot.SnapshotTime -lt (get-date).Add·Hours()){ 
        $snapshot.Delete()
    }
}

1 Ответ

0 голосов
/ 19 декабря 2018

Пример кода приведен ниже, я тестирую его в runbook и хорошо работает (создаю снимок, а затем удаляю его через 3 минуты), а другие снимки не действуют .

код в моей рабочей книге powershell:

param(
[string]$username,
[string]$password,
[string]$filesharename
)

$context = New-AzureStorageContext -StorageAccountName $username -StorageAccountKey $password
$share = Get-AzureStorageShare -Context $context -Name $filesharename
$s = $share.snapshot()

#get the snapshot name, which is always a UTC time formated value
$s2= $s.SnapshotQualifiedStorageUri.PrimaryUri.ToString()

#the $snapshottime is actually equal to snapshot name
$snapshottime = $s2.Substring($s2.IndexOf('=')+1)
write-output "create a snapshot"
write-output $snapshottime

#wait 180 seconds, then delete the snapshot 
start-sleep -s 180

write-output "delete the snapshot"
$snap = Get-AzureStorageShare -Context $context -SnapshotTime $snapshottime -Name $filesharename 
$snap.Delete()

write-output "deleted successfully after 3 minutes"

после его запуска вы можете увидеть, что моментальный снимок создан на портале Azure:

enter image description here

После завершения указанный снимок удаляется (может потребоваться открыть новую веб-страницу, чтобы увидеть изменения из-за некоторой проблемы с кэшем)

вывод в runbook:

enter image description here

...