Kafka: Automatize com a CLI

Inicie o Kafka, recupere as suas credenciais e altere a sua configuração programaticamente com a Stackhero CLI

👋 Bem-vindo à documentação da Stackhero!

A Stackhero facilita o arranque com uma solução Kafka cloud totalmente gerida. Eis o que pode esperar:

  • Tamanhos e transferências de mensagens ilimitados para responder ao crescimento das suas necessidades de dados.
  • Atualizações sem esforço, aplique as últimas melhorias com um simples clique.
  • Performance de topo e segurança robusta, tudo suportado pela sua própria VM privada e dedicada.

Se procura poupar tempo e simplificar o seu fluxo de trabalho, experimente o alojamento Kafka cloud da Stackhero. Demora apenas cerca de 5 minutos a começar!

Este guia mostra-lhe como criar um serviço Kafka, ler as suas credenciais e atualizar a sua configuração totalmente a partir da linha de comandos, sem necessidade de clicar no dashboard. É ideal para scripts, pipelines de CI e agentes de IA.

Vamos utilizar a Stackhero CLI para todas as tarefas. Se ainda não o fez, pode instalá-la com:

curl -fsSL https://www.stackhero.io/install.sh | sh

A forma mais simples de começar é iniciar sessão através do seu navegador. Quando executa o comando de login, a CLI abre uma página web onde pode aprovar o acesso. Não é necessário introduzir passwords ou códigos 2FA diretamente na CLI.

stackhero login

Após iniciar sessão, as suas credenciais ficam guardadas localmente e serão utilizadas automaticamente nos próximos comandos da CLI.

Para ambientes totalmente automatizados, como scripts ou pipelines de CI, poderá preferir um token de acesso não interativo. Pode criar um a partir do seu dashboard (Conta > Access tokens) e exportá-lo como variável de ambiente. A CLI, assim como qualquer script que execute, irá detetá-lo automaticamente.

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

De seguida, irá querer listar os serviços store Kafka disponíveis na sua conta. A CLI aceita diretamente o nome do store (kafka), pelo que não é necessário procurar ou copiar IDs.

# Listar os serviços store Kafka (adicione --organization se gerir mais do que um)
stackhero services-store-list --name="kafka"

Pode referir-se ao nome do store kafka nos comandos seguintes, ou escolher um ID específico svs-xxxxxx da lista, se preferir.

# Listar tamanhos de instância para o seu serviço store (utilize a coluna NAME para --instance)
stackhero instances-store-list --service-store=kafka

# Listar regiões disponíveis (nomes como "europe")
stackhero regions-list

Segue-se um exemplo de script que cria um stack, adiciona o seu serviço Kafka, aguarda que este inicie, recupera a sua configuração (incluindo as credenciais geradas) e depois aplica uma nova configuração.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="kafka"   # O nome do serviço store Kafka (ver passo 2)
instance="..."                # Um tamanho de instância do passo 3
region="europe"               # Um nome de região do passo 3

# Criar um stack para o seu serviço (utiliza a sua organização por defeito; adicione --organization se necessário)
stackId=$(stackhero --format=script stack-create \
  --name="My Kafka stack")
echo "Stack criado: ${stackId}"

# Adicionar Kafka ao stack (os nomes são resolvidos automaticamente)
serviceId=$(stackhero --format=script service-add \
  --stack="My Kafka stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Serviço adicionado: kafka"

# Aguardar que o serviço esteja totalmente operacional (pode demorar alguns minutos)
stackhero service-wait-for --service="kafka"

# Recuperar a configuração do serviço, incluindo as credenciais geradas
stackhero service-configuration-get --service="kafka" --format=json

O comando service-configuration-get devolve a configuração completa do seu serviço, incluindo passwords geradas automaticamente e detalhes de ligação. O resultado é em formato JSON, facilitando a utilização em scripts e automação.

stackhero service-configuration-get --service=svc-xxxxxx --format=json

Pode consultar um exemplo de esquema de configuração e depois aplicar as suas próprias definições. Ao atualizar a configuração, o serviço pode reiniciar para aplicar as alterações.

# Ver o esquema de configuração e um exemplo para o seu serviço
stackhero service-configuration-example --service=svc-xxxxxx

# Aplicar uma configuração personalizada (o serviço reinicia se necessário)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Aguardar que a nova configuração seja aplicada
stackhero service-wait-for --service=svc-xxxxxx

E está feito. Acabou de ver todo o ciclo de vida: iniciar um serviço, recuperar as suas credenciais e reconfigurá-lo, tudo de forma automatizada e scriptável. Para saber mais, consulte a documentação completa da CLI, que também cobre a autenticação não interativa com STACKHERO_TOKEN demonstrada aqui.