获取 Cosmos DB 帐户主帐户 key/primary 与 Azure cli/PowerShell 的连接字符串
Get Cosmos DB account primary account key/primary connection string with Azure cli/PowerShell
我正在创建一个 Azure DevOps 发布管道,我想在其中获取 cosmos db 帐户的主帐户 key/primary 连接字符串作为 Azue CLI 任务的一部分并将其发布为任务变量,以便我可以将其用作数据工厂 ARM 部署 activity 的参数,这是同一管道中的后续任务。
我用来获取密钥的代码是:
az cosmosdb keys list \
--name <db_account_name> \
--resource-group <resource_group_name> \
--subscription <subscription_name> \
--type connection-strings \
--query 'connectionStrings[0].connectionString' \
--output tsv
代码returns
AccountEndpoint=https://<db_account_name>.documents.azure.com:443/;AccountKey=***;
但是不显示account key里面的字符串内容
当我将其存储为任务变量并将其用于 ARM 任务时,出现错误。
- 如何通过 Azure cli/tasks 获取作为 azure devops 管道一部分的 cosmos db 帐户主连接 string/account 密钥的文本内容?
- 我是否需要更改用于从 Azure 管道访问 cosmos db 帐户的配置文件的 RBAC 角色?
how to get the text content of the cosmos db account primary connection string/account key through azure cli/tasks that are part of azure devops pipeline?
我无法重现您的问题,它在我这边运行良好,AccountKey
以纯文本形式输出。
我的内联脚本:
$a = az cosmosdb keys list --name joycosmostest --resource-group <groupname> --subscription <subscription-id> --type connection-strings --query 'connectionStrings[0].connectionString' --output tsv
echo "##vso[task.setvariable variable=connectionString;isOutput=true]$a"
do I need to change the RBAC roles for the profile that I use to access cosmos db account from azure pipeline?
在 Azure CLI 任务中,它使用 Azure 资源管理器服务连接来验证 Azure 服务,因此您应该确保服务连接中使用的服务主体在您的 cosmos db 帐户中具有正确的 RBAC 角色,例如Contributor
.
最简单的 one-liner 将为您提供准确的主键
$primaryKey = (az cosmosdb keys list --name <account_name> --resource-group <resource_group> --subscription <subscription_ID> --type keys --output json | ConvertFrom-Json).primaryMasterKey
echo "$primaryKey"
输出:
PS C:\Users\Ashwin.singh> ./test.ps1
gKRKaT6XQmf2dinukJit4qiymYYqMOghpdAIuoiEQhTh8VDTrkWB3XNmvyiJyMUNC4uSuwitQMBM0DanZ5Jjbw==
PS C:\Users\Ashwin.singh>
我正在创建一个 Azure DevOps 发布管道,我想在其中获取 cosmos db 帐户的主帐户 key/primary 连接字符串作为 Azue CLI 任务的一部分并将其发布为任务变量,以便我可以将其用作数据工厂 ARM 部署 activity 的参数,这是同一管道中的后续任务。 我用来获取密钥的代码是:
az cosmosdb keys list \
--name <db_account_name> \
--resource-group <resource_group_name> \
--subscription <subscription_name> \
--type connection-strings \
--query 'connectionStrings[0].connectionString' \
--output tsv
代码returns
AccountEndpoint=https://<db_account_name>.documents.azure.com:443/;AccountKey=***;
但是不显示account key里面的字符串内容
当我将其存储为任务变量并将其用于 ARM 任务时,出现错误。
- 如何通过 Azure cli/tasks 获取作为 azure devops 管道一部分的 cosmos db 帐户主连接 string/account 密钥的文本内容?
- 我是否需要更改用于从 Azure 管道访问 cosmos db 帐户的配置文件的 RBAC 角色?
how to get the text content of the cosmos db account primary connection string/account key through azure cli/tasks that are part of azure devops pipeline?
我无法重现您的问题,它在我这边运行良好,AccountKey
以纯文本形式输出。
我的内联脚本:
$a = az cosmosdb keys list --name joycosmostest --resource-group <groupname> --subscription <subscription-id> --type connection-strings --query 'connectionStrings[0].connectionString' --output tsv
echo "##vso[task.setvariable variable=connectionString;isOutput=true]$a"
do I need to change the RBAC roles for the profile that I use to access cosmos db account from azure pipeline?
在 Azure CLI 任务中,它使用 Azure 资源管理器服务连接来验证 Azure 服务,因此您应该确保服务连接中使用的服务主体在您的 cosmos db 帐户中具有正确的 RBAC 角色,例如Contributor
.
最简单的 one-liner 将为您提供准确的主键
$primaryKey = (az cosmosdb keys list --name <account_name> --resource-group <resource_group> --subscription <subscription_ID> --type keys --output json | ConvertFrom-Json).primaryMasterKey
echo "$primaryKey"
输出:
PS C:\Users\Ashwin.singh> ./test.ps1
gKRKaT6XQmf2dinukJit4qiymYYqMOghpdAIuoiEQhTh8VDTrkWB3XNmvyiJyMUNC4uSuwitQMBM0DanZ5Jjbw==
PS C:\Users\Ashwin.singh>