2016-11-25 3 views
0

그래서 약간 배경. Amazon AWS S3에서 호스팅되고 CloudFront를 사용하여 배포되는 웹 사이트 (js, jquery, less, node)가 있습니다. 과거에는 로컬에 그리고 S3에있는 응용 프로그램 내의 assets 폴더에 리소스를 정적으로 저장했습니다.AWS : 웹 사이트의 새로운 인스턴스를 배포 할 때 정적 S3 파일에 어떤 영향이 있습니까?

최근 키네시스 이벤트를 듣고 S3의 assets 폴더에 저장된 json 파일을 생성하는 노드 람다를 설정했습니다. 현재 동일한 키가있는 버킷의 파일은 생성 된 파일을 사용하여 덮어 쓰고 사이트는 그대로 사용해야합니다.

제 질문은 웹 사이트의 새 인스턴스를 배포 할 때 json 파일은 어떻게됩니까? 로컬 자산 폴더에서 json 파일을 제거하더라도 새 프로젝트가 배포 될 때 S3 프로젝트의 전체 자산 디렉토리를 덮어 쓰면 json 파일이 제거됩니까?

미리 감사드립니다. 더 이상의 설명이 필요하면 알려주십시오.

답변

1

파일을 동기화하는 방법에 따라 달라 지므로 "동기화"명령을 사용하여 새 파일 만 업로드하고 repo에없는 파일을 삭제하도록 지정하는 경우에만 사용하는 것이 좋습니다. S3에 존재하면 삭제되고, 그렇지 않으면 삭제됩니다.

예를 들어 CLI 명령 docs 여기를 참조하십시오 : http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html ... 볼 수 있듯이 --delete를 지정하면 파일이 삭제됩니다.

사용 사례가 확실하지 않은 경우 파일을 삭제 하시겠습니까? 그것은 당신이 원하지 않는 것 같습니다 :

+0

답장을 보내 주셔서 감사합니다. 현재 서버리스 (serverless) 메타 동기화를 사용하여 환경 변수를 동기화하고 있으며 다른 모든 것은 수동으로 관리되고 프로젝트와 함께 배포됩니다 (이 사람들에게는 동기화가 없습니다). – androidtitan

+0

이 있으니 질문에 대한 대답은 아니오입니다. 수동으로 제거하지 않으면 파일이 삭제되지 않습니다. 이것은 폴더 구조를 볼지라도 S3가 키/값 저장소이기 때문에 (실제로 콘솔에 "폴더 만들기"라는 버튼이 있음) 폴더 자체가 아니라 키의 일부입니다. (파일이 될) 객체 ... 그래서 전체 디렉토리를 업로드 할 때 키와 일치하는 객체 만 대체합니다 (폴더 구조 + 파일 이름) –