Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MissingSubscriptionRegistration:订阅未注册为使用命名空间';Microsoft.Storage';_Java_Azure_Azure Storage_Azure Virtual Machine_Azure Java Sdk - Fatal编程技术网

Java MissingSubscriptionRegistration:订阅未注册为使用命名空间';Microsoft.Storage';

Java MissingSubscriptionRegistration:订阅未注册为使用命名空间';Microsoft.Storage';,java,azure,azure-storage,azure-virtual-machine,azure-java-sdk,Java,Azure,Azure Storage,Azure Virtual Machine,Azure Java Sdk,已尝试从Azure Java SDK运行 VirtualMachine vm = ComputeHelper.createVM( resourceManagementClient, computeManagementClient, networkResourceProviderClient, storageManagementClient, context, "javaSampleVM", "F

已尝试从Azure Java SDK运行

   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身份验证。谢谢。

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

此问题是由使用Azure AD进行身份验证引起的。 文档“Authenticationing Azure资源管理请求”(Authenticationing Azure Resource Management request)中说“您使用Azure资源管理器对资源执行的所有任务都必须通过Azure Active Directory的身份验证。”。因此,使用类
ComputeHelper
的Azure资源管理API必须通过AAD验证

您需要首先使用管理门户在Azure AD上设置身份验证。有关详细步骤,请参阅和


这里有一个用Java调用Azure AD的示例项目(),它可以帮助您。

谢谢您的回复,Jason。现在我得到java.io.EOFException:如下所示。线程“main”java.util.concurrent.ExecutionException中的异常:java.io.EOFEException:由于在com.microsoft.azure.management.storage.StorageAccountOperationsImpl.create中java.util.concurrent.FutureTask.report(FutureTask.java:122)处的java.util.concurrent.FutureTask.get(FutureTask.java:188)处的输入结束,因此没有要映射到对象的内容(StorageAccountOperationsImpl.java:737)你知道该怎么做吗?你试过Peter Pan提到的步骤吗?它们有用吗?