フォルダまたはカテゴリがテーブルに格納されているデータベース テーブルがあります。
class Node
ファイルはクラスに保存されますFile
Node
とFile
モデルには、Amazon s3ファイルの文字列キーであるフィールドが呼び出されてkey
います
お気に入り
mybucket/files/pdf/abc.pdf
カスタム ビルド python 関数を実行して、データベースを更新します。
今私が欲しいのは、Amazon S3 のどのファイルが変更または削除されたか、またはどの新しいファイルが追加されたかを確認したいということです。
要するに、このようなすべてのAmazonキーのリストがあります 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/
次に、2つのデータベーステーブル、つまり列キーにキーがNode
ありますFile
s3_keys
データベースのキーフィールドと 比較できるようにしたいのですが、
- キーが同じなら、何もしません
- キーはs3にあり、データベースにはないので、入れました
new_list
- キーがs3ではなくデータベースにある場合、私は持っています
delete_list
それから私はそれらの操作を行うことができます
これにアプローチする最良の方法は何ですか
UPDTAE:
私は3つのリストを持つことを考えています
Nodes_List = [(pk, key), .....]
File_List = [(pk, key), .....]
s3_keys = [key1, key2, .....]
要素を除外する必要があります