2017-12-07 5 views
0

나는 Elastic Beanstalk에서 호스팅되는 PHP API를 가지고 있습니다. 사용자가 이미지를이 API에 업로드합니다. 일단 API가 그것을 얻으면 PHP에서 임시 폴더에 파일을 저장 한 다음 여러 크기로 크기를 조정 한 다음 S3 버킷에 업로드합니다.임시로 콩팥 괴물 API에 이미지 저장

로컬로 작동하지만 아직 실재 상태로 설정하지 않았습니다. 탄력있는 콩팥 덩어리 인스턴스에 있으면이 작업을 수행 할 수 있습니까? 로컬로 작업 할 때 temp_image 디렉토리에 쓰기 권한을 부여해야한다는 것을 알고 있습니다. 그래서 탄력적 인 beanstalk에 살 때 이것을해야합니까? 그렇다면 탄력있는 beanstalk에서 폴더 디렉토리를 어떻게 관리합니까? API를 업데이트 할 때마다이 작업을 수행해야합니까?

내가 생각했던 또 다른 해결책은 temp_image S3 Bucket을 사용하고 그로부터 작업하는 것입니까?

의견을 보내 주시면 감사하겠습니다.

답변

1

ElasticBeanstalk 배포는 변경 후 불변으로 간주되므로 임시 폴더에 대한 사용 권한을 변경해야 할 수 있습니다. 고맙게도 그렇게하는 것은 매우 간단합니다. chmod 또는 chown과 같은 작업을 수행하는 메커니즘은 구성 파일을 통해 이루어지며 here으로 설명되어 있습니다. ElasticBeanstalk 구성 파일은 배포의 일부로 호출되므로 API를 업데이트 할 때마다 사용 권한이 자동으로 적용되어야합니다. 당신이 당신의 들여 쓰기에주의하십시오

.ebextensions/01-메이크업 임시 폴더-writeable.config

container_commands: 
    chown_folder: 
    command: "chown webapp temp_image" 
    chmod_folder: 
    command: "chmod 775 temp_image" 

: 귀하의 경우

, 다음과 같이 사용합니다 - YAML 파일은 공백에 매우 민감합니다.

+0

대단히 감사합니다! 나는 이것을 오늘 시험해 볼 것이고, 그것이 올바르게 작동하면 올바른 답을 표시 할 것이다. 이게 내가 찾던 조언 인 것 같아. – hunijkah

+1

명령을 실행하려는 사람을위한 메모입니다. 명령은 사전 식으로 실행되며, 명령을 001chown_folder, 002chmod_folder, 003another_command와 같은 순서로 지정하여 명령을 순서대로 실행하려고합니다. – hunijkah