1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?