Azure cosmosdb 如何在ARM模板中获取为表API创建的cosmos DB的连接字符串
我正在尝试为表API创建一个cosmos db帐户,并希望使用ARM模板将连接字符串上载到KV 我希望连接字符串采用以下格式:Azure cosmosdb 如何在ARM模板中获取为表API创建的cosmos DB的连接字符串,azure-cosmosdb,azure-cosmosdb-sqlapi,azure-cosmosdb-tables,Azure Cosmosdb,Azure Cosmosdb Sqlapi,Azure Cosmosdb Tables,我正在尝试为表API创建一个cosmos db帐户,并希望使用ARM模板将连接字符串上载到KV 我希望连接字符串采用以下格式: DefaultEndpointsProtocol=https;AccountName=<<AccountName>>;AccountKey=<<Key>>;TableEndpoint=https://<<AccountName>>.table.cosmos.azure.com:443/; 但是通过
DefaultEndpointsProtocol=https;AccountName=<<AccountName>>;AccountKey=<<Key>>;TableEndpoint=https://<<AccountName>>.table.cosmos.azure.com:443/;
但是通过上面的内容,我得到了一个如下的连接字符串:
AccountEndpoint=https://<<AccountName>>.documents.azure.com:443/;AccountKey==<<Key>>;
AccountEndpoint=https://.documents.azure.com:443/;AccountKey==;
如何使用表端点获取连接字符串?我们的RP不返回旧表连接字符串格式。它只有下面的格式 我认为唯一的方法是使用
concat
构建字符串,并结合使用下面的reference
和listKeys
arm函数
"[reference(resourceId('Microsoft.DocumentDb/databaseAccounts/', parameters('globalCosmosDBName'))).documentEndpoint]"
"[listKeys(resourceId('Microsoft.DocumentDb/databaseAccounts', parameters('globalCosmosDBName')), '2020-04-01').primaryMasterKey]"
下面是完整的concat函数
“[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/;’]”
“[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/;’]”