●:AWSの画像データ
解決したいこと(内容の把握)
今まではデータベースリセット(rails db:migrate:reset)で、
保存したデータは全て削除できていた。
しかし、rails db:migrate:resetを行っても、AWSに保存した画像データは残る。
削除方法と、仕組みについて。
自力で調べた内容 & 立てた仮説
ローカル・本番環境ともに、データベース削除&再構成後にAWSを確認。
(rails db:migrate:reset)
S3のバケットには、画像オブジェクトが残っている。
削除に関して
バケット画面から、オブジェクトを選択し、削除は完了できた。
仕組みに関して
コマンド実行で画像を削除できないのは、Railsのデフォルトの機能外だから、と考えた。
作成したDB(ActiveStorageテーブル)から、
S3のバケットへの保存に変更する際、
ローカル、本番環境ともに、保存先を変更する記述をした。
つまり、削除も同様に手続きが必要だと考えられる。
調べてみると、purgeメソッドを使用すると、ストレージサービスからも削除できる記述が見られる。
消去すると、BLOBとファイルがストレージサービスから削除されます。
しかし、メソッドなので、コントローラー中での処理、
つまりdestoryアクションを呼び出したときに限られる。
コンソールでdb:dropした際、
S3のオブジェクトもろとも削除はできないのか?
上記を元に質問した結果
AWSコマンドラインインターフェースを入れると、可能なようだ。
Herokuコマンドを実行する際、heroku rails ~と接頭語をつけるように、
awsをつけてコマンドを打つ。
感想
今日はじめてAWSを触ったが、どうなっているのか?
わからない事だらけで、すごく気になった。
これはどうなんだ?という疑問が多すぎる。
個々を掘り下げる前に、
「S3概要」を公式ドキュメントなり、検索なりして
なんとな〜くでも、掴んだ方が良い気がした。