Crie sua primeira instância do PAI-Instant Service pelo caminho mais curto: crie um service instantâneo, inicie uma instância a partir de um modelo público, execute comandos com o E2B SDK e destrua a instância.
Pré-requisitos
Antes de usar o PAI-Instant Service, certifique-se de ter concluído as seguintes preparações:
Conta Alibaba Cloud ativada e verificação de nome real concluída.
PAI ativado e workspace do PAI criado.
Recursos computacionais do Instant Service adquiridos na página de compra do EAS Dedicated Machine Pay-As-You-Go.
(Opcional) Para criar um modelo a partir de uma imagem personalizada, ative o Container Registry (ACR) e crie uma instância Standard ou Premium do ACR Enterprise Edition. Se você utilizar apenas modelos públicos, o ACR não é necessário.
(Opcional) Ao usar o E2B Python SDK, utilize apenas versões anteriores à v2.25.0.
Etapa 1: Criar um service instantâneo
Faça login no PAI console. No painel de navegação à esquerda, selecione Elastic Algorithm Service (EAS) para acessar a página da lista de services.
Selecione a aba Instant Service na parte superior.
-
Clique em Create Instant Service e configure os parâmetros conforme descrito abaixo. Mantenha os demais parâmetros com seus valores padrão:
Name: Insira um nome personalizado, por exemplo,
quickstart.Resource Type: Selecione EAS Resource Group.
Resource Group: Selecione o grupo de recursos do service instantâneo adquirido.
Network Egress Mode: Selecione Shared Public Network.
Clique em Confirm para concluir a criação.
-
Acesse a workbench do service instantâneo.
Na aba Instant Service, localize o service instantâneo criado na Etapa 1. Na coluna Invoke, clique no ícone Instant Service Workbench.
Na caixa de diálogo Go to Instant Service Workbench, copie a URL de Manage Links ou Read-only Link e abra-a em seu navegador.
Na lista de modelos públicos, selecione
code-interpretere clique no ID do modelo para ir à página de detalhes.No canto superior direito da página de detalhes do modelo, clique em SDK Access para obter a configuração de conexão do SDK e o código de exemplo em Python.
Após chamar
sandbox.kill()para destruir a instância, o faturamento dos recursos computacionais e do disco do sistema é interrompido.Também é possível localizar a instância na Instance list dentro da workbench do service instantâneo e clicar em Delete para destruí-la.
Caso não precise mais do service instantâneo, exclua-o diretamente da lista de services instantâneos.
Utilize o SDK para operações adicionais de ciclo de vida, comandos e arquivos: E2B SDK integration
Explore modelos públicos para ambientes de navegador, desktop, codificação e outros: Use public templates
Depure instâncias usando o terminal do console, VNC, gerenciamento de arquivos e outros painéis: Manage instances
Crie um modelo de imagem personalizada: Manage instant services and templates
NotaPara obter detalhes sobre parâmetros e configurações avançadas, consulte Manage instant services and templates.
Etapa 2: Selecionar um modelo público
O PAI-Instant Service oferece modelos públicos prontos para uso, como
code-interpreter,browseredesktop. Este guia utiliza ocode-interpreter, portanto, nenhum modelo personalizado é necessário.Etapa 3: Criar uma instância e executar comandos com o SDK
Instalar o E2B SDK
pip install "e2b<2.25.0"Exemplo completo
O exemplo a seguir demonstra um fluxo de trabalho completo da instância: criação, recuperação de informações, execução de comandos, leitura e escrita de arquivos e destruição.
Substitua
<YOUR-API-TOKEN>e<YOUR-DOMAIN>pelos valores obtidos na Etapa 2.import os from e2b import Sandbox import time # 1. Set authentication credentials os.environ["E2B_API_KEY"] = "<YOUR-API-TOKEN>" os.environ["E2B_DOMAIN"] = "<YOUR-DOMAIN>" # 2. Create an instance sandbox = Sandbox.create( template="<YOUR-TEMPLATE-ID>", timeout=300000, # Timeout (milliseconds) ) print(f"Sandbox ID: {sandbox.sandbox_id}") # Wait for the instance to enter the Running state print("Waiting for sandbox to be ready...") max_attempts = 30 for attempt in range(1, max_attempts + 1): try: is_running = sandbox.is_running() status = "Running" if is_running else "Not Running" print(f" [{attempt}/{max_attempts}] Sandbox status: {status}") if is_running: print(" ✓ Sandbox is now running!") break except Exception as e: print(f" [{attempt}/{max_attempts}] Failed to check status: {e}") if attempt < max_attempts: time.sleep(2) # 3. Get instance details (including metadata and dashboard URL) info = sandbox.get_info() print(f"State: {info.state}") print(f"CPU: {info.cpu_count}, Memory: {info.memory_mb}MB") # Print metadata if info.metadata: print("\nMetadata:") for key, value in info.metadata.items(): print(f" {key}: {value}") # Get dashboard URL dashboard_url = info.metadata.get('sandbox.alicloud.com/dashboard-url') or \ info.metadata.get('dashboard_url') if dashboard_url: print(f"\nDashboard URL: {dashboard_url}") # 4. Run a command result = sandbox.commands.run("echo 'Hello, World!'") print(result.stdout) # 5. File operations sandbox.files.write("/tmp/test.txt", "Hello from sandbox!") content = sandbox.files.read("/tmp/test.txt") print(content) # 6. Clean up sandbox.kill()Etapa 4: Limpar recursos
ImportanteInstâncias que não executaram
kill()ou não atingiram otimeoutcontinuam gerando cobranças. Instâncias pausadas também são faturadas à taxa de execução. Para mais detalhes, consulte Billing.Próximos passos