Cómo configurar un bucket de S3 para usar con Transloadit
Usar Amazon S3 con Transloadit puede ser una combinación potente, pero varios clientes nos han dicho que puede costar lograr que todo funcione exactamente como quieren. Para ayudarlos, y ojalá también a otras personas, decidimos escribir una guía completa sobre cómo integrar ambos servicios.

Crear un bucket
Naturalmente, nuestro primer paso será crear una cuenta de AWS. Si aún no tienes una, ve a su página de registro y sigue las instrucciones proporcionadas.
Después de completarlo, navega a Storage y luego selecciona S3 en la pestaña Services, como se muestra a continuación.

Desde la Management Console, haz clic en Create Bucket. Ponle un nombre al bucket y elige la región más cercana a la mayoría de tus usuarios. Anota tanto el nombre como la región, ya que tendremos que pasarle esta información a Transloadit más adelante.
Mantén Bucket owner enforced en Object Ownership, con las ACL deshabilitadas, y deja
Block all
public access habilitado. Transloadit puede almacenar archivos en este bucket privado
omitiendo las ACL de los objetos; nuestro Template a continuación establece acl en "bucket-default" con ese fin. No
necesitas hacer público el bucket para importar o exportar archivos. Consulta la
guía de Object Ownership de AWS.
Configurar las credenciales de Transloadit
¡Ahora nuestro bucket está configurado y listo para empezar a almacenar nuestros archivos! Sin embargo, todavía necesitamos obtener algunas credenciales de AWS antes de ir a Transloadit a configurar nuestro Template.
Usa un usuario de IAM dedicado para esta integración, no tu
usuario raíz de AWS. En IAM, asígnale a ese
usuario una política de identidad restringida a tu bucket. Este ejemplo, exclusivo de exportación,
permite listar el bucket, descubrir su región y escribir objetos. Reemplaza YOUR_BUCKET_NAME en ambos recursos:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetBucketLocation", "s3:ListBucket"],
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
},
{
"Effect": "Allow",
"Action": ["s3:PutObject"],
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
}
]
}
Esta es una política de identidad de IAM asociada a ese usuario, no una política de bucket que
otorgue acceso público. Si también necesitas importar objetos, añade s3:GetObject únicamente para las
rutas de objetos que necesites leer. El cifrado con KMS administrado por el cliente puede requerir
permisos adicionales específicos de la clave; no otorgues acceso administrativo con comodines para
resolver errores de permisos.
Abre las credenciales de seguridad del usuario de IAM dedicado y crea una clave de acceso para esta integración. Guarda la clave y el secreto de forma segura, rótalos según la política de tu organización y nunca los pongas en código del navegador ni en un repositorio de código fuente.
Las capturas de pantalla de la Console a continuación muestran la interfaz en inglés.
Ahora, ve a la página de Credenciales en la Transloadit Console. Abre Credenciales de terceros y luego haz clic en Agregar nueva credencial.

Selecciona Amazon S3 como servicio, dale a la credencial un nombre fácil de recordar y asígnale el nombre del bucket y la región de antes. Asegúrate también de añadir aquí tu clave de acceso y tu secreto.

Elaborar un Template
Ahora Transloadit tiene las credenciales necesarias para exportar archivos a este bucket. ¡Vamos a ponerlo a prueba!
El Template a continuación redimensionará una imagen subida a 200x200 usando la estrategia
fillcrop, gracias a nuestro práctico Robot /image/resize.
Después, tanto el archivo redimensionado como el original se subirán a S3 para su almacenamiento permanente.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"fillcropped": {
"use": ":original",
"robot": "/image/resize",
"result": true,
"height": 200,
"width": 200,
"imagemagick_stack": "v3",
"resize_strategy": "fillcrop"
},
"exported": {
"use": ["fillcropped", ":original"],
"robot": "/s3/store",
"credentials": "MY_S3_CREDENTIALS",
"acl": "bucket-default"
}
}
}
Reemplaza MY_S3_CREDENTIALS con el nombre que guardaste en Transloadit. Tras una Assembly exitosa,
verifica ambos objetos en la consola de S3 usando una identidad con acceso de lectura. Los objetos
almacenados siguen siendo privados: una URL de resultado por sí sola no otorga permiso para
descargarlos. Usa acceso autenticado o URL firmadas de corta duración configuradas deliberadamente
al compartir archivos privados.
Con esto termina la guía de hoy. Sabemos que configurar S3 puede ser complicado, así que por favor cuéntanos si sigues teniendo problemas y con gusto te ofreceremos soporte.
