VSCode部署Bicep模板时storageName参数未解析问题求助
VSCode Bicep扩展部署模板失败,PowerShell部署正常的原因排查
我尝试通过VSCode的Bicep扩展直接部署存储账户Bicep模板,但持续失败;而使用PowerShell的New-AzResourceGroupDeployment cmdlet部署则完全正常,想确认是操作有误还是存在bug。
模板中存储账户名称参数定义如下:
param storageName string = 'mystorage${uniqueString(resourceGroup().id)}'
VSCode部署时的错误
从VSCode部署时,storageName未自动解析,反而弹出提示要求确认该参数(点击确认后仍失败)。错误状态信息如下:
{ "status": "Failed", "error": { "code": "AccountNameInvalid", "message": "[format('mystorage{0}', uniqueString(resourceGroup().id))] is not a valid storage account name. Storage account name must be between 3 and 24 characters in length and use numbers and lower-case letters only." } }
可见storageName参数未被解析为实际字符串,而是直接传递了表达式,导致ARM拒绝部署。部署详情如下:
Get-AzResourceGroupDeployment -ResourceGroupName VSCodeBicepTest-RG -Name MyTestDeployment-FAILS DeploymentName : MyTestDeployment-FAILS ResourceGroupName : VSCodeBicepTest-RG ProvisioningState : Failed Timestamp : 19/01/2023 19:56:37 Mode : Incremental TemplateLink : Parameters : Name Type Value =============== ========================= ========== location String "northeurope" storageName String "[format('mystorage{0}', uniqueString(resourceGroup().id))]"
PowerShell部署正常
使用PowerShell部署时一切正常,部署成功,storageName参数被正确解析为字符串mystoragedcgcd6nvj5tje,部署详情如下:
New-AzResourceGroupDeployment -Name MyTestDeployment-SUCCEEDS -ResourceGroupName VSCodeBicepTest-RG -TemplateFile ./sample-template.bicep DeploymentName : MyTestDeployment-SUCCEEDS ResourceGroupName : VSCodeBicepTest-RG ProvisioningState : Succeeded Timestamp : 19/01/2023 19:56:16 Mode : Incremental TemplateLink : Parameters : Name Type Value =============== ========================= ========== location String "northeurope" storageName String "mystoragedcgcd6nvj5tje"
环境信息
- MacOS系统
- VSCode 1.74.3(Universal)
- Bicep扩展 v0.13.1
内容的提问来源于stack exchange,提问作者bahrep
相关产品推荐
相关产品推荐

