Skip to content

Instantly share code, notes, and snippets.

@hartfordfive
Created November 1, 2016 17:47
Show Gist options
  • Select an option

  • Save hartfordfive/19097441d3803d9aa75ffe5ecf0696da to your computer and use it in GitHub Desktop.

Select an option

Save hartfordfive/19097441d3803d9aa75ffe5ecf0696da to your computer and use it in GitHub Desktop.
Check if file exists in S3 bucket with Ruby aws-sdk gem
require 'aws-sdk'
s3 = Aws::S3::Resource.new(
region: 'us-east-1',
credentials: Aws::InstanceProfileCredentials.new()
)
bucket = s3.bucket('my-daily-backups')
file = (DateTime.now).strftime("%Y.%m.%d-backup")
if bucket.object(file).exists?
puts "File '/my-daily-backups/#{file}' is present in S3 bucket!"
else
puts "File '/my-daily-backups/#{file}' is not in S3 bucket!"
end
@yumao5

yumao5 commented Dec 8, 2017

Copy link
Copy Markdown

Thanks, very helpful. Make my way to there as blow.

File url s3://51-alien-test/cover/51.pdf

s3 = Aws::S3::Resource.new(region: 'us-central-51', access_key_id: 'xxxx', secret_access_key: 'xxxxx')
bucket = s3.bucket('51-alien-test')
bucket.object('cover/51.pdf').exists?

@geralch

geralch commented Dec 10, 2018

Copy link
Copy Markdown

Thank you!! ヽ(^◇^*)/

@kendrikat

kendrikat commented Mar 11, 2019

Copy link
Copy Markdown

And anyone getting Exceptions instead of a Boolean result, check this aws/aws-sdk-ruby#201 (comment).

@rokity

rokity commented Sep 23, 2019

Copy link
Copy Markdown

If you don't ahve permission on the object that are you checking, the result it'll be false every time. So it's not an helpful script.

collect=bucket.objects(prefix: _object).collect(&:key)
      p collect
      collect.each do |item|
        if(item==_object)
          return render json: true
        end
      end
return render json: false
`

@MittalPatel-BTC

Copy link
Copy Markdown

Thanks, it's helpful for me!

@sebasjimenez10

Copy link
Copy Markdown

Life saver! Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment