AWS S3에 대하여 조언을 구하고싶습니다.
조회수 1972회
웹 메신저를 만들면서 각 채팅창에서 주고받는 file들을 aws s3에 저장시킬려고 합니다.
bucket name을 채팅방 이름으로 주게되면 방을 나가게되었을때 그 bucket에 접근할수가 없어
(ex. 카카오톡 : 방을 나가면 파일들 증발) 각 개인의 특정한 name으로 bucket을 주어 개인별로 관리하려고 생각하고 있습니다.
bucket 수는 일정 비용을 지불하면 늘어나는걸로 알고있는데, 용량 제한에 대하여는 찾아봤을땐 방법이 나오질 않아서 다른 방법으로 각 bucket의 용량제한을 따로 줄 수 있는지 궁금합니다. 아니면 이렇게 데이터들을 관리하는데 aws s3에서 좋은 방법이 있을까요?
2 답변
-
이전 질문을 보면 Javascript로 작업중이신것 같은데요.
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html 를 보면 bucket의 용량을 구해오는 API가 없네요.
아래와 같이 listObjects를 통해서 bucket의 모든 파일을 불러올 수 있습니다. 각 파일의 크기도 읽어올 수 있구요.
s3.listObjects({Bucket: 'bucketname'}, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });
이렇게 불러와서 모든 파일의 크기를 더하면 될 것 같긴 합니다만, 파일이 많아지면 매번 이렇게 불러와서 하는건 비효율적일수도 있겠네요.
-
bucket 을 채팅방마다 주는 건 좋은 방식이 아닙니다.
명시적으로 나와 있지는 않지만 AWS 계정당 최대 bucket 수가 처음에 100개로 제한되어 있거든요. 신청하면 늘려주기는 하는데, 너무 많이 늘릴려고 하면 왜 그러냐고 물어보고 안된다고 할 가능성이 높습니다.
Signed URL 이라고 해서 특정 시간 안에서만 권한을 가지는 파일 주소를 만드는 방법이 있는데 한 번 참고해 보시길....
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력