gpt4 book ai didi

php - AWS OpsWorks - Linux 驱动器到 S3 存储桶

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:20 24 4
gpt4 key购买 nike

将 AWS Linux 实例上的驱动器“符号链接(symbolic link)”到 S3 存储桶的最佳方式是什么?

目前我正在使用 Apache 的 ProxyPass 通过以下代码将代理/images/反向到 S3 存储桶。

  ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /images/ http://s3bucket.s3-website-us-east-1.amazonaws.com/

这很好用,但仅适用于通过 Apache 进行 HTTP 访问。如果我想从 PHP 本身写入/images/目录,它会在本地写入。

因此,我正在寻找一种将/images/重定向到 S3 存储桶以进行所有类型操作的好方法。我看过 S3FS,但我对走那条路感到疑惑。

我还利用 OpsWorks 来处理我的 EC2 实例,因此无论我采用什么方法,都需要能够通过 OpsWorks 和/或 Chef 配方实现自动化。

考虑的另一个选项是适用于 PHP 的 AWS 开发工具包。这可能需要我更改将文件写入/images/目录的 PHP 代码。从长远来看,这可能是解决方案,但现在我需要另一个解决方案。

最佳答案

虽然 s3fs 可以伪造到 s3 的映射,但您会遇到问题。问题是 S3 根本不像磁盘卷。

使用磁盘卷,您可以以 block 的形式写入和读取磁盘。您还可以在其他操作中锁定文件。

另一方面,S3 是一个对象存储系统。它对整个文件进行操作。

S3FS 有点让它工作,但将文件复制到您的临时目录中,以便您可以写入它,然后在完成后将其复制回 S3。

简单的操作可能工作正常,例如一次读取或写入整个文件,但任何在 block 级别上工作的操作都可能会失败。

我确实建议更新您的 PHP 代码,使用亚马逊提供的现有客户端,这很容易做到。您可以使用客户端代码代替 move_uploaded_file

关于php - AWS OpsWorks - Linux 驱动器到 S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34080557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com