我有数据库表,我的文件夹或类别存储在表中
class Node
和文件存储在类中File
在Node
和File
模型中,我有一个名为key
which 的字段是来自 amazon s3 文件的字符串键
喜欢
mybucket/files/pdf/abc.pdf
我通过运行自定义构建 python 函数来更新数据库。
现在我想要查看亚马逊 S3 上的哪些文件已更改或删除,或者添加了哪些新文件。
简而言之,我将拥有像这样的所有亚马逊钥匙的列表 s3_keys
mybucket/files/pdf/abc.pdf
mybucket/files/pdf/abc2.pdf
mybucket/files/pdf/abc3.pdf
mybucket/files/pdf/abc4.pdf
mybucket/files/pdf/new/
mybucket/files/pdf/new/abc.pdf
mybucket/files/pdf/2011/
然后我将有两个数据库表中的键,即Node
列File
键
我想要那个 somwhow 我可以比较s3_keys
数据库中的 key 字段,然后如果
- 钥匙是一样的然后它不会做任何事情
- 密钥在 s3 上而不是在数据库中然后我输入
new_list
- 如果键在数据库中而不是在 s3 中,那么我有
delete_list
然后我可以对它们进行操作
解决这个问题的最佳方法是什么
更新:
我想有三个列表
Nodes_List = [(pk, key), .....]
File_List = [(pk, key), .....]
s3_keys = [key1, key2, .....]
我必须过滤掉元素