web-dev-qa-db-fra.com

Aws S3 Filtrer par Tags. Recherche par tags

Nous avons notre compartiment avec la nouvelle API Aws SDK sur AWS S3. Nous avons téléchargé et étiqueté de nombreux fichiers et dossiers avec des étiquettes. 

Comment pouvons-nous filtrer sur une balise clé-valeur, ou sur une seule d'entre elles? J'aimerais trouver tous les objets avec key = "temp", ou key = "temp" et value = "lol". 

Merci! 

17
alagaesia

J'espérais aussi qu'AWS prendrait éventuellement en charge "la recherche de fichiers par balises" car cela ouvrirait des possibilités telles que, par exemple. disposer d'un stockage de photos avec les noms, les descriptions et l'emplacement stockés dans des balises pour ne pas avoir besoin d'une base de données séparée.

Mais apparemment, AWS ne le prend pas explicitement en charge et ne le fera probablement jamais. Citant leur livre blanc storage service :

Amazon S3 ne convient pas à toutes les situations de stockage. [...] certains besoins de stockage pour lesquels vous devriez envisager d'autres options de stockage AWS [...]

Amazon S3 n'offre pas de fonctionnalités de requête pour récupérer des objets spécifiques. Lorsque vous utilisez Amazon S3, vous devez connaître le nom et la clé exacts du compartiment pour les fichiers que vous souhaitez extraire du service. Amazon S3 ne peut pas être utilisé seul comme base de données ou moteur de recherche. 

Au lieu de cela, vous pouvez associer Amazon S3 à Amazon DynamoDB, Amazon CloudSearch ou Amazon RDS (Amazon Relational Database Service) pour indexer et interroger des métadonnées sur les compartiments et les objets Amazon S3.

AWS suggère d'utiliser DynamoDB, RDS ou CloudSearch à la place.

8
hansaplast

Il semble y avoir un moyen d’atteindre ce que vous recherchez, bien que ce ne soit pas idéal ou particulièrement convivial.

La Documentation de marquage AWS S3 indique que vous pouvez accorder des autorisations de comptes aux objets portant un tag donné. Si vous avez créé un nouveau compte avec les autorisations appropriées, vous pourriez probablement obtenir la liste filtrée.

Pas particulièrement utile sur une base continue, cependant.

1
Stuart Gilbert

Vous devriez pouvoir interroger les balises et les valeurs que vous avez ajoutées En utilisant des groupes de ressources/une ressource de requête:

https://${region}.console.aws.Amazon.com/resource-groups/resources
0
user1767316