Estoy creando una aplicación lambda en el nodo js para encontrar todos los archivos en la carpeta s3.
Estoy usando s3Client.listObjectsV2 para obtener todas las claves en s3, obtengo la siguiente respuesta, quiero filtrar el conjunto de resultados a solo archivos. ¿Cuáles son las mejores prácticas para el mismo.
{ Key: 'AttributeModel/', LastModified: 2021-12-16T23:47:54.000Z, ETag: '"d41d8cd98f0"', Size: 0, StorageClass: 'STANDARD' }, { Key: 'AttributeModel/173b8566-5033-4606-a087-ba93ef2c1467.json', LastModified: 2022-01-06T17:34:29.000Z, ETag: '"d41d8cd98f0"', Size: 68, StorageClass: 'STANDARD' }, { Key: 'AttributeModel/009d155e-e45d-48a7-9a30-19cabb61479b.json', LastModified: 2021-12-17T04:02:36.000Z, ETag: '"d41d8cd98f0"', Size: 48, StorageClass: 'STANDARD' }¿Son todos los archivos .json ? ¿O sabes cuáles son las extensiones de archivo que obtendrás?
En caso afirmativo, puede filtrar en función de si la key tiene una extensión o no.
const filteredData = dataReceived.filter(eachItem => eachItem.key.endsWith('.json') console.log(filteredData) Puede agregar la condición O en el método endsWith si tiene más extensiones
Otro método:
const filteredData = dataReceived.filter(eachItem => !eachItem.key.endsWith('/') console.log(filteredData)