Para facilitar las llamadas a la API, se recomienda integrar el SDK de Alibaba Cloud en su proyecto. Los SDK simplifican el proceso de desarrollo, integran funcionalidades rápidamente y reducen de manera significativa el costo de operación y mantenimiento. En este tema se describe cómo integrar el SDK V1.0 para Java de Alibaba Cloud en su proyecto y usarlo durante el desarrollo.
Requisitos previos
Debe tener instalado JDK 1.6 o una versión posterior.
Instalar el SDK
Para usar el SDK V1.0 para Java de Alibaba Cloud, también debe instalar el SDK del servicio en la nube y la biblioteca principal del SDK.
SDK del servicio en la nube
El SDK de un servicio en la nube incluye el objeto de solicitud obligatorio para llamar a las operaciones de la API, así como el objeto de respuesta. En este ejemplo, el SDK V1.0 para Java de Elastic Compute Service (ECS) se configura como una dependencia de Maven. A continuación se muestra el código de ejemplo de la dependencia de Maven.
<dependencies>
<!-- ecs V1.0 SDK -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-ecs</artifactId>
<version>5.11.7</version>
</dependency>
</dependencies>
El SDK V1.0 para Java de un servicio de Alibaba Cloud utiliza el formato de nombre aliyun-java-sdk-${Service code}. También puede consultar la información del SDK V1.0 para Java de un servicio específico de Alibaba Cloud en SDK Center.
Biblioteca principal de un SDK
La biblioteca principal de un SDK incluye el objeto de cliente, la lógica de firma y la lógica de manejo de errores. Estos elementos son obligatorios para llamar a las operaciones de la API. Se recomienda configurar la biblioteca principal del SDK como una dependencia de Maven. A continuación se muestra el código de ejemplo de dicha dependencia.
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.7.3</version>
</dependency>
Para obtener más información sobre la versión de la biblioteca principal, consulte Maven Repository: com.aliyun » aliyun-java-sdk-core.
Usar el SDK
En el siguiente ejemplo se muestra cómo usar el SDK V1.0 de Alibaba Cloud para llamar a la operación de la API DescribeInstances de ECS.
1. Inicializar un cliente de solicitud
Todas las operaciones de la API se llaman mediante el objeto Client que proporciona la biblioteca principal. Antes de llamar a una operación de la API, inicialice un cliente de solicitud. En este ejemplo, el cliente de solicitud se inicializa con un par de AccessKey. Para obtener más información, consulte Manage access credentials.
En este ejemplo, el par de AccessKey se obtiene de las variables de entorno ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET, las cuales deben configurarse antes de ejecutar el código. Para obtener más información, consulte Configure environment variables on Linux, macOS, and Windows.
com.aliyuncs.profile.DefaultProfile profile = com.aliyuncs.profile.DefaultProfile.getProfile(
"<REGION_ID>",
// Obtain the AccessKey ID of the Resource Access Management (RAM) user from an environment variable.
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// Obtain the AccessKey secret of the RAM user from an environment variable.
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
com.aliyuncs.IAcsClient client = new com.aliyuncs.DefaultAcsClient(profile);
Si un solo cliente del SDK procesa varios hilos, pueden surgir problemas de seguridad. Además, si varios servicios de Alibaba Cloud comparten la misma información de perfil, podría producirse un acceso no autorizado. Se recomienda usar el SDK V2.0 de Alibaba Cloud para el desarrollo.
2. Crear un objeto de solicitud
Use el objeto de solicitud que proporciona el SDK para encapsular los parámetros de la solicitud.
Asigne un nombre al objeto de solicitud de la operación de la API con el siguiente formato: <API operation name>Request.
com.aliyuncs.ecs.model.v20140526.DescribeInstancesRequest request = new com.aliyuncs.ecs.model.v20140526.DescribeInstancesRequest();
request.setRegionId("cn-hangzhou");
request.setInstanceIds(new com.google.gson.Gson().toJson(Arrays.asList("i-bp1fq61ktxxxxxxxxxxxx","i-bp1fq62ktxxxxxxxxxxxx")));
3. Enviar una solicitud a la API
Use el cliente de solicitud creado en el paso 1 para llamar a la operación getAcsResponse. Los parámetros de esta operación corresponden al objeto de solicitud creado en el paso 2. Si la llamada es exitosa, se devuelve un objeto de respuesta.
Asigne un nombre al objeto de respuesta de la operación de la API con el siguiente formato: <API operation name>Response.
com.aliyuncs.ecs.model.v20140526.DescribeInstancesResponse response = client.getAcsResponse(request);
System.out.println(new com.google.gson.Gson().toJson(response));
4. Manejar errores
Si se produce un error al llamar a una operación de la API, capture ServerException y ClientException para obtener el mensaje de error. En la mayoría de los casos, los errores de tipo ClientException se deben a parámetros no válidos durante la inicialización del cliente, como parámetros de AccessKey incorrectos. Los errores de tipo ServerException pueden originarse por distintos factores. Solicite asistencia al servicio de atención al cliente para solucionar el problema y proporcione el identificador de la solicitud.
Referencias
Para obtener más información sobre la configuración del SDK, como los ajustes de proxy y de tiempo de espera, consulte Advanced settings.
Para conocer el procedimiento de creación de un par de AccessKey, consulte Create an AccessKey.