Site icon imageTomoMemo.dev

Memo on programming for Junior SWE. Provided by Tomo with passion.

[Amazon S3]prefixをどう使うか決めた時の考え方を振り返る

やりたいこと

  • 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つのストレージクラスを準備する
  • ストレージクラス毎にライフサイクルを設定する

実装結果

ここは実装したら加筆。一旦保留。

次どうするか

  • 設計通りに実装してみる
  • 実装したら振り返りをする

Powered by Tomo with passion.