2017-12-07 4 views
0

私はElastic BeanstalkでホストされるPHP APIを持っています。ユーザーは画像をこのAPIにアップロードします。 APIが取得したら、PHPでファイルを一時フォルダに保存し、複数のサイズにサイズ変更してS3バケットにアップロードします。一時的に弾力のあるbeanstalk 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

関連する問題