Todos os produtos
Search
Central de documentação

:Usar um SDK para criar uma instância de contêiner elástica

Última atualização: Jun 27, 2026

O Elastic Container Instance oferece SDKs para três linguagens de programação: Go, Python e Java. Este tópico descreve como usar um SDK para criar uma instância de contêiner elástica. O exemplo utiliza o Alibaba Cloud SDK for Java.

Instalar o Alibaba Cloud SDK for Java

Recomendamos usar o Apache Maven para instalar o Alibaba Cloud SDK for Java. Adicione as seguintes dependências ao arquivo pom.xml do projeto Maven:

  • Biblioteca principal do Alibaba Cloud SDK for Java (aliyun-java-sdk-core)

  • Dependências aliyun-java-sdk-eci e gson

  • (Opcional) Dependência aliyun-java-sdk-vpc

  • (Opcional) Dependências aliyun-java-sdk-ecs e fastjson

Nota
  • Atualize regularmente a versão de cada dependência para usar os novos recursos. Para mais informações, visite Maven.

  • Se já existirem uma VPC, um vSwitch e um grupo de segurança, não será necessário instalar o Alibaba Cloud SDK for Java para criá-los. Nesse caso, ignore a instalação das dependências aliyun-java-sdk-vpc, aliyun-java-sdk-ecs e fastjson.

<dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <optional>true</optional>
            <version>4.6.3</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.10</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-eci</artifactId>
            <version>1.3.3</version>
        </dependency>
          <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-ecs</artifactId>
            <version>4.24.42</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.19</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-vpc</artifactId>
            <version>3.2.9</version>
        </dependency>
</dependencies>

Siga este procedimento para instalar o Alibaba Cloud SDK for Java com a ferramenta de desenvolvimento IntelliJ IDEA:

  1. Abra o IDEA e use um dos métodos abaixo para criar um projeto Maven:

    • Método 1: Criar um projeto Maven no IDEA

      1. Na barra de navegação superior, escolha File > New > Project...

      2. Na caixa de diálogo exibida, clique em Maven e conclua a configuração do projeto.

        sdk1

    • Método 2: Converter um projeto existente em projeto Maven

      1. Clique com o botão direito no projeto a ser convertido e selecione Add Framework Support... no menu exibido.

        sdk2

      2. Na caixa de diálogo exibida, selecione Maven e clique em OK.

        sdk3

  2. Abra o arquivo pom.xml no diretório do projeto Maven e adicione as dependências.

    Após adicionar as dependências, o Maven baixa automaticamente os pacotes JAR correspondentes.

    sdk4

Obter um par de AccessKey

Para chamar operações de API, use um par de AccessKey na verificação de identidade. Para proteger o par de AccessKey da sua conta Alibaba Cloud, crie um usuário RAM, conceda-lhe permissões de acesso às instâncias de contêiner elásticas e use o par de AccessKey desse usuário RAM para chamar o Elastic Container Instance SDK for Java.

Para mais informações, consulte os tópicos a seguir:

  1. Criar um usuário RAM

  2. Conceder permissões a usuários RAM

  3. Criar um par de AccessKey

Criar recursos necessários para instâncias de contêiner elásticas

Antes de criar uma instância de contêiner elástica, crie uma VPC, um vSwitch e um grupo de segurança.

Nota

