【发布时间】:2022-12-17 23:14:38
【问题描述】:
我在将 Azure Key Vault 证书链接/导入到 Azure App Service Plan / App Service 到 bicep 时遇到错误行为。
我将 serverFarmId 属性与我的 App Service Plan Id 一起提供
resource appServiceCertificate 'Microsoft.Web/certificates@2022-03-01' = {
name: '${keyVaultName}-${keyVaultCertificateName}'
location: location
properties: {
keyVaultId: keyVault.id
keyVaultSecretName: keyVaultCertificateName
serverFarmId: appServicePlanId // <<<< this is empty somehow
}
}
Azure 声称“Microsoft.Web/certificates”的部署“正常”
第二步(添加 hostNameBindings)随后失败,因为未找到证书。
Cannot find Certificate with name XXX.
我尝试了多种方法来获取应用程序服务计划 ID。所有这些都返回正确且相同的结果。但是当 Azure 部署模板时,服务器场 ID 变为空。
我正在做与 Microsoft sample 和多篇在线文章中类似的方法。所以我很确定,我这边有问题。但我不知道是什么。
完整模块:
param location string = resourceGroup().location
param appServiceName string
param appServicePlanName string
param dnsCertificateThumbPrint string
param dnsName string
param keyVaultName string
param keyVaultCertificateName string
resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' existing = {
name: keyVaultName
}
resource appService 'Microsoft.Web/sites@2022-03-01' existing = {
name: appServiceName
}
/*module appServicePlan 'AppServicePlan.bicep' = {
name: appServicePlanName
params: {
appPlanName: appServicePlanName
}
}*/
//Attempt #1 var appServicePlanId = appService.properties.serverFarmId
//Attempt #2 var appServicePlanId = appServicePlan.outputs.aspId
var appServicePlanId = resourceId('Microsoft.Web/serverfarms', appServicePlanName)
resource appServiceCertificate 'Microsoft.Web/certificates@2022-03-01' = {
name: '${keyVaultName}-${keyVaultCertificateName}'
location: location
properties: {
keyVaultId: keyVault.id
keyVaultSecretName: keyVaultCertificateName
serverFarmId: appServicePlanId
}
}
resource mainBinding 'Microsoft.Web/sites/hostNameBindings@2022-03-01' = {
name: dnsName
parent: appService
properties: {
siteName: dnsName
hostNameType: 'Verified'
sslState: 'SniEnabled'
thumbprint: dnsCertificateThumbPrint
}
dependsOn: [
appServiceCertificate
]
}
【问题讨论】:
-
您是否尝试过使用 api 版本:
2019-08-01?在您提供的链接中使用了此版本 -
Akso,在提供的链接中,它是
hostNameSslStates而不是hostNameBindings? -
你有完整的错误信息吗?
-
是的,切换回几个版本似乎可以解决问题。 @托马斯
标签: azure azure-bicep