Documentação: Utilização da API S3 com o MinIO
1️⃣ Introdução
O MinIO é um servidor de armazenamento de objetos compatível com a
API S3.
Isso significa que qualquer aplicação ou ferramenta que se integre ao
S3 pode ser utilizada com o MinIO sem modificações significativas
no código, bastando apontar para o endpoint correto.
Esta documentação descreve: - Pré-requisitos de instalação e configuração - Como criar usuários e chaves de acesso - Como interagir com o MinIO usando a API S3 (SDKs, CLI e exemplos de código)
2️⃣ Pré-Requisitos
- MinIO Server instalado e em execução
- Em modo standalone ou distributed
- Acesso ao painel de administração ou ao MinIO Client (mc) para criação de credenciais
- Ferramentas de teste:
awsclioumc- SDK da linguagem desejada (Python boto3, Java, Go, etc.)
3️⃣ Conceitos Básicos
O MinIO utiliza os mesmos conceitos do Amazon S3, apenas com nomenclatura e contexto próprios.
A tabela abaixo mostra o equivalente entre os dois:
| Termo | MinIO | Amazon S3 |
|---|---|---|
| Bucket | Pasta lógica de objetos | Bucket |
| Object | Arquivo armazenado | Object |
| Access Key | Usuário / chave pública | AWS Access Key |
| Secret Key | Senha / chave privada | AWS Secret Key |
| Endpoint | URL de acesso ao serviço | S3 Endpoint |
4️⃣ Configuração do MinIO
- Crie e certifique se que seu MiniO está rodando com netstat -pltn
5️⃣ Criando Usuário e Chaves de Acesso
Via painel web
- Acesse o console administrativo (
http://hostname:4949). (Assim como enviado no e-mail após criação) - Vá em Identity > Users > Create User.
- Anote:
- Access Key (usuário)
- Secret Key (senha)
Via MinIO Client (mc)
mc alias set local http://localhost admin senhaSegura
mc admin user add local usuario-api SenhaAPI
mc admin policy attach local readwrite --user usuario-api
Modo “API Nativa do MinIO” (sem S3)
Se o que você quer é não depender do SDK da AWS (e usar algo direto do MinIO), então você usa a CLI e SDKs oficiais do MinIO, como:
🧰 MinIO Client (mc)
Ferramenta oficial — nativa e completa — pra administrar, listar e transferir objetos.
Definir alias
mc alias set local http://localhost:9000 usuario senha
Criar bucket
mc mb local/meu-bucket
Enviar arquivo
mc cp arquivo.txt local/meu-bucket/
Listar
mc ls local/meu-bucket/
Baixar
mc cp local/meu-bucket/arquivo.txt .
👉 Nenhum awscli ou endpoint S3 é necessário aqui — só o binário mc e o serviço MinIO.
💻 SDK Oficial do MinIO
Você também pode usar os SDKs diretos, que dispensam AWS S3 libraries:
Python (minio):
pip install minio
Exemplo minio_teste.py
from minio import Minio
client = Minio(
"localhost:9000",
access_key="ACCESS_KEY",
secret_key="SECRET_KEY",
secure=False
)
# Criar bucket
client.make_bucket("meu-bucket")
# Enviar arquivo
client.fput_object("meu-bucket", "arquivo.txt", "arquivo.txt")
# Listar arquivos
for obj in client.list_objects("meu-bucket"):
print(obj.object_name)
🧠 Dúvidas?
Entre em contato com o time de suporte técnico em caso de dificuldades na instalação ou configuração.