Pular para o conteúdo principal

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:
    • awscli ou mc
    • 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:

TermoMinIOAmazon S3
BucketPasta lógica de objetosBucket
ObjectArquivo armazenadoObject
Access KeyUsuário / chave públicaAWS Access Key
Secret KeySenha / chave privadaAWS Secret Key
EndpointURL de acesso ao serviçoS3 Endpoint

4️⃣ Configuração do MinIO

  1. Crie e certifique se que seu MiniO está rodando com netstat -pltn

5️⃣ Criando Usuário e Chaves de Acesso

Via painel web

  1. Acesse o console administrativo (http://hostname:4949). (Assim como enviado no e-mail após criação)
  2. Vá em Identity > Users > Create User.
  3. 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.

🔗 Referências