java - 'az account list' 的 API 等效项是什么?

标签 java azure rest api command-line-interface

我正在尝试列出已登录用户的所有订阅。一些东西 $ 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/

相关文章:

java - 以 json 格式向客户端返回消息以及数据 - Java/Spring/REST

java - 使用 JSch 的多个命令

java - Java 中的词法、句法或语义错误差异

java - 设计 Android UI 的最佳实践是什么?

java - 计算 xml 文件中的节点

c# - Azure Blob 存储 : DownloadToByteArray VS DownloadToStream

c# - Azure 表存储 - 管理并发

asp.net - 在 azure 上发布后出现日期问题

java - POST 请求 (HttpURLConnection) 的有趣问题 - 但为什么会发生这种情况呢?

java - 如何在 jax-rs 的 ContainerRequestFilter 中获取资源方法注释