我有大量对象,目前大约 100 万个,存储在 GCP 云存储桶中。对象以每天 1-2 千个的速度添加。我想有效地运行查询以根据这些对象的元数据查找存储桶中的对象,包括文件名中缀/后缀、创建日期、存储类等。
Cloud Storage API 允许按文件名前缀 ( docs ) 进行搜索,但回调需要几秒钟才能完成。我可以使用gsutil
, like进行中缀查询gsutil ls gs://my-bucket/foo-*-bar.txt
,但这更慢。此外,这些查询被视为A 类操作,会产生成本。
与其使用 Cloud Storage API 来搜索我的存储桶,我想我可以将存储桶中所有对象的列表添加到 Bigtable 或 SQL 等数据库中。数据库应该与存储桶的所有更改保持同步,至少在创建或删除对象时,最好是在修改、存储类更改等时。
实现这一目标的最佳方法是什么?