在Azure管道内部,我们将Azure资源组部署任务与Shutdown Action以及Stop-AzureVM cmdlet一起使用以关闭Azure VM进行某些管理活动。
通常关闭会在几秒钟内完成。但是有时我们不得不等待几分钟(今天大约10分钟)。
有什么技巧可以确保快速关机?
答案 0 :(得分:0)
虽然不是您问题的直接答案-我通常使用ARM Rest API,但对其进行查询几乎是瞬时的,并且它是异步的,因此只要您获得202,您就不会在意接下来会发生什么,最终它会关闭。这使我可以关闭\启动约100个实体。
此代码相当长,但总体思路如下:
$token = (Get-AzureRmContext).TokenCache.ReadItems() | Select-Object -First 1 -ExpandProperty AccessToken
$header = @{ Authorization = "Bearer $token" }
Invoke-WebRequest -Headers $header -Method Post -Uri $uri -UseBasicParsing
答案 1 :(得分:0)
不幸的是,根据我的经验,没有任何方法可以确保VM快速“正常”关闭。有时由于该计算机上运行的服务和进程而花费的时间更长。
请记住,这不是Azure或VM,更像是OS。