2017-08-14 7 views
1

cliコマンドを使用して、S3ディレクトリのすべてのオブジェクトにタグ(またはタグのセット)を適用する方法はありますか?AWS S3 cli - ディレクトリ内のすべてのオブジェクトにタグを付けます

すなわち、私は二つのファイル(test0.txttest.txt)を持っている場合、私は次の2つのコマンドを実行できます:私は次のエラーを取得する--keyオプションとしてフォルダ自体を伝えようとした際に

>aws s3api put-object-tagging --bucket mybucket --key foo/bar/test0.txt --tagging 'TagSet=[{Key=colour,Value=blue}]' 
>aws s3api put-object-tagging --bucket mybucket --key foo/bar/test1.txt --tagging 'TagSet=[{Key=colour,Value=blue}]' 

を(1つのオブジェクトを参照する必要があるため):

>aws s3api put-object-tagging --bucket mybucket --key foo/bar/ --tagging 'TagSet=[{Key=colour,Value=blue}] 
An error occurred (NoSuchKey) when calling the PutObjectTagging operation: The specified key does not exist. 

回避策はありますか?

答えて

2

S3にはディレクトリの概念はありません。ここではあなたが欲しいものを達成する粗方法です。他のポスターはより良い解決策を持つかもしれません。次のソリューションは、最初にフォルダ内のすべてのオブジェクトを取得し、それぞれのオブジェクトに対してput-object-taggingを呼び出します。 注::このソリューションはテストしませんでした。

aws s3api list-objects --bucket mybucket --query 'Contents[].{Key:Key}' 
    --output text | grep foo/bar/ | xargs aws s3api put-object-tagging 
    --bucket mybucket --tagging 'TagSet=[{Key=colour,Value=blue}]' --key 
関連する問題