LoginSignup
1
0

More than 1 year has passed since last update.

【AWS】S3 CLI オブジェクトにタグをつける方法

Last updated at Posted at 2022-01-02

やりたかったこと

S3へオブジェクト(画像ファイル)をアップロードし、それとあわせてオブジェクトにタグを付与する。
※なお、今回は「S3RVER」というモックS3にアップする方法です。

ハマった点

一生懸命、1コマンドでアップロードとタグつけをしようとしてましたが、どうも同時にできないようでした。

解決できたコマンド

まずはオブジェクトをS3にアップロードし、アップロードしたオブジェクトにタグをつけるという2ステップが必要でした。

#アップロード 

$ aws --endpoint http://localhost:4568/ s3api put-object --bucket バケット名 --key アップ後のオブジェクトのパス --body アップするファイルのフルパス --content-type image/jpg --profile s3local
#タグ付与

$ aws --endpoint http://localhost:4568/ s3api put-object-tagging --bucket バケット名 --key アップ後のオブジェクトのパス --tagging "TagSet=[{Key=tagKey,Value=tagValue}]" --profile s3local 

コマンドの違い

put-object

オブジェクトをS3にアップするコマンド。--taggingオプションは使えるようだが、今回はタグを設定できなかった。
https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html

put-object-tagging

すでにS3にアップ済みのオブジェクトに対し、タグを付与するコマンド。--bodyオプションは使えない。
https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object-tagging.html

各オプションの説明

--bucket

バケットを指定します。バケットとは、S3配下の最上位の入れ物のことです。

--key

アップ後のオブジェクトのフルパス。アップ後は設定したこの一意のkeyを指定することで、オブジェクトを指定、取得できます。

--body

これからアップする(今回はローカル)ファイルのフルパスを指定します。

--content-type

オブジェクトのタイプです。今回は画像なので、image/jpgとしています。

--profile

ユーザー名

--tagging

付けたいタグをkey valueで指定します。タグ付け後は、keyを渡せば、valueが取得できるようになります。
https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object-tagging.html

おまけ

バケット配下にフォルダだけ作る方法

S3ではそもそも、フォルダという概念がないらしいです。--key の値を/で終わらせれば、フォルダがオブジェクトとして作られるようです。

$ aws --endpoint http://localhost:4568/ s3api put-object --bucket バケット名 --key folderName/ --profile s3local 

参考にした記事

https://qiita.com/ajhsscs3/items/7615c01ed02bddd88606
https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html
https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object-tagging.html
https://dev.classmethod.jp/articles/amazon-s3-folders/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0