Saltar al contenido principal

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:
    • awscli o mc
    • 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érminoMinIOAmazon S3
BucketCarpeta lógica de objetosBucket
ObjectArchivo almacenadoObject
Access KeyUsuario / clave públicaAWS Access Key
Secret KeyContraseña / clave privadaAWS Secret Key
EndpointURL de acceso al servicioS3 Endpoint

4️⃣ Configuración de MinIO

  1. Cree y asegúrese de que su MinIO esté corriendo con netstat -pltn

5️⃣ Creando Usuario y Claves de Acceso

Vía panel web

  1. Acceda al consola administrativa (http://hostname:4949). (Tal como enviado en el correo tras la creación)
  2. Vaya a Identity > Users > Create User.
  3. 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.

🔗 Referencias