2015-11-23 88 views
2

我使用AWS s3來存儲每小時幾千個文件,它的工作方式就像一個魅力。我很好奇看看是否可以根據時間或日期或我對這些對象的任何元數據進行過濾。我能夠運行一個節點進程來獲取對象列表並在日期和時間內播放,而不是元數據。有沒有其他方式做到這一點或更好的選擇?AWS S3 API - 通過元數據搜索

+0

可能的重複http://stackoverflow.com/questions/4979218/how-do-you-search-an-amazon-s3-bucket – mickzer

+0

您使用的是哪種AWS SDK? –

+0

來自AWS – Arun

回答

1

不,您不能使用S3 API過濾元數據。

要做你在問什麼,你需要在存儲桶上列出對象(GET Bucket)以獲得所有密鑰,然後分別索要每個密鑰的元數據(HEAD Object)。然後在你自己的代碼中,你可以過濾出不匹配的對象。

很顯然,如果您擁有超過幾千個對象,這將會非常緩慢地運行。你需要根據前綴過濾掉一個可管理的數字,或者自己保留一個索引(彈性搜索,也許?)。在對象鍵中編碼一些元數據是很常見的,這樣你就可以按照前綴進行過濾。

+0

謝謝,我可以嘗試向對象添加前綴。 – Arun