Azure从Azure Java SDK检索VirtualMachines的PublicIPAddress

Azure从Azure Java SDK检索VirtualMachines的PublicIPAddress,第1张

Azure从Azure Java SDK检索VirtualMachines的PublicIPAddress

该问题是由使用不正确的身份验证引起的。

下面的身份验证代码仅适用于Azure服务管理。

Configuration config = ManagementConfiguration.configure(          new URI("https://management.core.windows.net),subscriptionId,          keyStoreLocation, // the file path to the JKS          keyStorePassword, // the password for the JKS          KeyStoreType.jks // flags that I'm using a JKS keystore        );

为验证Azure资源管理,文档“验证Azure资源管理请求”(https://msdn.microsoft.com/en-
us/library/azure/dn790557.aspx
)表示“您使用以下命令对资源执行的所有任务必须使用Azure Active
Directory对Azure资源管理器进行身份验证。

因此,您需要使用您的subscription-id,tenant-id,client-id和client-secret修改身份验证配置代码,如下所示:

private static AuthenticationResult getAccessTokenFromServicePrincipalCredentials() throws ServiceUnavailableException, MalformedURLException, ExecutionException, InterruptedException {        AuthenticationContext context;        AuthenticationResult result = null;        ExecutorService service = null;        try { service = Executors.newFixedThreadPool(1); // TODO: add your tenant id context = new AuthenticationContext("https://login.windows.net/" + "<your tenant id>",         false, service); // TODO: add your client id and client secret ClientCredential cred = new ClientCredential("<your client id>",         "<your client secret>"); Future<AuthenticationResult> future = context.acquireToken(         "https://management.azure.com/", cred, null); result = future.get();        } finally { service.shutdown();        }        if (result == null) { throw new ServiceUnavailableException(         "authentication result was null");        }        return result;    }Configuration config = ManagementConfiguration.configure(          null,          new URI("https://management.core.windows.net),"<your-subscription-id>",          getAccessTokenFromServicePrincipalCredentials().getAccessToken()        );

有关适用于Java的ServicePrincipal的完整身份验证代码,请参阅https://github.com/Azure/azure-sdk-
for-java/blob/master/azure-mgmt-samples/src/main/java/com/microsoft/ azure /
samples / authentication /
ServicePrincipalExample.java。

对于线程(使用azure java sdk在Windows
azure中检索订阅的网络列表)的URL,它会移动https://github.com/Azure/azure-sdk-for-java/blob/master/service-
management/ azure-svc-mgmt-network / src / main / java / com / microsoft /
windowsazure / management / network /
NetworkOperations.java。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5052265.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-15
下一篇2022-11-15

发表评论

登录后才能评论

评论列表(0条)

    保存