-
Nodejs AWS S3 버킷의 폴더 리스트 가져오는 방법프로그래밍/JavaScript 2020. 10. 13. 15:15반응형
AWS와 Nodejs로 작업하던 도중에 AWS S3 스토리지에 포함된 폴더명들의 리스트들이 필요하다는 것을 깨달았습니다. 바로 AWS의 공식문서를 확인해보았으나 객체로 만들어주는 listObjects 메소트만 있고 저는 배열로 만들고 싶어서 코드를 조금 수정해보았습니다.
이런 식으로 프로그래밍 언어의 목록이 쭉 나열되어있고, 이 많은 폴더명들을 (AWS 기준에선 폴더라고 말하지 않는다고 합니다) 배열로 만들고 싶었습니다.
let params = { Bucket: '버킷이름', Delimiter: '/', Prefix: 'devicon/' } s3.listObjects(params, function (err, data) { if(err)throw err; let languageArray =[]; for(let i=0; i<data.CommonPrefixes.length; i++){ console.log(data.CommonPrefixes[i].Prefix); languageArray.push(`'${data.CommonPrefixes[i].Prefix.replace(/devicon/g,'').replace(/\//g,'')}'`) } console.log(languageArray) fs.writeFile('wow.js',languageArray, function (err) { if (err) throw err; console.log('Saved!'); }); });
저의 경우에는 앞에 devicon 이라는 폴더가 있었고, 객체 함수를 반복문을 돌려서 log을 찍어보니 각각의 prefix key안에 제가 원하는 데이터가 있었고, 이를 적당하게 replace 메소드를 활용하여 제가 원하는 글자만 가져온 후에 languageArray에 담았습니다. 그리고 fs 모듈을 사용하여 wow.js파일로 이 데이터를 내보내었습니다.
결과물은 짜잔..
반응형'프로그래밍 > JavaScript' 카테고리의 다른 글
JavaScript 배열 숫자 오름차순 내림차순 정렬 (0) 2020.02.03 Cloudflare 서비스 장애 발생 시 오류 UI 개발기 (0) 2019.07.03 React 프로젝트에서 이미지 import하는 방법 (0) 2019.07.02 JavaScript 객체 Key 값을 받아 value값 반환하기 (0) 2019.07.02 Reactjs 가상화폐 시세 테이블 웹 앱 개발기 (0) 2019.06.27