概述

本文介绍如何使用ECI Java SDK以及阿里云核心库。

准备

安装Java SDK

您可以自行下载aliyun-java-sdk-eci;也可以使用Maven坐标来使用SDK(推荐使用)。

Java SDK 的Maven地址:aliyun-java-sdk-eci

通过使用Maven坐标来使用SDK,只需在 Maven pom.xml 添加以下依赖项即可:

<dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <optional>true</optional>
            <version>4.5.16</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-eci</artifactId>
            <version>1.2.1</version>
        </dependency>
</dependencies>

Demo示例

创建一个ECI实例

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.eci.model.v20180808.*;

public class CreateContainerGroup {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        CreateContainerGroupRequest request = new CreateContainerGroupRequest();
        request.setRegionId("cn-beijing");
        request.setSecurityGroupId("sg-2ze50xxve5raqetki8at");
        request.setVSwitchId("vsw-2ze462895gttskw2yc6wh");
        request.setContainerGroupName("test");

        List<CreateContainerGroupRequest.Container> containerList = new ArrayList<CreateContainerGroupRequest.Container>();

        CreateContainerGroupRequest.Container container1 = new CreateContainerGroupRequest.Container();
        container1.setImage("nginx");
        container1.setName("nginx");
        containerList.add(container1);
        request.setContainers(containerList);

        try {
            CreateContainerGroupResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

返回数据

{"containerGroupId":"eci-bp1h4oxf96kajk0kdfl1","requestId":"8E93976E-E73B-410F-B048-F6E8488E6D51"}

删除指定ECI实例

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.eci.model.v20180808.*;

public class DeleteContainerGroup {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        DeleteContainerGroupRequest request = new DeleteContainerGroupRequest();
        request.setRegionId("cn-beijing");
        request.setContainerGroupId("eci-2ze4uq1ecwkm2nwf8odf");

        try {
            DeleteContainerGroupResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

返回数据

{"requestId":"30E08AC3-5BEE-4721-9E9C-BE0EC63AB494"}
注意 若您使用的sdk版本不支持某些特殊入参,您也可以通过类似如下的方式追加参数使其生效:

request.putQueryParameter("VSwitchId", "vsw-uf6mhqg2wiq9iif*****");