aws-sdk(Version2)でS3のファイルを削除する方法

aws-sdkは現在Version1とVersion2があるようで、Version1とVersion2は基本的に互換性はない様なので注意が必要です。今回はVersion2について書きます。

まず、aws-sdkを使うにあたって初期設定をしないといけません。『Aws.config.update』の部分ですね。
Railsの場合はinitializersにでも書いておけば良いかなとおもいます。

# Gemfile
gem 'aws-sdk'

# config/initializers/aws_sdk.rb
Aws.config.update(
  {
    region:      'ap-northeast-1',
    credentials: Aws::Credentials.new(
                                       'S3_KEY_ID',
                                       'S3_SECRET_KEY'
                                     )
  }
)

削除するにはバケット名とファイルのあるパスを指定して、delete_objectメソッドを使って消すことができます。

# 削除のコード
bucket_name = "abc_bucket"
file_path       = "/upload/abc.jpg"

s3 = Aws::S3::Client.new
s3.delete_object(bucket: bucket_name, key: file_path)