gpt4 book ai didi

azure - 是否可以使用 Azure 自动化 Runbook 删除另一个 Runbook 输出(Azure 文件共享快照)?

转载 作者:行者123 更新时间:2023-12-03 04:15:05 25 4
gpt4 key购买 nike

我想使用 Runbook 删除另一个 Runbook 输出(Azure 文件共享快照)。

这可能吗?如果您知道什么,请在这里写下

运行手册 1:创建 Azure 文件共享快照

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

Runbook 2:删除 Azure Runbook 输出。这样做的问题是,它会删除所有快照,而不仅仅是删除第一个 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()
}
}

最佳答案

示例代码如下,我在runbook中测试,效果很好(创建一个快照,3分钟后删除),其他快照没有效果

我的 powershell Runbook 中的代码:

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

关于azure - 是否可以使用 Azure 自动化 Runbook 删除另一个 Runbook 输出(Azure 文件共享快照)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53826702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com