use*_*734 7 powershell azure azure-powershell
我正在使用Powershell自动设置我的Azure环境-创建存储帐户,数据库,网站等。
在开发中,我要进行大量配置和拆卸。很多时候,我想运行配置脚本并创建天蓝色资产(如果尚不存在)
但是,我还没有找到一种优雅的方法。如果该项目不存在,则某些“ Get” cmdlet会引发异常,并且捕获该项目有点hack:
try {
$storageAcct = Get-AzureStorageAccount -StorageAccountName $Name
Write-Verbose "Storage Account already exists"
} catch {
$storageAcct = New-AzureStorageAccount -StorageAccountName $Name -Location $Location
}
Run Code Online (Sandbox Code Playgroud)
此外,使用某些命令,我根本无法捕获异常,而且我也不知道为什么:
try {
$cache = Get-AzureRedisCache -ResourceGroupName $resourceGroupName -Name $cacheName
} catch {
//Even with an exception, never arrives here.
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
这是我使用新的 Azure PowerShell Az 模块的解决方案
$StorageAccountName = "Storage account name"
$ResourceGroupName = "Resource group name"
$StorageAccount = Get-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -ErrorAction SilentlyContinue
if($StorageAccount -eq $null){
$storage = New-AzStorageAccount -ResourceGroupName $ResourceGroupName -StorageAccountName $StorageAccountName -Location "westeurope" -SkuName Standard_LRS -Kind StorageV2
}
else{
Write-Host "$StorageAccountName already exist"
}
Run Code Online (Sandbox Code Playgroud)
像这样的东西?
if(
Get-AzureStorageAccount | Where {$_.Label -match $name} | measure |select -expand count -eq 0) {
$storageAcct = New-AzureStorageAccount -StorageAccountName $Name -Location $Location
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10208 次 |
最近记录: |