Module: S3Secure::AwsServices
Constant Summary collapse
- @@buckets =
holds bucket => region map
{}
Instance Method Summary collapse
- #new_s3_regional_client(region = nil) ⇒ Object
-
#s3_client ⇒ Object
Generic s3 client.
- #s3_regional_client(bucket) ⇒ Object
Instance Method Details
#new_s3_regional_client(region = nil) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/s3_secure/aws_services.rb', line 20 def new_s3_regional_client(region=nil) = {} [:endpoint] = "https://s3.#{region}.amazonaws.com" if region [:region] = region if region Aws::S3::Client.new() end |
#s3_client ⇒ Object
Generic s3 client. Will be configured to whatever region user has locally configured in ~/.aws/config Used to call get_bucket_location to get each specific bucket’s location. Generally use the s3_regional_client instead of this.
31 32 33 |
# File 'lib/s3_secure/aws_services.rb', line 31 def s3_client Aws::S3::Client.new end |
#s3_regional_client(bucket) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/s3_secure/aws_services.rb', line 8 def s3_regional_client(bucket) region = @@buckets[bucket] unless region resp = s3_client.get_bucket_location(bucket: bucket) region = resp.location_constraint region = 'us-east-1' if region.empty? # "" means us-east-1 end new_s3_regional_client(region) end |