我正在尝试列出已登录用户的所有订阅。一些东西 $ az 帐户列表 提供。我正在寻找等效的 REST API 或等效的 Java SDK。
我在这里缺少什么?
每次我使用该 URL 时 奥 git _a 它仅返回 1 个订阅。
期待类似以下内容
[
{
"cloudName": "AzureCloud",
"id": "87654321-de26-zzzz-b714-184nd94h1000",
"isDefault": true,
"name": "Test2",
"state": "Enabled",
"tenantId": "12345678-3333-4444-8787-000000111111",
"user": {
"name": "foo@hotmail.com",
"type": "user"
}
},
{
"cloudName": "AzureCloud",
"id": "12345678-4321-1234-4444-111111000000",
"isDefault": false,
"name": "Test1",
"state": "Enabled",
"tenantId": "88888888-4444-3333-1111-010101010101",
"user": {
"name": "foo@hotmail.com",
"type": "user"
}
}
]
并运行执行相当于以下命令的操作。当然还有更多细节。
$ az account set -s 87654321-de26-zzzz-b714-184nd94h1000
$ az vm list
$ az account set -s 12345678-4321-1234-4444-111111000000
$ az vm list
我正在使用服务主体,其他租户邀请该用户作为 guest 用户。
主要要求之一是不使用基于浏览器的初始登录,因为此应用程序将作为守护程序运行。
最佳答案
实际上,当你登录时,比如Azure CLI,它会获取当前用户的所有信息,包括租户以及租户中的订阅。但是当您使用REST API时,有一个默认租户,因此您只需列出默认租户的所有订阅即可。对于您来说,默认租户只有一项订阅。
您可以使用 CLI 命令 az login
和参数 --debug
来查看有关该过程的更多详细信息。并且还可以使用REST API https://management.azure.com/tenants?api-version=2016-06-01获取您的帐户拥有的所有租户。
关于java - 'az account list' 的 API 等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58598532/