Class: SpreeCmCommissioner::S3UrlGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/spree_cm_commissioner/s3_url_generator.rb

Class Method Summary collapse

Class Method Details

.s3_presigned_url(url) ⇒ Object

docs.aws.amazon.com/sdk-for-ruby/v1/api/AWS/S3/S3Object.html The bucket is private, ie all the public access is blocked key = “uploads/5f31/1697038252270.jpg”



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/spree_cm_commissioner/s3_url_generator.rb', line 6

def self.s3_presigned_url(url)
  key = url.split('amazonaws.com/').last

  s3 = Aws::S3::Resource.new(region: ENV.fetch('AWS_REGION'),
                             access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
                             secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY')
                            )

  bucket_name = ENV.fetch('AWS_BUCKET_NAME')
  bucket = s3.bucket(bucket_name)
  object = bucket.object(key)
  object.presigned_url(:get, expires_in: 3600)
end