やりたいこと
- S3のフォルダ配下のファイルを削除するとフォルダごと無くなる(?)
- S3内に入れるcsvファイルが消えないようにしたい
調査したこと
- S3にはprefixというものがある
- S3上にあるオブジェクトの構成要素はS3バケットとキーのみ
- 階層構造のように見えるが、実はフォルダという概念もない
- その割に、タイプにフォルダというカテゴリーがあるのは分かりづらい
補足
- S3ではフォルダ構造を持たないため、prefixName/ というキー(オブジェクト)を作成し、フォルダのように扱う。これはサイズ0KBのダミーオブジェクトとして管理される。
S3://bucket-name/prefix-name/object.zip S3://bucket-name/prefix-name/object.csv 上記の中身構造(下記でいうパス) S3://bucket-name/prefix-name/object-name
- prefixName/は実質0kbのオブジェクト
- prefixName/を独立したキー(かつprefix)で作成する
- prefixName/object.zipを削除してもprefixName/が消えることはないのでこうすればOK
Prefix
- プレフィックスとは、オブジェクトキー名の先頭にある文字列のこと
- プレフィックスを使うことで、Amazon S3のバケット内のデータを整理しやすくなる
実装アイディア
- 3つのストレージクラスを準備する
- ストレージクラス毎にライフサイクルを設定する
実装結果
ここは実装したら加筆。一旦保留。
次どうするか
- 設計通りに実装してみる
- 実装したら振り返りをする