Tüm Ürünler
Search
Belge Merkezi

Elastic Compute Service:ECS Java SDK V2.0 call examples

Son Güncelleme:Sep 30, 2026

Bu konuda, Java Yazılım Geliştirme Kitinin (SDK) V2.0 sürümünün nasıl kurulacağı ve kullanılacağı açıklanır. Bir veya daha fazla Elastic Compute Service (ECS) örneğinin ayrıntılarını sorgulamak için DescribeInstances API işleminin nasıl çağrılacağını gösteren bir örnek sunulur.

Ön koşullar

  1. Alibaba Cloud hesabınızın AccessKey'i kaynaklarınıza tam erişim sağlar; bu nedenle AccessKey'in sızması durumunda yüksek bir güvenlik riski oluşur. Bir Resource Access Management (RAM) kullanıcısı oluşturmanız ve yalnızca gerekli izinleri vermeniz önerilir. Ardından API işlemlerini çağırmak için RAM kullanıcısının AccessKey'ini kullanın. Daha fazla bilgi için bkz. AccessKey oluşturma.

  2. RAM kullanıcısına ECS kaynaklarını yönetme izni verdiğinizden emin olun. Bu konudaki örnek kod bir sorgu işlemi gösterir. Bu örnekte AliyunECSReadonlyAccess sistem ilkesi kullanılır. İhtiyaca göre özel izinler verebilirsiniz.

    1. Özel ilkeleri kullanın.

      Özel ilke oluşturma hakkında daha fazla bilgi için bkz. Özel ilke oluşturma ve Yetkilendirme bilgileri.

      ECS, en iyi uygulamalara dayalı özel ilke örnekleri sunar. İş ihtiyaçlarınızı karşılayan özel ilkeleri hızlıca oluşturmak için bu örnekleri kullanabilirsiniz. Daha fazla bilgi için bkz. Özel ilkeler.

    2. Sistem ilkelerini kullanın.

      ECS'nin desteklediği tüm sistem ilkeleri ve izin açıklamaları hakkında bilgi için bkz. ECS için sistem ilkeleri.

  3. AccessKey'i ortam değişkenlerini kullanarak yapılandırın. Daha fazla bilgi için bkz. Linux, macOS ve Windows sistemlerinde ortam değişkenlerini yapılandırma.

SDK'yı yükleme

Java SDK'yı birden çok şekilde yükleyebilirsiniz. Bu konuda Apache Maven örnek olarak kullanılmıştır. Diğer yükleme yöntemleri hakkında daha fazla bilgi için bkz. SDK Merkezi.

Maven projenizin pom.xml dosyasını açın. Bağımlılığı <dependencies> düğümüne ekleyin ve Maven yapılandırmasını yenileyin.

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

SDK'yı kullanma

1. İstemciyi başlatma

İstemciyi başlatmak için AccessKey veya Security Token Service (STS) belirteci gibi çeşitli kimlik bilgisi türlerini kullanabilirsiniz. Diğer kimlik bilgisi türleri hakkında daha fazla bilgi için bkz. Erişim kimlik bilgilerini yönetme. Bu örnekte istemcinin AccessKey kullanılarak nasıl başlatılacağı gösterilmektedir.

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. API işlemi için istek nesnesi oluşturma

İstek nesnesini oluşturmadan önce parametre bilgilerini almak için işlemin API belgelerine göz atın.

Not

İstek nesnesi adlandırma kuralı: {APIName}Request. Örneğin, DescribeInstances API işlemi için istek nesnesi DescribeInstancesRequest'tir.

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

3. Çağrı başlatma

İstemciyi kullanarak bir OpenAPI işlemi çağırırken zaman aşımı ve proxy yapılandırmaları gibi çalışma zamanı parametrelerini ayarlayabilirsiniz. Daha fazla bilgi için bkz. Gelişmiş yapılandırmalar.

Not

Yanıt nesnesi adlandırma kuralı: {APIName}Response. Örneğin, DescribeInstances API işlemi için yanıt nesnesi DescribeInstancesResponse'tur.

// 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. Özel durumları işleme

Java SDK, ayrıntılı bir özel durum sınıflandırması sağlar. Özel durumlar iki ana türe ayrılır: TeaUnretryableException ve TeaException.

  • TeaUnretryableException: Bu özel durum genellikle maksimum yeniden deneme sayısına ulaşıldıktan sonra ağ sorunları nedeniyle tetiklenir.

  • TeaException: Bu özel durum öncelikle iş mantığı hataları içindir.

Sistemin sağlamlığını ve kararlılığını sağlamak için özel durumları yayma, günlük kaydetme ve kurtarma denemesi yapma gibi uygun önlemler alarak özel durumları mutlaka işleyin.

5. Tam örnek

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();
        }
    }
}

Senaryo tabanlı örnekler

Daha fazla bilgi

Yukarıdaki yöntemlere ek olarak, ECS OpenAPI işlemlerini çağırmak için genelleştirilmiş çağrıları kullanabilirsiniz. Daha fazla bilgi için bkz. Genelleştirilmiş çağrılar.

SDK V1.0 kullanıyorsanız ve daha fazla bilgi edinmek istiyorsanız bkz. Java SDK V1.0.