我有一个ARM模板(其中包括)在Azure SQL服务器上创建数据库(也是由模板创建的)。
我需要输出数据库ADO.NET connectionstring。
因为我不确定调用了什么键,我输出的是整个对象: 这是我在JSON模板文件上的内容: “DatabaseConnectionString”:{ “type”:“object”, “value”:“[listkeys(变量('dbResourceId'),变量('apiVersion'))]” }
dbResourceId 100%正确。如果我输出它,我得到正确的ID,apiVersion与创建数据库时使用的相同。 但是,我收到此错误: “code”:“NotFound”, “message”:“找不到段'listkeys'的资源。”,
正在正确创建数据库
我使用服务总线具有完全相同的模式/想法,它完美无缺 救命,这是杀了我
答案 0 :(得分:7)
好吧,看起来连接字符串根本就不是属性,这就是为什么它不能用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;')]"
}