module Dag::Client::API::Storage
Public Instance Methods
buckets()
click to toggle source
# File lib/dag/client/api/storage.rb, line 8 def buckets xml_doc = execute_storage(RestParameter.new(:get, '/')) Dag::Client::API::BucketsResult.new(xml_doc) end
create_bucket(bucket)
click to toggle source
# File lib/dag/client/api/storage.rb, line 36 def create_bucket(bucket) resource = '/' execute_storage(RestParameter.new(:put, resource, bucket: bucket, content_type: 'application/json')) end
create_multipart_object(bucket, object_name, options = {}, &block)
click to toggle source
# File lib/dag/client/api/storage.rb, line 50 def create_multipart_object(bucket, object_name, options = {}, &block) mu = MultipartUpload.new(bucket, object_name, options) do self end # Initiate Multipart Upload upload_id = mu.initiate_multipart_upload begin # Upload Part upload_objects = mu.upload_part(upload_id, &block) # Complete Multipart Upload mu.complete_multipart_upload(upload_id, upload_objects) rescue => e # Abort Multipart Upload mu.abort_multipart_upload(upload_id) raise e end end
create_object(bucket, object_name, options = {}, &block)
click to toggle source
# File lib/dag/client/api/storage.rb, line 41 def create_object(bucket, object_name, options = {}, &block) resource = "/#{object_name}" type = MIME::Types.type_for(object_name).first content_type = type ? type.to_s : 'application/octet-stream' options = options.merge(bucket: bucket, content_type: content_type) execute_storage(RestParameter.new(:put, resource, options), &block) end
delete_bucket(bucket)
click to toggle source
# File lib/dag/client/api/storage.rb, line 84 def delete_bucket(bucket) resource = '/' execute_storage(RestParameter.new(:delete, resource, bucket: bucket)) end
delete_object(bucket, object)
click to toggle source
# File lib/dag/client/api/storage.rb, line 89 def delete_object(bucket, object) resource = "/#{object}" execute_storage(RestParameter.new(:delete, resource, bucket: bucket, content_type: 'application/json')) end
get_object(bucket, object, range = nil)
click to toggle source
# File lib/dag/client/api/storage.rb, line 73 def get_object(bucket, object, range = nil) resource = "/#{object}" headers = {} if range bt = "bytes=#{range.first}-" bt += "#{range.last}" if range.last != -1 headers[:Range] = bt end execute_storage(RestParameter.new(:get, resource, bucket: bucket, raw_data: true, headers: headers)) end
import(db_name, tbl_name, file_paths, options = {})
click to toggle source
# File lib/dag/client/api/storage.rb, line 94 def import(db_name, tbl_name, file_paths, options = {}) _import = Import.new(db_name, tbl_name, file_paths, options) do self end # calc label suffix => Fixnum suffix = _import.calc_label_suffix # import execute upload_objects = _import.execute(suffix) STDERR.puts "finished upload #{upload_objects.size} objects." STDERR.puts STDERR.puts 'upload_objects:' upload_objects.each do |o| STDERR.puts o end end
objects(bucket, prefix: nil, max: nil, marker: nil, delimiter: nil)
click to toggle source
# File lib/dag/client/api/storage.rb, line 13 def objects(bucket, prefix: nil, max: nil, marker: nil, delimiter: nil) resource = '/' query_params = {} if prefix query_params.merge!('prefix' => prefix) end if max query_params.merge!('max-keys' => max) end if marker query_params.merge!('marker' => marker) end if delimiter query_params.merge!('delimiter' => delimiter) end xml_doc = execute_storage(RestParameter.new(:get, resource, bucket: bucket, query_params: query_params)) Dag::Client::API::ObjectsResult.new(xml_doc) end