Class: Aws::S3::MultipartUpload
- Inherits:
-
Object
- Object
- Aws::S3::MultipartUpload
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-s3/multipart_upload.rb,
lib/aws-sdk-s3/customizations/multipart_upload.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
- #bucket_name ⇒ String
- #id ⇒ String
-
#initiated ⇒ Time
Date and time at which the multipart upload was initiated.
-
#initiator ⇒ Types::Initiator
Identifies who initiated the multipart upload.
-
#key ⇒ String
Key of the object for which the multipart upload was initiated.
- #object_key ⇒ String
- #owner ⇒ Types::Owner
-
#storage_class ⇒ String
The class of storage used to store the object.
-
#upload_id ⇒ String
Upload ID that identifies the multipart upload.
Actions collapse
- #abort(options = {}) ⇒ Types::AbortMultipartUploadOutput
-
#complete(options = {}) ⇒ Object
Completes the upload, requires a list of completed parts.
Associations collapse
- #identifiers ⇒ Object deprecated private Deprecated.
- #object ⇒ Object
- #part(part_number) ⇒ MultipartUploadPart
- #parts(options = {}) ⇒ MultipartUploadPart::Collection
Instance Method Summary collapse
- #basic_complete ⇒ Object
- #client ⇒ Client
-
#data ⇒ Types::MultipartUpload
Returns the data for this MultipartUpload.
-
#data_loaded? ⇒ Boolean
Returns ‘true` if this resource is loaded.
-
#initialize(*args) ⇒ MultipartUpload
constructor
A new instance of MultipartUpload.
- #load ⇒ Object (also: #reload) private
Constructor Details
#initialize(bucket_name, object_key, id, options = {}) ⇒ MultipartUpload #initialize(options = {}) ⇒ MultipartUpload
Returns a new instance of MultipartUpload.
23 24 25 26 27 28 29 30 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 23 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @bucket_name = extract_bucket_name(args, ) @object_key = extract_object_key(args, ) @id = extract_id(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() end |
Instance Method Details
#abort(options = {}) ⇒ Types::AbortMultipartUploadOutput
129 130 131 132 133 134 135 136 137 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 129 def abort( = {}) = .merge( bucket: @bucket_name, key: @object_key, upload_id: @id ) resp = @client.abort_multipart_upload() resp.data end |
#basic_complete ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/aws-sdk-s3/customizations/multipart_upload.rb', line 5 def complete( = {}) = .merge( bucket: @bucket_name, key: @object_key, upload_id: @id ) resp = @client.complete_multipart_upload() Object.new( bucket_name: @bucket_name, key: @object_key, client: @client ) end |
#bucket_name ⇒ String
35 36 37 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 35 def bucket_name @bucket_name end |
#client ⇒ Client
87 88 89 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 87 def client @client end |
#complete(options = {}) ⇒ Object
Completes the upload, requires a list of completed parts. You can provide the list of parts with ‘:part_number` and `:etag` values.
upload.complete(multipart_upload: { parts: [
{ part_number: 1, etag:'etag1' },
{ part_number: 2, etag:'etag2' },
...
]})
Alternatively, you can pass **‘compute_parts: true`** and the part list will be computed by calling Client#list_parts.
upload.complete(compute_parts: true)
161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 161 def complete( = {}) = .merge( bucket: @bucket_name, key: @object_key, upload_id: @id ) resp = @client.complete_multipart_upload() Object.new( bucket_name: @bucket_name, key: @object_key, client: @client ) end |
#data ⇒ Types::MultipartUpload
Returns the data for this Aws::S3::MultipartUpload.
102 103 104 105 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 102 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
110 111 112 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 110 def data_loaded? !!@data end |
#id ⇒ String
45 46 47 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 45 def id @id end |
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
239 240 241 242 243 244 245 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 239 def identifiers { bucket_name: @bucket_name, object_key: @object_key, id: @id } end |
#initiated ⇒ Time
Date and time at which the multipart upload was initiated.
63 64 65 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 63 def initiated data.initiated end |
#initiator ⇒ Types::Initiator
Identifies who initiated the multipart upload.
80 81 82 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 80 def initiator data.initiator end |
#key ⇒ String
Key of the object for which the multipart upload was initiated.
57 58 59 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 57 def key data.key end |
#load ⇒ Object Also known as: reload
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
93 94 95 96 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 93 def load msg = "#load is not implemented, data only available via enumeration" raise NotImplementedError, msg end |
#object ⇒ Object
178 179 180 181 182 183 184 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 178 def object Object.new( bucket_name: @bucket_name, key: @object_key, client: @client ) end |
#object_key ⇒ String
40 41 42 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 40 def object_key @object_key end |
#owner ⇒ Types::Owner
74 75 76 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 74 def owner data.owner end |
#part(part_number) ⇒ MultipartUploadPart
188 189 190 191 192 193 194 195 196 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 188 def part(part_number) MultipartUploadPart.new( bucket_name: @bucket_name, object_key: @object_key, multipart_upload_id: @id, part_number: part_number, client: @client ) end |
#parts(options = {}) ⇒ MultipartUploadPart::Collection
211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 211 def parts( = {}) batches = Enumerator.new do |y| = .merge( bucket: @bucket_name, key: @object_key, upload_id: @id ) resp = @client.list_parts() resp.each_page do |page| batch = [] page.data.parts.each do |p| batch << MultipartUploadPart.new( bucket_name: [:bucket], object_key: [:key], multipart_upload_id: [:upload_id], part_number: p.part_number, data: p, client: @client ) end y.yield(batch) end end MultipartUploadPart::Collection.new(batches) end |
#storage_class ⇒ String
The class of storage used to store the object.
69 70 71 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 69 def storage_class data.storage_class end |
#upload_id ⇒ String
Upload ID that identifies the multipart upload.
51 52 53 |
# File 'lib/aws-sdk-s3/multipart_upload.rb', line 51 def upload_id data.upload_id end |