Azure - PowerShell如何在重新连接后恢复/重新设置变量值

6l7fqoea  于 2023-03-19  发布在  Shell
关注(0)|答案(2)|浏览(114)

我正在使用Azure powershell创建一个APIM管理资源,如下所示:

.
.
.

$apimService = New-AzApiManagement `
    -ResourceGroupName $resGroupName `
    -Location $location `
    -Name $apimServiceName `
    -Organization $apimOrganization `
    -AdminEmail $apimAdminEmail `
    -VirtualNetwork $apimVirtualNetwork `
    -VpnType "Internal" `
    -Sku "Developer"

但是,由于APIM需要花费大量时间来创建,powershell终端超时,我必须重新连接,发生的情况是,变量$apimService在重新连接到终端后被设置为null。
因此,我无法执行以下命令:

.
.
.

$proxyHostnameConfig = New-AzApiManagementCustomHostnameConfiguration `
  -Hostname $gatewayHostname `
  -HostnameType Proxy `
  -PfxPath $gatewayCertPfxPath `
  -PfxPassword $certPwd

// this command complains as variable $apimService is null 
$apimService.ProxyCustomHostnameConfiguration = $proxyHostnameConfig

即使在2小时后,保留这些变量值的最佳方法是什么?因为当SKU为Developer时,APIm需要近1小时才能完成
有人能帮帮我吗?
谢谢你,最好的问候

b4wnujal

b4wnujal1#

创建完成后,可以使用Get-AzApiManagement重新填充变量。

$apimService = Get-AzApiManagement -Name [Name] -ResourceGroupName [RGName]

您还需要执行Set-AzApiManagement来实际应用更改。

$apimService | Set-AzApiManagement
92vpleto

92vpleto2#

我尝试在我的环境中重现相同的结果,如下所示

我已使用以下powershell脚本创建API管理

Connect-AzAccount
New-AzResourceGroup -Name myResourceGroup -Location WestUS
$global:Head = New-AzApiManagement -ResourceGroupName myResourceGroup -Location "West US"-Organization "venkatapitest" -AdminEmail "v-vallepuv@microsoft.com" -Sku "Developer"

当我运行上述powershell命令时,成功创建了API Managementget,未出现超时错误,如下所示。

我已在Azure Cloud Shell中测试了相同的脚本。

$global。这将确保全局范围,允许您在控制台中获取值。

相关问题