kumo: Emulador leve de serviços AWS em Go

kumo: Emulador leve de serviços AWS em Go
kumo é uma nova ferramenta, semelhante ao localstack, que fornece emulação de serviços AWS em Go. Desenhado para ser simples e fácil de usar, fornecendo um conjunto mínimo de recursos que são comumente usados em desenvolvimento e teste de aplicações para AWS.
O conjunto de recursos inclui:
- Nenhuma autenticação necessária - Perfeito para ambientes de CI
- Binário único - Fácil de distribuir e implantar
- Suporte a Docker - Execute como um contêiner
- Leve - Inicialização rápida, uso mínimo de recursos
- Compatível com AWS SDK v2
- Persistência de dados opcional - Sobrevive a reinicializações
Atualmente, suporta 71 serviços AWS.
Iniciando o kumo
Iniciar o kumo é tão simples quanto executar o seguinte comando:
go run github.com/sivchari/kumo/cmd/kumo@latest
Trabalhando com filas SQS
Agora vamos ver como usar o CLI AWS para trabalhar com filas SQS simuladas pelo kumo.
# Criar uma fila
aws sqs --endpoint-url http://localhost:4566 create-queue --queue-name test
{
"QueueUrl": "http://localhost:4566/000000000000/test"
}
# Listar filas
aws sqs --endpoint-url http://localhost:4566 list-queues
{
"QueueUrls": [
"http://localhost:4566/000000000000/test"
]
}
# Enviar uma mensagem
aws sqs --endpoint-url http://localhost:4566 send-message --queue-url http://localhost:4566/000000000000/test --message-body '123'
{
"MD5OfMessageBody": "202cb962ac59075b964b07152d234b70",
"MessageId": "0f9991ca-e0ef-4cea-9bc6-bbbffc913745"
}
# Receber uma mensagem
aws sqs --endpoint-url http://localhost:4566 receive-message --queue-url http://localhost:4566/000000000000/test
{
"Messages": [
{
"MessageId": "0f9991ca-e0ef-4cea-9bc6-bbbffc913745",
"ReceiptHandle": "bf3eef1a-f89e-4b1a-b74e-671d93095d6c",
"MD5OfBody": "202cb962ac59075b964b07152d234b70",
"Body": "123",
"Attributes": {
"ApproximateFirstReceiveTimestamp": "1775453411219",
"ApproximateReceiveCount": "1",
"SentTimestamp": "1775453397364"
}
}
]
}
# Excluir uma mensagem
aws sqs --endpoint-url http://localhost:4566 delete-message --queue-url http://localhost:4566/000000000000/test --receipt-handle bf3eef1a-f89e-4b1a-b74e-671d93095d6c
Conclusão
kumo pode ser mais uma ótima ferramenta indispensável para desenvolvedores que precisam de um emulador leve de serviços AWS para testes.
É fácil de usar, leve, rápido, e compatível com o AWS SDK v2.