代码之家  ›  专栏  ›  技术社区  ›  Artyom

如何获取Azure插槽交换是否成功?

  •  0
  • Artyom  · 技术社区  · 7 年前

    发送交换操作后,我想知道它的进度。如何使用PowerShell?我应该监视什么事件使用 Get-AzureRmLog ?我试着用 $_.resourceid -like "*Microsoft.Web/sites/examplesite" -and $_.OperationName.Value -eq 'Microsoft.Web/sites/write' -and $_.Status.Value -eq 'Succeeded' . 曾经工作过,但现在不工作。见下文。

    > Switch-AzureRmWebAppSlot -SourceSlotName qa -DestinationSlotName production
    > $r = get-azurermlog -ResourceGroupName examplegrp 3> $null 
    > $r |  select { $_.eventtimestamp,$_.operationname.value,$_.status.value,$_.resourceid.substring(50) }
    
    {2018-07-23 17:10:05, Microsoft.Sql/servers/databases/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Sql/servers/examplesqlserver/databases/aatDb}
    {2018-07-23 17:10:04, Microsoft.Sql/servers/databases/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Sql/servers/examplesqlserver/databases/prodDb}
    {2018-07-23 17:10:04, Microsoft.Sql/servers/databases/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Sql/servers/examplesqlserver/databases/qaDb}
    {2018-07-23 17:09:33, Microsoft.Web/sites/slots/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Web/sites/examplesite/slots/aat}
    {2018-07-23 17:09:27, Microsoft.Sql/servers/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Sql/servers/examplesqlserver}
    {2018-07-23 17:08:52, Microsoft.Sql/servers/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Sql/servers/examplesqlserver}
    {2018-07-23 17:08:17, Microsoft.Web/serverFarms/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Web/serverFarms/AppServicePlan-example}
    {2018-07-23 17:07:53, Microsoft.Web/serverFarms/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Web/serverFarms/AppServicePlan-example}
    {2018-07-23 17:07:51, Microsoft.Storage/storageAccounts/write, Succeeded, a/resourcegroups/examplegrp/providers/Microsoft.Storage/storageAccounts/exampleaatsa}
    {2018-07-23 17:00:19, Microsoft.Web/sites/slots/slotsswap/action, Accepted, a/resourceGroups/examplegrp/providers/Microsoft.Web/sites/examplesite/slots/qa}
    {2018-07-23 17:00:17, Microsoft.Web/sites/slots/slotsswap/action, Started, a/resourceGroups/examplegrp/providers/Microsoft.Web/sites/examplesite/slots/qa}
    

    建议的解决方案 https://docs.microsoft.com/en-us/azure/app-service/web-sites-staged-publishing#automate-with-azure-powershell 不工作。我什么都没得到 Get-AzureRmLog -ResourceGroup [resource group name] -StartTime [time] -Caller SlotSwapJobProcessor . 版本:获取azurermlog 5.0.1 azurerm.insights。

    实际上,在Azure门户上,也不会在组下的活动日志中显示有用的事件。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Joy Wang    7 年前

    尝试下面的命令,它在我这边工作正常。

    $a=get azurermlog-resourcegroupname<resourcegroupname>where object$.operationname.value-contains“microsoft.web/sites/slots/slotsswap/action”-and$.status.value-eq'succeeded'
    $A选择$事件时间戳,$操作名称.value,$状态.value,$资源ID.substring(50)
    
    
    

    enter image description here