0

尝试从 Azure-Java-SDK运行CreateVMExample.java

   VirtualMachine vm = ComputeHelper.createVM(
                        resourceManagementClient, computeManagementClient, networkResourceProviderClient, storageManagementClient,
                        context, "javaSampleVM", "Foo12", "BaR@123rgababaab")
                        .getVirtualMachine();

                System.out.println(vm.getName() + " is created");

并得到以下错误。

Exception in thread "main" java.util.concurrent.ExecutionException: com.microsoft.windowsazure.exception.ServiceException: MissingSubscriptionRegistration: The subscription is not registered to use namespace 'Microsoft.Storage'.
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:188)
    at com.microsoft.azure.management.storage.StorageAccountOperationsImpl.create(StorageAccountOperationsImpl.java:737)
    at com.microsoft.azure.utility.StorageHelper.createStorageAccount(StorageHelper.java:71)
    at com.microsoft.azure.utility.StorageHelper.createStorageAccount(StorageHelper.java:53)
    at com.microsoft.azure.utility.ComputeHelper.createVM(ComputeHelper.java:246)
    at com.microsoft.azure.utility.ComputeHelper.createVM(ComputeHelper.java:213)
    at com.microsoft.azure.auth.CreateVMExample.main(CreateVMExample.java:74)

由于我是 AWS 的 Azure 新手,不知道从哪里开始。看到与 Azure PS 相关的相同类型的错误。但没有多大帮助。请提出一些建议。我正在使用 Azure Active Directory 身份验证。谢谢。

4

2 回答 2

1

您引用的存储帐户名称是否可能是旧的存储帐户?如果您转到portal.azure.com,存储帐户将分为两类:存储帐户(经典)和存储帐户。如果您引用的帐户在经典列表中,请尝试创建一个新的存储帐户,然后引用它?

于 2015-10-14T02:05:37.307 回答
1

该问题是由使用 Azure AD 进行身份验证引起的。文档“验证 Azure 资源管理请求”( https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx ) 说“您使用 Azure 资源管理器对资源执行的所有任务都必须是通过 Azure Active Directory 进行身份验证。"。因此使用 Azure 资源管理 API 的 ClassComputeHelper必须通过 AAD 进行身份验证。

您需要首先使用管理门户在 Azure AD 上设置身份验证。详细步骤请参考https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx#bk_portalhttps://azure.microsoft.com/en-us/documentation/articles /resource-group-create-service-principal-portal/

有一个示例项目 ( https://github.com/Azure-Samples/active-directory-java-graphapi-web ) 用于在 Java 中调用 Azure AD,它可以帮助您。

于 2015-10-14T09:15:44.073 回答