13

我有一个 ARM 模板(除其他外),它在 Azure SQL 服务器(也由模板创建)上创建了一个数据库。

我需要输出数据库 ADO.NET 连接字符串。

因为我不确定这个键叫什么,所以我输出了整个对象:这就是我在 JSON 模板文件上的内容:

 "DatabaseConnectionString": {
      "type": "object",
      "value": "[listkeys(variables('dbResourceId'), variables('apiVersion'))]"
    }

dbResourceId是 100% 正确的。如果我改为输出它,我会得到正确的 ID,并且与apiVersion创建数据库时使用的 ID 相同。但是,我收到此错误:

“代码”:“未找到”,

"message": "未找到段 'listkeys' 的资源。",

数据库正在正确创建

我对服务总线有完全相同的模式/想法,它工作得很好帮助,这让我很生气

4

1 回答 1

21

好吧,看起来连接字符串根本不是一个属性,这就是为什么它不能用listkeys返回的原因,它需要使用concat“计算”

"DatabaseConnectionString": {
  "type": "string",
  "value": "[concat('Server=tcp:',reference(variables('sqlserverName')).fullyQualifiedDomainName,',1433;Initial Catalog=',variables('dbName'),';Persist Security Info=False;User ID=',reference(variables('sqlserverName')).administratorLogin,';Password=',reference(variables('sqlserverName')).administratorLoginPassword,';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;')]"
}
于 2016-12-07T07:30:15.993 回答