Tous les produits
Search
Centre de documentation

Elastic Compute Service:Exemples d'appels du SDK Java V2.0 pour ECS

Dernière mise à jour :Aug 18, 2026

Cette rubrique explique comment installer et utiliser le kit de développement logiciel (SDK) Java V2.0. Un exemple illustre l'appel de l'opération API DescribeInstances pour interroger les détails d'une ou plusieurs instances Elastic Compute Service (ECS).

Prérequis

  1. La clé AccessKey d'un compte Alibaba Cloud offre un accès complet à vos ressources, ce qui présente un risque élevé pour la sécurité en cas de fuite. Nous vous recommandons de créer un utilisateur Resource Access Management (RAM) et de lui accorder uniquement les autorisations requises. Utilisez ensuite la clé AccessKey de l'utilisateur RAM pour appeler les opérations API. Pour plus d'informations, consultez Créer une clé AccessKey.

  2. Accordez à l'utilisateur RAM les autorisations nécessaires pour gérer les ressources ECS. L'exemple de code fourni dans cette rubrique illustre une opération de requête. Dans cet exemple, la stratégie système AliyunECSReadonlyAccess est utilisée. Vous pouvez accorder des autorisations personnalisées selon vos besoins.

    1. Utilisez des stratégies personnalisées.

      Pour savoir comment créer des stratégies personnalisées, consultez les rubriques Créer une stratégie personnalisée et Informations sur l'autorisation.

      ECS propose des exemples de stratégies personnalisés basés sur les meilleures pratiques. Vous pouvez utiliser ces exemples pour créer rapidement des stratégies personnalisées adaptées à vos besoins métier. Pour plus d'informations, consultez la rubrique Stratégies personnalisées.

    2. Utilisez des stratégies système.

      Pour obtenir la liste complète des stratégies système prises en charge par ECS et leurs descriptions d'autorisations, consultez la rubrique Stratégies système pour ECS.

  3. Configurez la clé AccessKey à l'aide de variables d'environnement. Pour plus d'informations, consultez la rubrique Configurer les variables d'environnement sur les systèmes Linux, macOS et Windows.

Installer le SDK

Plusieurs méthodes permettent d'installer le SDK Java. Cette rubrique utilise Apache Maven à titre d'exemple. Pour découvrir d'autres méthodes d'installation, consultez le Centre SDK.

Ouvrez le fichier pom.xml de votre projet Maven. Ajoutez la dépendance au nœud <dependencies> et actualisez la configuration Maven.

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>ecs20140526</artifactId>
  <version>5.3.0</version>
</dependency>

Utiliser le SDK

1. Initialiser le client

Vous pouvez utiliser plusieurs types d'identifiants pour initialiser un client, tels qu'une clé AccessKey ou un jeton Security Token Service (STS). Pour plus d'informations sur les autres types d'identifiants, consultez la rubrique Gérer les identifiants d'accès. Cet exemple montre comment initialiser un client à l'aide d'une clé AccessKey.

import com.aliyun.ecs20140526.Client;
import com.aliyun.teaopenapi.models.Config;

public class Sample {
    private static Client createClient() throws Exception {
        Config config = new Config()
                // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                // For the endpoint, see https://api.alibabacloud.com/product/Ecs
                .setEndpoint("ecs.cn-hangzhou.aliyuncs.com");
        return new Client(config);
    }
}

2. Créer un objet de requête pour l'opération API

Avant de créer l'objet de requête, consultez la documentation de l'API correspondante pour obtenir les informations relatives aux paramètres.

Remarque

Convention de nommage des objets de requête : {APIName}Request. Par exemple, l'objet de requête pour l'opération API DescribeInstances est DescribeInstancesRequest.

// Create a request object.
DescribeInstancesRequest request = new DescribeInstancesRequest().setRegionId("cn-hangzhou");

3. Effectuer un appel

Lorsque vous utilisez le client pour appeler une opération OpenAPI, vous pouvez définir des paramètres d'exécution, tels que le délai d'attente et les configurations de proxy. Pour plus d'informations, consultez la rubrique Configurations avancées.

Remarque

Convention de nommage des objets de réponse : {APIName}Response. Par exemple, l'objet de réponse pour l'opération API DescribeInstances est DescribeInstancesResponse.

// Set runtime parameters.
RuntimeOptions runtime = new RuntimeOptions();
// Call the DescribeInstances API operation.
DescribeInstancesResponse response = client.describeInstancesWithOptions(request, runtime);
System.out.println(response.body.toMap());

4. Gérer les exceptions

Le SDK Java propose une classification détaillée des exceptions. Les exceptions sont réparties en deux catégories principales : TeaUnretryableException et TeaException.

  • TeaUnretryableException : cette exception est généralement levée en raison de problèmes réseau après avoir atteint le nombre maximal de tentatives.

  • TeaException : cette exception concerne principalement les erreurs métier.

Prenez les mesures appropriées pour gérer les exceptions, telles que la propagation des exceptions, l'enregistrement des journaux et la tentative de récupération, afin de garantir la robustesse et la stabilité du système.

5. Exemple complet

import com.aliyun.ecs20140526.Client;
import com.aliyun.ecs20140526.models.DescribeInstancesRequest;
import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
import com.aliyun.tea.TeaException;
import com.aliyun.tea.TeaUnretryableException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;

public class Sample {
    private static Client createClient() throws Exception {
        Config config = new Config()
                // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                // For the endpoint, see https://api.alibabacloud.com/product/Ecs
                .setEndpoint("ecs.cn-hangzhou.aliyuncs.com");
        return new Client(config);
    }

    public static void main(String[] args) {
        try {
            Client client = Sample.createClient();
            // Create a request object.
            DescribeInstancesRequest request = new DescribeInstancesRequest()
                    .setRegionId("cn-hangzhou");
            // Set runtime parameters.
            RuntimeOptions runtime = new RuntimeOptions();
            // Call the DescribeInstances API operation.
            DescribeInstancesResponse response = client.describeInstancesWithOptions(request, runtime);
            System.out.println(response.body.toMap());
        } catch (TeaUnretryableException ue) {
            // This is for printing and demonstration purposes only. Handle exceptions with care. Do not ignore exceptions in your projects.
            ue.printStackTrace();
            // Print the error message.
            System.out.println(ue.getMessage());
            // Print the request record to query the request information when the error occurred.
            System.out.println(ue.getLastRequest());
        } catch (TeaException e) {
            // This is for printing and demonstration purposes only. Handle exceptions with care. Do not ignore exceptions in your projects.
            e.printStackTrace();
            // Print the error code.
            System.out.println(e.getCode());
            // Print the error message, which includes the RequestId.
            System.out.println(e.getMessage());
            // Print the specific error content returned by the server.
            System.out.println(e.getData());
        } catch (Exception e) {
            // This is for printing and demonstration purposes only. Handle exceptions with care. Do not ignore exceptions in your projects.
            e.printStackTrace();
        }
    }
}

Exemples par scénario

Informations complémentaires

Outre les méthodes précédentes, vous pouvez utiliser des appels généralisés pour invoquer les opérations OpenAPI ECS. Pour plus d'informations, consultez la rubrique Appels généralisés.

Si vous utilisez le SDK V1.0 et souhaitez obtenir plus d'informations, consultez la rubrique SDK Java V1.0.