如何在 ARM 模板中获取为 table API 创建的 cosmos DB 的连接字符串
How to get Connection string of a cosmos DB created for table API in ARM template
我正在尝试为 table API 创建一个 cosmos 数据库帐户,并希望使用 ARM 模板将连接字符串上传到 KV。
我希望连接字符串采用这种格式:
DefaultEndpointsProtocol=https;AccountName=<<AccountName>>;AccountKey=<<Key>>;TableEndpoint=https://<<AccountName>>.table.cosmos.azure.com:443/;
我正在使用这个:
[listConnectionStrings(resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('globalCosmosDBName')), '2019-12-12').connectionStrings[0].connectionString]
但是有了上面的内容,我得到了如下所示的连接字符串:
AccountEndpoint=https://<<AccountName>>.documents.azure.com:443/;AccountKey==<<Key>>;
如何获取带有 table 端点的连接字符串?
我们的 RP 没有 return 遗留的 table 连接字符串格式。它只有你下面的格式。
我认为唯一的方法是使用 concat
构建字符串并结合使用下面的 reference
和 listKeys
arm 函数。
"[reference(resourceId('Microsoft.DocumentDb/databaseAccounts/', parameters('globalCosmosDBName'))).documentEndpoint]"
"[listKeys(resourceId('Microsoft.DocumentDb/databaseAccounts', parameters('globalCosmosDBName')), '2020-04-01').primaryMasterKey]"
这是完整的连接函数。
“[concat(‘DefaultEndpointsProtocol=https;AccountName=’, [reference(resourceId('Microsoft.DocumentDb/databaseAccounts/', parameters('globalCosmosDBName'))).documentEndpoint], ‘;AccountKey=’, [listKeys(resourceId('Microsoft.DocumentDb/databaseAccounts', parameters('globalCosmosDBName')), '2020-04-01').primaryMasterKey], ‘;TableEndpoint=https://’, [reference(resourceId('Microsoft.DocumentDb/databaseAccounts/', parameters('globalCosmosDBName'))).documentEndpoint], ‘.table.cosmos.azure.com:443/;’]”
我正在尝试为 table API 创建一个 cosmos 数据库帐户,并希望使用 ARM 模板将连接字符串上传到 KV。
我希望连接字符串采用这种格式:
DefaultEndpointsProtocol=https;AccountName=<<AccountName>>;AccountKey=<<Key>>;TableEndpoint=https://<<AccountName>>.table.cosmos.azure.com:443/;
我正在使用这个:
[listConnectionStrings(resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('globalCosmosDBName')), '2019-12-12').connectionStrings[0].connectionString]
但是有了上面的内容,我得到了如下所示的连接字符串:
AccountEndpoint=https://<<AccountName>>.documents.azure.com:443/;AccountKey==<<Key>>;
如何获取带有 table 端点的连接字符串?
我们的 RP 没有 return 遗留的 table 连接字符串格式。它只有你下面的格式。
我认为唯一的方法是使用 concat
构建字符串并结合使用下面的 reference
和 listKeys
arm 函数。
"[reference(resourceId('Microsoft.DocumentDb/databaseAccounts/', parameters('globalCosmosDBName'))).documentEndpoint]"
"[listKeys(resourceId('Microsoft.DocumentDb/databaseAccounts', parameters('globalCosmosDBName')), '2020-04-01').primaryMasterKey]"
这是完整的连接函数。
“[concat(‘DefaultEndpointsProtocol=https;AccountName=’, [reference(resourceId('Microsoft.DocumentDb/databaseAccounts/', parameters('globalCosmosDBName'))).documentEndpoint], ‘;AccountKey=’, [listKeys(resourceId('Microsoft.DocumentDb/databaseAccounts', parameters('globalCosmosDBName')), '2020-04-01').primaryMasterKey], ‘;TableEndpoint=https://’, [reference(resourceId('Microsoft.DocumentDb/databaseAccounts/', parameters('globalCosmosDBName'))).documentEndpoint], ‘.table.cosmos.azure.com:443/;’]”