【发布时间】:2014-08-28 12:18:15
【问题描述】:
我正在构建一个 Django 应用程序。该应用允许用户上传文件,并将其公开提供给其他用户。
我正在考虑使用 S3 或 CloudFront 来管理和提供这些文件。 (为了便于讨论,我们称它为 S3。)让我烦恼的是 S3 将有很多状态。我的 Python 代码将根据用户操作在 S3 上创建、重命名和删除文件。但是我们的数据库中已经有了所有的状态。在两个单独的数据存储中拥有状态可能会导致同步问题和混乱。换句话说,它“不应该”不同步。例如,如果有人从 django admin 中删除数据库中的一条记录,则 s3 上的文件将保持孤立状态。 (我可以编写代码来处理这种情况,但我无法捕捉到所有情况。)
所以我的想法是:有没有一种解决方案可以让您的 S3 与 Postgres 数据库中的数据自动同步? (我没有问题将文件作为 blob 存储在数据库中,它们并不大,只要它们不是直接从那里提供的。)我说的是有一个始终保持它们之间同步的活动程序,所以如果说某人删除了数据库中的一条记录,则 s3 中的相应文件将被删除,如果有人从 S3 界面删除一个文件,它将从数据库中重新创建。这样我就可以放心地处理同步问题了。
有类似的吗?最好使用 Python。
【问题讨论】:
标签: python django amazon-s3 sync amazon-cloudfront