代码之家  ›  专栏  ›  技术社区  ›  DanielRead

在弹性beanstalk api上临时存储图像

  •  0
  • DanielRead  · 技术社区  · 8 年前

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

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

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

    任何建议都将非常感谢!

    1 回复  |  直到 8 年前
        1
  •  1
  •   Brian    8 年前

    ElasticBeanstalk部署被认为是部署后不可变的,因此您可能必须更改对临时文件夹的权限。谢天谢地,这样做相当简单。执行以下操作的机制: chmod chown 通过配置文件,如所述 here . ElasticBeanstalk配置文件是作为部署的一部分调用的,因此每次更新API时都应自动应用权限。

    在您的情况下,您可以使用以下内容:

    .ebextensions/01使临时文件夹可写。配置

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

    请确保注意缩进-YAML文件对空白非常敏感。