Usando el SDK de Amazon Web Services

Clase 3 de 61Curso Profesional de Node.js y JavaScript 2016

Resumen

Recordemos dónde y hasta donde tenemos nuestro proyecto, puedes descargarlo o clonarlo directamente desde:


https://github.com/platzi/platzigram/tree/master


Para instalar todas las dependencias listadas en el mismo, basta con usar el comando: 


npm install


Para comprobar que todo va bien, iniciaremos la aplicación con: 


npm start 


Por defecto, la aplicación correrá en el puerto 3000 


Ahora, en nuestro servidor ( server.js ) vamos a sustituir toda la lógica de guardado en disco de nuestras imágenes a nuestro Bucket en S3. 


Existen 2 librerías que necesitamos incluir para que dispongamos de esta funcionalidad en nuestra aplicación: 


  • aws-sdk
  • Multer-s3


Adicional de unos parametros de configuración.


Es una buena práctica, que todos esos parametros de configuración se encuentren separados en otro archivo independiente de la lógica de la aplicación y mantener nuestras credenciales seguras, en nuestro caso lo llamaremos config.js

  

Entonces, instanciamos un objeto de la clase S3 usando el archivo de configuración: 


Var s3 = new aws.S3({
accesKeyId: config.ws.accessKey, 
secretAccessKey: config.ws.secretKey
})




Y ahora, Storage tendrá algunos nuevos parametros: 


S3: La instancia de s3 que creamos


bucket: El nombre del bucket que requerimos


ACL: Este es el listado de los archivos que vamos a tener guardados en s3


metadata: Es la metadata de nuestro archivo 


Key: Es el nombre del archivo


Ahora, nuestros secret key y access key obtenidos desde la configuración de AWS, deben ser configurados cómo variables de entorno, por eso es muy importante crear un env.sh, podemos comprobar desde terminal con: 


$AWS_ACCESS_KEY