LoginSignup
7
6

More than 5 years have passed since last update.

S3上の特定ディレクトリ以下のファイルパスを取得する

Last updated at Posted at 2015-04-01

S3にアップされているファイルのうち、特定ディレクトリ以下のファイルパスをAWS SDK for Rubyで取得するにはこう書けばOK。
SDKのVersionによって書き方がかなり違うので注意が必要。

Ver.1
require 'aws-sdk'

s3 = AWS::S3.new(
  :access_key_id => 'YOUR AWS ACCESS KEY',
  :secret_access_key => 'YOUR AWS SECRET',
)

bucket = s3.buckets['bucket-name']

# images以下のファイルに限定
bucket.objects.with_prefix('images/').each do |obj|
  puts "#{obj.key} => #{obj.etag}"
end
Ver.2
require 'aws-sdk'

s3 = Aws::S3::Resource.new(
  :region => 'YOUR REGION',
  :access_key_id => 'YOUR AWS ACCESS KEY',
  :secret_access_key => 'YOUR AWS SECRET',
)

bucket = s3.bucket('bucket-name')

# images以下のファイルに限定
bucket.objects(prefix: 'images/').each do |obj|
  puts "#{obj.key} => #{obj.etag}"
end

実行してみたらVer.2の方が断然早かったので、バージョンに指定がないようであればVer.2を使ったほうがいいのかも。

7
6
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
7
6