2017-01-10 150 views
9

AWS S3に新しいAws SDK APIのバケットがあります。たくさんのファイルやフォルダにタグをアップロードしてタグ付けしました。Aws S3タグでフィルターするタグで検索

Key-Valueタグをフィルタリングするにはどうすればよいのですか?私はkey = "temp"、またはkey = "temp"とvalue = "lol"のすべてのオブジェクトを探したいと思います。

ありがとうございます!

+0

私はPS1スクリプトでGet-S3Objectですべてのオブジェクトを取得した後、それぞれGet-S3ObjectTagSetとフィルタ結果を取得することはできませんでした。if(($ tags | Where-Object {$ _私はPS 4.0でそれを試していますが、Get-S3Objectの現代版の結果がパイプライン化できるかどうかわかりません – corretge

答えて

1

私もそれは例えばのような可能性を開くことになるので、AWSは、最終的に「タグによってファイルを検索」をサポートすることが期待しました私は別のデータベースを必要としないようにタグに格納されている名前、説明、場所と写真のストレージを持っている。

明らかに、AWSはこれを明示的にサポートしておらず、おそらくこれを行うことはありません。それらから引用するstorage service white paper

Amazon S3はすべてのストレージ状況に適していません。 [...]他のAWSストレージオプション[...]を検討する必要があるストレージニーズ[...]

Amazon S3は特定のオブジェクトを検索するためのクエリ機能を備えていません。 Amazon S3を使用する場合は、サービスから取得するファイルのバケット名とキーを正確に把握する必要があります。 Amazon S3はデータベースまたは検索エンジンとして単独では使用できません。

代わりに、Amazon S3をAmazon DynamoDB、Amazon CloudSearch、またはAmazon Relational Database Service(Amazon RDS)と組み合わせて、Amazon S3バケットおよびオブジェクトに関するメタデータを索引付けおよび照会できます。

代わりにDynamoDB、RDSまたはCloudSearchを使用することをおすすめします。

-3

タグ付けは、2016年12月にリリースされた新機能です。この機能は現在利用できないようです。

タグを持つバケット内のアイテムを検索することはできませんが、できることはgetObject APIを使用してタグを指定することです。オブジェクトにタグがない場合(またはタグがある場合)、オブジェクトは取得されません。

RESTObjectGETドキュメントのIf-MatchおよびIf-None-Matchリクエストヘッダーを参照してください。

はこちらのドキュメントを参照してください:http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html http://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html

+8

これらのヘッダはフィルタリングのためのものです。オブジェクトタグと同じではないETag: 'エンティティタグ(ETag)が指定されたものと同じ場合にのみオブジェクトを返し、それ以外の場合は412(前提条件が失敗しました)を返します。 – Eloff