Se já existirem uma VPC, um vSwitch e um grupo de segurança, obtenha os IDs desses recursos para criar a instância de contêiner elástica.

  1. Crie uma VPC.

    A tabela a seguir descreve os parâmetros. Para mais informações, consulte CreateVpc.

    Parâmetro

    Exemplo

    Descrição

    RegionId

    cn-shanghai

    ID da região onde a VPC está implantada.

    Selecione uma região com disponibilidade do Elastic Container Instance. Para mais informações, consulte Regiões e zonas.

    CidrBlock

    192.168.0.0/16

    Bloco CIDR da VPC.

    Use um dos seguintes blocos CIDR ou seus subconjuntos: 192.168.0.0/16, 172.16.0.0/12 e 10.0.0.0/8. Esses são blocos CIDR privados padrão definidos pelos documentos Request for Comments (RFC). A máscara de sub-rede deve ter entre 8 e 28 bits.

    Código de exemplo:

    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 com.aliyuncs.vpc.model.v20160428.*;
    
    public class CreateVpc {
    
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai","<accessKeyId>", "<accessSecret>");
            IAcsClient client = new DefaultAcsClient(profile);
    
            CreateVpcRequest request = new CreateVpcRequest();
            request.setSysRegionId("cn-shanghai");
            request.setCidrBlock("192.168.0.0/16");
    
            try {
                CreateVpcResponse 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());
            }
    
        }
    }

    A resposta a seguir indica que a VPC foi criada:

    {
    	"vpcId": "vpc-uf6d60ru912b6jvco****",
    	"vRouterId": "vrt-uf68fw505rxavz4hk****",
    	"requestId": "2C7AA1E2-4407-5B41-89F2-3DADC5AEE18E",
    	"routeTableId": "vtb-uf6orqxrmsyuv8gba****",
    	"resourceGroupId": "rg-acfmzw2jz2z****"
    }
  2. Crie um vSwitch na VPC.

    A tabela a seguir descreve os parâmetros. Para mais informações, consulte CreateVSwitch.

    Parâmetro

    Exemplo

    Descrição

    VpcId

    vpc-uf6d60ru912b6jvco****

    ID da VPC à qual o vSwitch pertence.

    ZoneId

    cn-shanghai-m

    ID da zona à qual o vSwitch pertence.

    Selecione uma zona recomendada na região escolhida. Para mais informações, consulte Regiões e zonas.

    CidrBlock

    192.168.0.0/24

    Bloco CIDR do vSwitch. O bloco CIDR do vSwitch deve atender aos seguintes requisitos:

    • A máscara deve ter entre 16 e 29 bits.

    • O bloco CIDR do vSwitch deve estar contido no bloco CIDR da VPC à qual ele pertence.

    • O bloco CIDR do vSwitch não pode ser igual aos blocos CIDR de destino das rotas adicionadas à VPC. No entanto, pode ser um subconjunto desses blocos de destino.

    Código de exemplo:

    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.vpc.model.v20160428.*;
    
    public class CreateVSwitch {
    
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<accessKeyId>", "<accessSecret>");
            IAcsClient client = new DefaultAcsClient(profile);
    
            CreateVSwitchRequest request = new CreateVSwitchRequest();
            request.setSysRegionId("cn-shanghai");
            request.setCidrBlock("192.168.0.0/24");
            request.setVpcId("vpc-uf6d60ru912b6jvco****");
            request.setZoneId("cn-shanghai-m");
    
            try {
                CreateVSwitchResponse 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());
            }
    
        }
    }

    A resposta a seguir indica que o vSwitch foi criado:

    {
    	"vSwitchId": "vsw-uf6uma67wlgxwuyb5****",
    	"requestId": "B94FAE14-043C-56B5-A763-F2E03C75AC3F"
    }
  3. Crie um grupo de segurança.

    Especifique uma VPC ao criar um grupo de segurança. Código de exemplo:

    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.ecs.model.v20140526.*;
    
    public class CreateSecurityGroup {
    
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<accessKeyId>", "<accessSecret>");
            IAcsClient client = new DefaultAcsClient(profile);
    
            CreateSecurityGroupRequest request = new CreateSecurityGroupRequest();
            request.setSysRegionId("cn-shanghai");
            request.setVpcId("vpc-uf6d60ru912b6jvco****");
    
            try {
                CreateSecurityGroupResponse 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());
            }
    
        }
    }

    A resposta a seguir indica que o grupo de segurança foi criado:

    {
    	"securityGroupId": "sg-uf63jawzncdab6xb****",
    	"requestId": "73D5964C-686A-59AF-8433-209067AB51D7"
    }

Criar uma instância de contêiner elástica

A tabela a seguir descreve os parâmetros. Para mais informações, consulte CreateContainerGroup.

Parâmetro

Exemplo

Descrição

RegionId

cn-shanghai

ID da região da instância de contêiner elástica.

SecurityGroupId

sg-uf63jawzncdab6xb****

ID do grupo de segurança a ser associado à instância de contêiner elástica.

VSwitchId

vsw-uf6uma67wlgxwuyb5****

vSwitch a ser associado à instância de contêiner elástica.

ContainerGroupName

test

Nome da instância de contêiner elástica.

Container.N.Image

registry-vpc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2

Imagem do contêiner N.

Container.N.Name

nginx

Nome do contêiner N.

Código de exemplo:

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-shanghai", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);
        CreateContainerGroupRequest request = new CreateContainerGroupRequest();
        request.setRegionId("cn-shanghai");
        request.setSecurityGroupId("sg-uf63jawzncdab6xb****");
        request.setVSwitchId("vsw-uf6uma67wlgxwuyb5****");
        request.setContainerGroupName("test");
        List<CreateContainerGroupRequest.Container> containerList = new ArrayList<CreateContainerGroupRequest.Container>();
        CreateContainerGroupRequest.Container container1 = new CreateContainerGroupRequest.Container();
        container1.setImage("registry-vpc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2");
        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());
        }
    }
}

A resposta a seguir indica que a instância de contêiner elástica foi criada. O valor containerGroupId representa o ID da instância.

{
	"requestId": "FA8DB391-3F54-5998-BDA0-8195113108E8",
	"containerGroupId": "eci-uf6g69s8wou20ns7****"
}