2017-02-23 144 views
1

我有一个奇怪的问题。我有1个ARM模板,我用它来部署2个环境。带密钥库证书的ARM模板

我加入的证书是这样的:

{ 
     "type": "Microsoft.Web/certificates", 
     "name": "[variables('certificateName')]", 
     "apiVersion": "2016-03-01", 
     "location": "[resourceGroup().location]", 
     "properties": { 
      "keyVaultId": "[parameters('almKeyVaultId')]", 
      "keyVaultSecretName": "[parameters('servicePrincipalCertSecretName')]", 
      "serverFarmId": "[resourceId('Microsoft.Web/serverfarms/', variables('appServicePlanName'))]" 
     }, 
     "dependsOn": [ 
      "[resourceId('Microsoft.Web/serverfarms/', variables('appServicePlanName'))]" 
     ] 
    }, 

对于我的测试环境中,这成功。 当我部署我的QA环境时,出现错误:参数KeyVaultId & KeyVaultSecretName具有无效值。

但是,Test和QA的参数值是相同的(almKeyVaultId & servicePrincipalCertSecretName)。

任何想法我做错了什么?

更新

删除全面的质量检查资源组后,我就能够重新部署完全相同的ARM模板。 似乎应该在密钥保险库密钥之后创建资源组?任何想法为什么?如果我们在生产中遇到这种情况,我们不希望删除完整的资源组

回答

1

我想我找到了这个问题的原因。 显然,在创建资源组时,您无法更改秘密名称。如果你这样做,上面的错误将被抛出。

如果要更改密钥名称,则需要删除资源组并重新部署所有内容。

+0

谢谢你指出这一点。我发现你也可以改变证书的名字,这个名字的影响较小。 – Tom