如何解决如何获取为ARM模板中的表API创建的cosmos DB的连接字符串
我正在尝试为表API创建一个cosmos db帐户,并希望使用ARM模板将连接字符串上传到KV。
我希望连接字符串采用以下格式:
private void Start()
{
canvasGroup = panel.GetComponent<CanvasGroup>();
canvasGroup.alpha = 0f;
}
private void Update()
{
if(canvasGroup.alpha == 1)
{
autoCloseTimer += Time.deltaTime;
if(autoCloseTimer >= autoCloseInterval)
{
canvasGroup.alpha = 0.99f;
StartCoroutine(Close());
ResetAutoCloseTimer();
}
}
}
public void Paneltemp()
{
if(canvasGroup.alpha == 1)
{
StartCoroutine(Close());
}
else
{
StartCoroutine(Open());
}
}
IEnumerator Close()
{
while (canvasGroup.alpha > 0)
{
canvasGroup.alpha = 0f;
yield return null;
}
}
IEnumerator Open()
{
while (canvasGroup.alpha < 1)
{
canvasGroup.alpha = 1f;
yield return null;
}
}
void ResetAutoCloseTimer()
{
autoCloseTimer = 0.00f;
}
}
我正在使用这个:
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]
如何获取与表端点的连接字符串?
解决方法
我们的RP不返回旧表连接字符串格式。它只有下面的格式。
我认为做到这一点的唯一方法是使用concat
构建字符串并使用下面的reference
和listKeys
臂函数的组合。
"[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','2020-04-01').primaryMasterKey],‘;TableEndpoint=https://’,‘.table.cosmos.azure.com:443/;’]”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。