Documentación: Uso de la API S3 con MinIO
1️⃣ Introducción
MinIO es un servidor de almacenamiento de objetos compatible con la API S3.
Esto significa que cualquier aplicación o herramienta que se integre con S3 puede usarse con MinIO sin modificaciones significativas en el código, solo apuntando al endpoint correcto.
Esta documentación describe: - Requisitos previos de instalación y configuración - Cómo crear usuarios y claves de acceso - Cómo interactuar con MinIO usando la API S3 (SDKs, CLI y ejemplos de código)
2️⃣ Requisitos Previos
- Servidor MinIO instalado y en ejecución
- En modo standalone o distributed
- Acceso al panel de administración o al MinIO Client (mc) para creación de credenciales
- Herramientas de prueba:
awscliomc- SDK del lenguaje deseado (Python boto3, Java, Go, etc.)
3️⃣ Conceptos Básicos
MinIO utiliza los mismos conceptos que Amazon S3, solo con nomenclatura y contexto propios.
La tabla a continuación muestra el equivalente entre ambos:
| Término | MinIO | Amazon S3 |
|---|---|---|
| Bucket | Carpeta lógica de objetos | Bucket |
| Object | Archivo almacenado | Object |
| Access Key | Usuario / clave pública | AWS Access Key |
| Secret Key | Contraseña / clave privada | AWS Secret Key |
| Endpoint | URL de acceso al servicio | S3 Endpoint |
4️⃣ Configuración de MinIO
- Cree y asegúrese de que su MinIO esté corriendo con netstat -pltn
5️⃣ Creando Usuario y Claves de Acceso
Vía panel web
- Acceda al consola administrativa (
http://hostname:4949). (Tal como enviado en el correo tras la creación) - Vaya a Identity > Users > Create User.
- Anote:
- Access Key (usuario)
- Secret Key (contraseña)
Vía 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 de MinIO” (sin S3)
Si lo que quiere es no depender del SDK de AWS (y usar algo directo de MinIO), entonces usa la CLI y SDKs oficiales de MinIO, como:
🧰 MinIO Client (mc)
Herramienta oficial — nativa y completa — para administrar, listar y transferir objetos.
Definir alias
mc alias set local http://localhost:9000 usuario senha
Crear bucket
mc mb local/meu-bucket
Enviar archivo
mc cp arquivo.txt local/meu-bucket/
Listar
mc ls local/meu-bucket/
Descargar
mc cp local/meu-bucket/arquivo.txt .
👉 No se necesita awscli ni endpoint S3 aquí — solo el binario mc y el servicio MinIO.
💻 SDK Oficial de MinIO
También puede usar los SDKs directos, que prescinden de las librerías AWS S3:
Python (minio):
pip install minio
Ejemplo 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)
🧠 ¿Dudas?
Contacte al equipo de soporte técnico en caso de dificultades en la instalación o configuración.