Azure Java SDK - 类 去哪儿了
Azure Java SDK - Where have classes gone
我正在使用 Java sdk 尝试自动执行一些 azure 任务,例如启动服务器和关闭服务器。
我使用的是 Maven
的 java SDK 的 0.9.0 版
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-svc-mgmt</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-svc-mgmt-compute</artifactId>
<version>0.9.0</version>
</dependency>
此代码在 eclipse
中编译并 运行 成功
package com.services.servers.operations.azure;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.management.compute.ComputeManagementClient;
import com.microsoft.windowsazure.management.compute.ComputeManagementService;
import com.microsoft.windowsazure.management.compute.VirtualMachineOperations;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;
public class AzureTest {
String uri = "https://management.core.windows.net/";
String subscriptionId = "dasdas9-86da-4343-a1f4-24c20864e166";
String keyStoreLocation = "C:\Users\test\Desktop\azure\testKeystore.jks";
String keyStorePassword = "password";
public boolean startVirtualMachine(String serviceName, String deploymentName, String virtualMachineName){
boolean isSuccess = true;
try {
VirtualMachineOperations virtualMachineOperations = null;
Configuration config = ManagementConfiguration.configure(
new URI(uri),
subscriptionId,
keyStoreLocation,
keyStorePassword,
KeyStoreType.jks
);
ComputeManagementClient computeManagementClient = ComputeManagementService.create(config);
virtualMachineOperations = computeManagementClient.getVirtualMachinesOperations();
virtualMachineOperations.beginStarting(serviceName, deploymentName, virtualMachineName);
} catch (IOException e) {
System.out.println("An IOException has occured. Exception: " +e);
isSuccess = false;
} catch (ServiceException e) {
System.out.println("A ServiceException has occured. Exception: " + e);
isSuccess = false;
} catch (URISyntaxException e) {
System.out.println("A URISyntaxException has occured. Exception: " + e);
isSuccess = false;
}
return isSuccess;
}
}
当我升级到最新版本的 sdk - 0.9.1 - 以下 类 不再存在
import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;
我在网上找不到任何东西来说明这些 类 去了哪里——它们是否已被弃用或更多到另一个库
如果有人知道 类 我应该改用什么或者他们可能已经移动到什么库-那就太好了
或者,如果有人可以对上述启动服务器的代码提出任何改进建议,我们将不胜感激
谢谢
达米恩
我尝试重现该问题,但收到错误 Failed to read artifact descriptor for com.microsoft.azure:azure-svc-mgmt...jar:0.9.0
。
问题似乎是由用于下载 Microsoft Azure SDK for Management 0.9.1
版本依赖项的 Maven 存储库引起的。
建议您暂时使用0.9.0
版本
如果您必须使用版本 0.9.1
,您可以在 pom.xml
文件中手动添加库及其依赖项的完整 Maven 列表,或者您可以下载并添加所有库文件手动进入项目类路径。
转到http://go.microsoft.com/fwlink/?linkid=690320&clcid=0x409,下载文件'PackageForAzureLibrariesForJava.zip'并将这些jar 文件放入您的项目构建路径,或者如果您使用maven,则在pom 文件中添加依赖项。我在本地测试过这个。有效。
我正在使用 Java sdk 尝试自动执行一些 azure 任务,例如启动服务器和关闭服务器。 我使用的是 Maven
的 java SDK 的 0.9.0 版 <dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-svc-mgmt</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-svc-mgmt-compute</artifactId>
<version>0.9.0</version>
</dependency>
此代码在 eclipse
中编译并 运行 成功 package com.services.servers.operations.azure;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.management.compute.ComputeManagementClient;
import com.microsoft.windowsazure.management.compute.ComputeManagementService;
import com.microsoft.windowsazure.management.compute.VirtualMachineOperations;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;
public class AzureTest {
String uri = "https://management.core.windows.net/";
String subscriptionId = "dasdas9-86da-4343-a1f4-24c20864e166";
String keyStoreLocation = "C:\Users\test\Desktop\azure\testKeystore.jks";
String keyStorePassword = "password";
public boolean startVirtualMachine(String serviceName, String deploymentName, String virtualMachineName){
boolean isSuccess = true;
try {
VirtualMachineOperations virtualMachineOperations = null;
Configuration config = ManagementConfiguration.configure(
new URI(uri),
subscriptionId,
keyStoreLocation,
keyStorePassword,
KeyStoreType.jks
);
ComputeManagementClient computeManagementClient = ComputeManagementService.create(config);
virtualMachineOperations = computeManagementClient.getVirtualMachinesOperations();
virtualMachineOperations.beginStarting(serviceName, deploymentName, virtualMachineName);
} catch (IOException e) {
System.out.println("An IOException has occured. Exception: " +e);
isSuccess = false;
} catch (ServiceException e) {
System.out.println("A ServiceException has occured. Exception: " + e);
isSuccess = false;
} catch (URISyntaxException e) {
System.out.println("A URISyntaxException has occured. Exception: " + e);
isSuccess = false;
}
return isSuccess;
}
}
当我升级到最新版本的 sdk - 0.9.1 - 以下 类 不再存在
import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;
我在网上找不到任何东西来说明这些 类 去了哪里——它们是否已被弃用或更多到另一个库
如果有人知道 类 我应该改用什么或者他们可能已经移动到什么库-那就太好了 或者,如果有人可以对上述启动服务器的代码提出任何改进建议,我们将不胜感激
谢谢 达米恩
我尝试重现该问题,但收到错误 Failed to read artifact descriptor for com.microsoft.azure:azure-svc-mgmt...jar:0.9.0
。
问题似乎是由用于下载 Microsoft Azure SDK for Management 0.9.1
版本依赖项的 Maven 存储库引起的。
建议您暂时使用0.9.0
版本
如果您必须使用版本 0.9.1
,您可以在 pom.xml
文件中手动添加库及其依赖项的完整 Maven 列表,或者您可以下载并添加所有库文件手动进入项目类路径。
转到http://go.microsoft.com/fwlink/?linkid=690320&clcid=0x409,下载文件'PackageForAzureLibrariesForJava.zip'并将这些jar 文件放入您的项目构建路径,或者如果您使用maven,则在pom 文件中添加依赖项。我在本地测试过这个。有效。