gpt4 book ai didi

java - 无法列出来自 Azure java SDK 的图像发布者

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:10 24 4
gpt4 key购买 nike

我正在使用 Azure ARM API,并尝试通过执行以下代码通过 Azure Java SDK 按位置列出所有发布者:

import com.microsoft.azure.management.compute.ComputeManagementClient;
import com.microsoft.azure.management.compute.ComputeManagementService;
import com.microsoft.azure.management.compute.models.VirtualMachineImageListPublishersParameters;
import com.microsoft.azure.management.compute.models.VirtualMachineImageResourceList;

@Test
public void testListPublishers() {
ComputeManagementClient client = ComputeManagementService.create(createConfiguration());
VirtualMachineImageListPublishersParameters params = new VirtualMachineImageListPublishersParameters();
params.setLocation("westus");
VirtualMachineImageResourceList response = client.getVirtualMachineImagesOperations().listPublishers(params);
ArrayList<VirtualMachineImageResource> resources = response.getResources();
System.out.println("Found publishers: " + resources.size());
}

这会产生以下请求:

GET /subscriptions/{some-subscription}/providers/Microsoft.Compute/locations/westus/publishers?api-version=2015-06-15

但是,无论我在发布者参数中放置的位置如何,我总是得到空列表。我可以列出同一客户端的其他资源,因此创建客户端时不是问题。

您对我可能做错的事情有什么建议吗?也许有我没有的权限?

谢谢!

最佳答案

根据我的经验,该问题是由于在 Azure AD 上注册的应用程序没有 Reader 角色引起的。我重现了该问题,并通过向 AzureAD 应用程序分配读者角色解决了该问题。

有两种分配读者角色的方法。

  1. 在 Arm 模式下使用 Azure-CLI 和命令 azure ad role assignment create --objectId <objectId of the aad app> -o Reader -c /subscriptions/<subscriptionId>/

If you don't know the objectId of the AzureAD app, you can command azure ad sp show --search <the aad app name> to review it. If you have no Service Principal (SP) for Azure AD, you can command azure ad sp create <clientId> to create it.

  • 通过 All settings -> RESOURCE MANAGEMENT -> Users 添加角色和用户当应用程序显示在Azure新门户上时,请参见下面的图片。
  • 选择角色 Reader : enter image description here

    通过搜索名称添加用户: enter image description here

    将读者角色分配给 aad 应用后,您可以根据需要列出图片发布商。

    关于java - 无法列出来自 Azure java SDK 的图像发布者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35009350/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com