【问题标题】:Temporarily storing Images on elastic beanstalk api在弹性beantalk api上临时存储图像
【发布时间】:2018-05-21 02:15:03
【问题描述】:

我有一个将托管在 Elastic Beanstalk 上的 PHP API。用户将图像上传到此 API。一旦 API 得到它,我在 PHP 中将文件存储在临时文件夹中,然后将其调整为多种大小,然后将其上传到 S3 存储桶。

它可以在本地运行,但我还没有上线。一旦它在弹性豆茎实例上,这可能吗?我知道当我在本地使用 temp_image 目录时,我必须授予对它的写入权限,所以当它在弹性 beanstalk 上运行时我必须这样做吗?如果是这样,我如何管理弹性 beantalk 上的文件夹目录?我每次更新 API 时都必须这样做吗?

我想到的另一个解决方案是拥有一个 temp_image S3 存储桶并从中工作?

任何建议都会非常感谢!

【问题讨论】:

    标签: php amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    ElasticBeanstalk 部署在部署后被认为是不可变的,因此您可能需要更改临时文件夹的权限。值得庆幸的是,这样做非常简单。执行chmodchown 等操作的机制是通过配置文件,描述为here。 ElasticBeanstalk 配置文件作为部署的一部分被调用,因此每次更新 API 时都应自动应用权限。

    在你的情况下,你会使用这样的东西:

    .ebextensions/01-make-temp-folder-writeable.config

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

    请务必注意缩进 - YAML 文件对空格非常敏感。

    【讨论】:

    • 非常感谢!我今天会尝试这个,一旦我得到它的工作,我会标记答案是正确的。看起来这是我一直在寻找的建议。
    • 对任何尝试执行此操作的人请注意 - 命令以字典顺序运行,也就是您想将命令命名为 001chown_folder、002chmod_folder、003another_command 以使它们按顺序运行。
    猜你喜欢
    • 2014-03-19
    • 1970-01-01
    • 2018-12-27
    • 2019-03-01
    • 2011-11-19
    • 2016-10-11
    • 2018-03-24
    • 2019-06-07
    相关资源
    最近更新 更多