Exporta archivos a DigitalOcean Spaces con facilidad
Hoy presentamos el nuevo Robot /digitalocean/store, que te permite exportar los resultados de tu Assembly a Spaces Object Storage de DigitalOcean. Esto añade otra opción a la lista de proveedores de exportación de archivos que ya soportamos, como Amazon S3, Rackspace Cloud Files y Dropbox. Consulta la lista completa en nuestra documentación.
El Robot /digitalocean/store
Puedes usar el Robot /digitalocean/store para subir tus archivos o los resultados de tu Assembly a DigitalOcean Spaces para almacenamiento a largo y corto plazo. Tus archivos se pueden configurar como públicos o privados para tu cuenta.

Construido sobre el sistema de almacenamiento de código abierto Ceph, Spaces admite la mayoría de las funciones que ofrece Amazon S3, lo que significa que, si ya usas nuestro Robot /s3/store, la API te resultará muy familiar.
En esta entrada del blog te guiamos por el proceso de configurar una cuenta de DigitalOcean Spaces, transcodificar tus archivos y exportar los resultados a tu cuenta de Spaces. Si solo quieres ver la API del Robot y experimentar por tu cuenta, consulta su documentación y las Assembly Instructions de ejemplo que aparecen a continuación:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"store": {
"use": ":original",
"robot": "/digitalocean/store",
"credentials": "spaces-store-demo",
"space": "spaces-store-demo",
"acl": "public-read"
}
}
}
Configurar DigitalOcean Spaces
El primer paso es crear una cuenta de DigitalOcean, si aún no lo has hecho. Ve a digitalocean.com para empezar.
A continuación, ve a la pestaña Spaces para crear un nuevo Space, al que vamos a llamar
spaces-store-demo. Selecciona la región del centro de datos más cercana al lugar desde
el que vas a obtener los datos. Aquí hemos seleccionado fra1 / Frankfurt.

Una vez creado, tenemos una cuenta de Spaces vacía a la que podemos empezar a exportar archivos:

Para que nuestro Robot pueda comunicarse con la API de DigitalOcean Spaces, también necesitamos crear un par de claves de acceso de Spaces. Puedes hacerlo en la sección API de tu cuenta de DigitalOcean. Lo mejor es que dejes esta pestaña abierta por ahora, ya que vamos a necesitar la clave pública y la clave secreta privada en los siguientes pasos. Nunca compartas estas credenciales con nadie a quien no quieras dar acceso de escritura a tu Space.

Crear credenciales de Template
Por ahora hemos terminado con DigitalOcean, así que vamos a transloadit.com ¡y creamos una cuenta gratuita! Consulta nuestra página de precios para ver los planes actuales y el volumen de encoding incluido.
Para ofrecer mayor seguridad y facilitar la reutilización, Transloadit te ofrece crear credenciales
de Template y guardar los secretos por ti. Una vez que hayas iniciado sesión, ve a tu cuenta y
selecciona Credenciales de Template. Elige el servicio de terceros
Digital Ocean Spaces e introduce las credenciales de tu Space de la siguiente manera,
sustituyendo nombre del space, región, id de clave y clave de acceso secreta según
corresponda:

¡Pulsa guardar y listo! El nombre de la credencial de Template,
spaces-store-demo en este caso, es lo que vamos a usar en el siguiente paso.
Detectar rostros
¡Por fin vamos a enviar algunos archivos a una nueva Assembly! Nuestro ejemplo va a usar los Robots /image/facedetect y /digitalocean/store. Cuando terminemos, podrás subir archivos de imagen en los que se detectarán todos los rostros humanos, que se subirán por separado a tu Space de DigitalOcean.
Para esta guía usamos la herramienta de línea de comandos
curl(1) para interactuar con la API de
Transloadit, que muy probablemente ya esté instalada en tu computadora. Si usas Windows, consulta
las instrucciones oficiales de curl para Windows.
Primero, otro paso preparatorio: ve a la Configuración de API de tu cuenta de Transloadit y copia, por favor, la Auth Key.

(No te preocupes, regeneramos nuestro Secret después de tomar esta captura de pantalla 😄)
Después, crea un archivo con estas Assembly Instructions, al que vamos a llamar
params.json. Sustituye auth.key por tu Auth Key personal.
{
"auth": {
"key": "YOUR_AUTH_KEY"
},
"steps": {
"face-detect": {
"use": ":original",
"robot": "/image/facedetect",
"crop": true,
"faces": "each"
},
"store": {
"use": "face-detect",
"robot": "/digitalocean/store",
"credentials": "spaces-store-demo",
"space": "spaces-store-demo",
"acl": "public-read"
}
}
}
La Assembly consta de dos Steps:
- Detectar rostros y extraer cada rostro detectado como una imagen recortada
- Subir los rostros extraídos a tu Space de DigitalOcean, usando permisos
public-read, para que los archivos sean de acceso público
Probar la Assembly
¡Ahora solo falta una pieza: poner en marcha toda la maquinaria con un único comando!
Vas a necesitar una imagen con algunos rostros para probar tu Assembly. Aquí tienes una que puedes tomar si no tienes ninguna a mano:

Ejecuta el siguiente comando curl(1) en tu terminal, en la misma carpeta
donde están params.json y la imagen de origen (aquí
group.jpg). Redirige la salida a
json_pp(1) para obtener una salida JSON con un formato agradable.
curl \
-s \
-XPOST \
-F params="$(< params.json)" \
-F original=@group.jpg \
https://api2.transloadit.com/assemblies \
| json_pp
Si tienes curiosidad por saber por qué el comando
curl(1)es así:
-sle indica acurl(1)que sea silencioso, de modo que solo veamos el cuerpo de la respuesta HTTP-XPOSTpara que esta sea una solicitud POST-F ...Transloadit usa formposts multipart de HTTP, para que el cliente pueda enviar tanto las Assembly Instructions como los archivos, todo en una sola solicitud (y para que nuestra API se pueda integrar con los<form>s de toda la vida). Aquí usamos-Fpara enviar tantoparams.jsoncomogroup.jpg.
Ve a la página de Assemblies de tu cuenta de Transloadit y ¡haz clic en la fila superior para ver los resultados!

Como puedes ver, en nuestro caso se detectaron dos rostros. ¡Haz clic en los botones OPEN que hay junto a cada resultado para ver los rostros recortados, servidos desde tu Space de DigitalOcean recién creado!


Fin
¡Eso es todo! Esperamos que te haya gustado esta entrada del blog y que estés deseando leer la siguiente. Y si quieres probarlo, regístrate hoy mismo para obtener una cuenta gratuita de Transloadit.
