tratando de averiguar la API de AWS S3 y fallando miserablemente...
Actualmente tengo un cubo que consiste en muchos videos.
Necesito solicitar todos los videos como un objeto, que tendrá los metadatos del video que configuré una vez que lo cargue y el enlace para compartir el video.
El problema es que obtengo el objeto sin ninguno de los anteriores...
Lo que tengo hasta ahora -
AWS.config.update({accessKeyId: 'id', secretAccessKey: 'key', region: 'eu- west-1'}); var s3 = new AWS.S3(); var params = { Bucket: 'Bucket-name', Delimiter: '/', Prefix: 'resource/folder-with-videos/' } s3.listObjects(params, function (err, data) { if(err)throw err; console.log(data); });Gracias por leer :)
ACTUALIZAR: descubrí que al usar getObject y agregar ExposeHeader a la configuración de CORS, de hecho puedo obtener los metadatos que configuré. el problema es que getObject solo funciona en un objeto específico (video en mi caso).
¿Alguna idea de cómo puedo obtener todos los objetos como listObject y tener valores de cada objeto como lo hago en getObject?
La única solución que se me ocurre es hacer listObject para obtener una lista de todos los objetos, y luego, por este resultado, hacer para cada objeto un getObject ajax?... extraer UX gracias :)
Un par de cosas que resolver primero.
Según la documentación, http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property listObjects API devuelve exactamente lo que se menciona en los parámetros de devolución de llamada. El uso de un delimitador hace que el S3 enumere los objetos solo un nivel por debajo del prefijo dado. No atravesará todos los objetos recursivamente.
Para obtener la URL, puede utilizar http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrl-property . No estoy muy seguro de lo que quiere decir con metadatos.