azure-storage 0.14.0.preview → 0.15.0.preview
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/azure/storage/blob/append.rb +6 -0
- data/lib/azure/storage/blob/blob.rb +80 -3
- data/lib/azure/storage/blob/blob_service.rb +29 -8
- data/lib/azure/storage/blob/block.rb +22 -2
- data/lib/azure/storage/blob/container.rb +57 -6
- data/lib/azure/storage/blob/page.rb +25 -2
- data/lib/azure/storage/client.rb +10 -10
- data/lib/azure/storage/client_options.rb +6 -3
- data/lib/azure/storage/configurable.rb +50 -17
- data/lib/azure/storage/core/auth/anonymous_signer.rb +44 -0
- data/lib/azure/storage/core/filter/retry_filter.rb +123 -12
- data/lib/azure/storage/default.rb +10 -1
- data/lib/azure/storage/file/directory.rb +13 -3
- data/lib/azure/storage/file/file.rb +17 -4
- data/lib/azure/storage/file/file_service.rb +19 -12
- data/lib/azure/storage/file/share.rb +16 -4
- data/lib/azure/storage/queue/queue_service.rb +26 -13
- data/lib/azure/storage/service/geo_replication.rb +40 -0
- data/lib/azure/storage/service/serialization.rb +26 -0
- data/lib/azure/storage/service/storage_service.rb +144 -20
- data/lib/azure/storage/service/storage_service_stats.rb +39 -0
- data/lib/azure/storage/table/table_service.rb +33 -14
- data/lib/azure/storage/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5c12c44729bf416e20e2a983f88fce629e58982
|
4
|
+
data.tar.gz: d589d29762029eccf660cd0fca41bb2e18b49082
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 109b153f84da28f24892241fe953ab93f7c4e6d1664fd4c5ed723000902ac6af508ea5523bb688a5783d6f52a5ceac5dedd00637ea480388fc552f896a59be95
|
7
|
+
data.tar.gz: b0186d8eec0537b52ec24647a994813e867dfa6b23b34e9ad69224fe46e4719d46a978130cf24e67480689002f6b743d84a9b35b901a75f80b7957b7cb0681bb
|
@@ -63,6 +63,8 @@ module Azure::Storage
|
|
63
63
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to create a new blob
|
64
64
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
65
65
|
# the Blob service returns status code 412 (Precondition Failed).
|
66
|
+
# * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an active lease,
|
67
|
+
# specify the valid lease ID for this header.
|
66
68
|
#
|
67
69
|
# See http://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
|
68
70
|
#
|
@@ -92,6 +94,7 @@ module Azure::Storage
|
|
92
94
|
|
93
95
|
StorageService.add_metadata_to_headers options[:metadata], headers
|
94
96
|
add_blob_conditional_headers options, headers
|
97
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
95
98
|
|
96
99
|
# call PutBlob with empty body
|
97
100
|
response = call(:put, uri, nil, headers, options)
|
@@ -135,6 +138,8 @@ module Azure::Storage
|
|
135
138
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to append a block only if
|
136
139
|
# the blob's ETag value does not match the value specified. If the values are identical,
|
137
140
|
# the Blob service returns status code 412 (Precondition Failed).
|
141
|
+
# * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an
|
142
|
+
# active lease, specify the valid lease ID for this header.
|
138
143
|
#
|
139
144
|
# See http://msdn.microsoft.com/en-us/library/azure/mt427365.aspx
|
140
145
|
#
|
@@ -150,6 +155,7 @@ module Azure::Storage
|
|
150
155
|
StorageService.with_header headers, "x-ms-lease-id", options[:lease_id]
|
151
156
|
|
152
157
|
add_blob_conditional_headers options, headers
|
158
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
153
159
|
|
154
160
|
response = call(:put, uri, content, headers, options)
|
155
161
|
result = Serialization.blob_from_headers(response.headers)
|
@@ -61,6 +61,8 @@ module Azure::Storage
|
|
61
61
|
# * +:timeout+ - Integer. A timeout in seconds.
|
62
62
|
# * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
|
63
63
|
# in the analytics logs when storage analytics logging is enabled.
|
64
|
+
# * +:location_mode+ - LocationMode. Specifies the location mode used to decide
|
65
|
+
# which location the request should be sent to.
|
64
66
|
# * +:if_modified_since+ - String. A DateTime value. Specify this conditional header to get the blob
|
65
67
|
# only if the blob has been modified since the specified date/time. If the blob has not been modified,
|
66
68
|
# the Blob service returns status code 412 (Precondition Failed).
|
@@ -73,6 +75,12 @@ module Azure::Storage
|
|
73
75
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to get the blob
|
74
76
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
75
77
|
# the Blob service returns status code 412 (Precondition Failed).
|
78
|
+
# * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
|
79
|
+
# following conditions are met:
|
80
|
+
# - The blob's lease is currently active.
|
81
|
+
# - The lease ID specified in the request matches that of the blob.
|
82
|
+
# If this header is specified and both of these conditions are not met, the request will fail
|
83
|
+
# and the Get Blob operation will fail with status code 412 (Precondition Failed).
|
76
84
|
#
|
77
85
|
# See http://msdn.microsoft.com/en-us/library/azure/dd179440.aspx
|
78
86
|
#
|
@@ -81,7 +89,9 @@ module Azure::Storage
|
|
81
89
|
query = {}
|
82
90
|
StorageService.with_query query, "snapshot", options[:snapshot]
|
83
91
|
StorageService.with_query query, "timeout", options[:timeout].to_s if options[:timeout]
|
84
|
-
|
92
|
+
|
93
|
+
options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
|
94
|
+
uri = blob_uri(container, blob, query, options)
|
85
95
|
|
86
96
|
headers = StorageService.common_headers
|
87
97
|
options[:start_range] = 0 if options[:end_range] && (not options[:start_range])
|
@@ -90,6 +100,7 @@ module Azure::Storage
|
|
90
100
|
StorageService.with_header headers, "x-ms-range-get-content-md5", "true" if options[:get_content_md5]
|
91
101
|
end
|
92
102
|
add_blob_conditional_headers options, headers
|
103
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
93
104
|
|
94
105
|
response = call(:get, uri, nil, headers, options)
|
95
106
|
result = Serialization.blob_from_headers(response.headers)
|
@@ -114,6 +125,8 @@ module Azure::Storage
|
|
114
125
|
# * +:timeout+ - Integer. A timeout in seconds.
|
115
126
|
# * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
|
116
127
|
# in the analytics logs when storage analytics logging is enabled.
|
128
|
+
# * +:location_mode+ - LocationMode. Specifies the location mode used to decide
|
129
|
+
# which location the request should be sent to.
|
117
130
|
# * +:if_modified_since+ - String. A DateTime value. Specify this conditional header to get the blob properties
|
118
131
|
# only if the blob has been modified since the specified date/time. If the blob has not been modified,
|
119
132
|
# the Blob service returns status code 412 (Precondition Failed).
|
@@ -126,6 +139,14 @@ module Azure::Storage
|
|
126
139
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to get the blob properties
|
127
140
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
128
141
|
# the Blob service returns status code 412 (Precondition Failed).
|
142
|
+
# * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
|
143
|
+
# following conditions are met:
|
144
|
+
#
|
145
|
+
# - The blob's lease is currently active.
|
146
|
+
# - The lease ID specified in the request matches that of the blob.
|
147
|
+
#
|
148
|
+
# If this header is specified and both of these conditions are not met, the request will fail
|
149
|
+
# and the Get Blob Properties operation will fail with status code 412 (Precondition Failed).
|
129
150
|
#
|
130
151
|
# See http://msdn.microsoft.com/en-us/library/azure/dd179394.aspx
|
131
152
|
#
|
@@ -139,8 +160,10 @@ module Azure::Storage
|
|
139
160
|
unless options.empty?
|
140
161
|
add_blob_conditional_headers options, headers
|
141
162
|
end
|
163
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
142
164
|
|
143
|
-
|
165
|
+
options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
|
166
|
+
uri = blob_uri(container, blob, query, options)
|
144
167
|
|
145
168
|
response = call(:head, uri, nil, headers, options)
|
146
169
|
|
@@ -217,6 +240,8 @@ module Azure::Storage
|
|
217
240
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to set the blob properties
|
218
241
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
219
242
|
# the Blob service returns status code 412 (Precondition Failed).
|
243
|
+
# * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an active
|
244
|
+
# lease, specify the valid lease ID for this header.
|
220
245
|
#
|
221
246
|
# Remarks:
|
222
247
|
#
|
@@ -271,6 +296,7 @@ module Azure::Storage
|
|
271
296
|
end
|
272
297
|
|
273
298
|
add_blob_conditional_headers options, headers
|
299
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
274
300
|
end
|
275
301
|
|
276
302
|
call(:put, uri, nil, headers, options)
|
@@ -293,6 +319,8 @@ module Azure::Storage
|
|
293
319
|
# * +:timeout+ - Integer. A timeout in seconds.
|
294
320
|
# * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
|
295
321
|
# in the analytics logs when storage analytics logging is enabled.
|
322
|
+
# * +:location_mode+ - LocationMode. Specifies the location mode used to decide
|
323
|
+
# which location the request should be sent to.
|
296
324
|
# * +:if_modified_since+ - String. A DateTime value. Specify this conditional header to get the blob metadata
|
297
325
|
# only if the blob has been modified since the specified date/time. If the blob has not been modified,
|
298
326
|
# the Blob service returns status code 412 (Precondition Failed).
|
@@ -305,6 +333,14 @@ module Azure::Storage
|
|
305
333
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to get the blob metadata
|
306
334
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
307
335
|
# the Blob service returns status code 412 (Precondition Failed).
|
336
|
+
# * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
|
337
|
+
# following conditions are met:
|
338
|
+
#
|
339
|
+
# - The blob's lease is currently active.
|
340
|
+
# - The lease ID specified in the request matches that of the blob.
|
341
|
+
#
|
342
|
+
# If this header is specified and both of these conditions are not met, the request will fail
|
343
|
+
# and the Get Blob Metadata operation will fail with status code 412 (Precondition Failed).
|
308
344
|
#
|
309
345
|
# See http://msdn.microsoft.com/en-us/library/azure/dd179350.aspx
|
310
346
|
#
|
@@ -317,9 +353,11 @@ module Azure::Storage
|
|
317
353
|
headers = StorageService.common_headers
|
318
354
|
unless options.empty?
|
319
355
|
add_blob_conditional_headers options, headers
|
356
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
320
357
|
end
|
321
358
|
|
322
|
-
|
359
|
+
options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
|
360
|
+
uri = blob_uri(container, blob, query, options)
|
323
361
|
response = call(:get, uri, nil, headers, options)
|
324
362
|
result = Serialization.blob_from_headers(response.headers)
|
325
363
|
|
@@ -356,6 +394,8 @@ module Azure::Storage
|
|
356
394
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to set the blob metadata
|
357
395
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
358
396
|
# the Blob service returns status code 412 (Precondition Failed).
|
397
|
+
# * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an active
|
398
|
+
# lease, specify the valid lease ID for this header.
|
359
399
|
#
|
360
400
|
# See http://msdn.microsoft.com/en-us/library/azure/dd179414.aspx
|
361
401
|
#
|
@@ -370,6 +410,7 @@ module Azure::Storage
|
|
370
410
|
StorageService.add_metadata_to_headers metadata, headers
|
371
411
|
unless options.empty?
|
372
412
|
add_blob_conditional_headers options, headers
|
413
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
373
414
|
end
|
374
415
|
|
375
416
|
call(:put, uri, nil, headers, options)
|
@@ -407,6 +448,8 @@ module Azure::Storage
|
|
407
448
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to acquire the lease
|
408
449
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
409
450
|
# the Blob service returns status code 412 (Precondition Failed).
|
451
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
452
|
+
# in cross-origin resource sharing headers on the response.
|
410
453
|
#
|
411
454
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
412
455
|
#
|
@@ -447,6 +490,8 @@ module Azure::Storage
|
|
447
490
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to renew the lease
|
448
491
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
449
492
|
# the Blob service returns status code 412 (Precondition Failed).
|
493
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
494
|
+
# in cross-origin resource sharing headers on the response.
|
450
495
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
451
496
|
#
|
452
497
|
# Returns the renewed lease id
|
@@ -483,6 +528,8 @@ module Azure::Storage
|
|
483
528
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to change the lease
|
484
529
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
485
530
|
# the Blob service returns status code 412 (Precondition Failed).
|
531
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
532
|
+
# in cross-origin resource sharing headers on the response.
|
486
533
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
487
534
|
#
|
488
535
|
# Returns the changed lease id
|
@@ -519,6 +566,8 @@ module Azure::Storage
|
|
519
566
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to release the lease
|
520
567
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
521
568
|
# the Blob service returns status code 412 (Precondition Failed).
|
569
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
570
|
+
# in cross-origin resource sharing headers on the response.
|
522
571
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
523
572
|
#
|
524
573
|
# Returns nil on success
|
@@ -567,6 +616,8 @@ module Azure::Storage
|
|
567
616
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to break the lease
|
568
617
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
569
618
|
# the Blob service returns status code 412 (Precondition Failed).
|
619
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
620
|
+
# in cross-origin resource sharing headers on the response.
|
570
621
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
571
622
|
#
|
572
623
|
# Returns an Integer of the remaining lease time. This value is the approximate time remaining in the lease
|
@@ -603,6 +654,12 @@ module Azure::Storage
|
|
603
654
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to create the blob snapshot
|
604
655
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
605
656
|
# the Blob service returns status code 412 (Precondition Failed).
|
657
|
+
# * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
|
658
|
+
# following conditions are met:
|
659
|
+
# - The blob's lease is currently active.
|
660
|
+
# - The lease ID specified in the request matches that of the blob.
|
661
|
+
# If this header is specified and both of these conditions are not met, the request will fail
|
662
|
+
# and the Snapshot Blob operation will fail with status code 412 (Precondition Failed).
|
606
663
|
#
|
607
664
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691971.aspx
|
608
665
|
#
|
@@ -617,6 +674,7 @@ module Azure::Storage
|
|
617
674
|
unless options.empty?
|
618
675
|
StorageService.add_metadata_to_headers(options[:metadata], headers)
|
619
676
|
add_blob_conditional_headers(options, headers)
|
677
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
620
678
|
end
|
621
679
|
|
622
680
|
response = call(:put, uri, nil, headers, options)
|
@@ -668,6 +726,13 @@ module Azure::Storage
|
|
668
726
|
# * +:timeout+ - Integer. A timeout in seconds.
|
669
727
|
# * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
|
670
728
|
# in the analytics logs when storage analytics logging is enabled.
|
729
|
+
# * +:lease_id+ - String. Required if the destination blob has an active lease. The lease ID specified for
|
730
|
+
# this header must match the lease ID of the destination blob. If the request does not include
|
731
|
+
# the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed).
|
732
|
+
# If this header is specified and the destination blob does not currently have an active lease,
|
733
|
+
# the operation will also fail with status code 412 (Precondition Failed).
|
734
|
+
# In version 2012-02-12 and newer, this value must specify an active, infinite lease for a
|
735
|
+
# leased blob. A finite-duration lease ID fails with 412 (Precondition Failed).
|
671
736
|
#
|
672
737
|
# See http://msdn.microsoft.com/en-us/library/azure/dd894037.aspx
|
673
738
|
#
|
@@ -690,6 +755,7 @@ module Azure::Storage
|
|
690
755
|
unless options.empty?
|
691
756
|
add_blob_conditional_headers options, headers
|
692
757
|
StorageService.add_metadata_to_headers options[:metadata], headers
|
758
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
693
759
|
end
|
694
760
|
|
695
761
|
response = call(:put, uri, nil, headers, options)
|
@@ -741,6 +807,13 @@ module Azure::Storage
|
|
741
807
|
# * +:timeout+ - Integer. A timeout in seconds.
|
742
808
|
# * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
|
743
809
|
# in the analytics logs when storage analytics logging is enabled.
|
810
|
+
# * +:lease_id+ - String. Required if the destination blob has an active lease. The lease ID specified for
|
811
|
+
# this header must match the lease ID of the destination blob. If the request does not include
|
812
|
+
# the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed).
|
813
|
+
# If this header is specified and the destination blob does not currently have an active lease,
|
814
|
+
# the operation will also fail with status code 412 (Precondition Failed).
|
815
|
+
# In version 2012-02-12 and newer, this value must specify an active, infinite lease for a
|
816
|
+
# leased blob. A finite-duration lease ID fails with 412 (Precondition Failed).
|
744
817
|
#
|
745
818
|
# See http://msdn.microsoft.com/en-us/library/azure/dd894037.aspx
|
746
819
|
#
|
@@ -830,6 +903,9 @@ module Azure::Storage
|
|
830
903
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to create the blob snapshot
|
831
904
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
832
905
|
# the Blob service returns status code 412 (Precondition Failed).
|
906
|
+
# * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an
|
907
|
+
# active lease, specify the valid lease ID for this header. If a valid lease ID is not specified
|
908
|
+
# on the request, the operation will fail with status code 403 (Forbidden).
|
833
909
|
#
|
834
910
|
# See http://msdn.microsoft.com/en-us/library/azure/dd179440.aspx
|
835
911
|
#
|
@@ -846,6 +922,7 @@ module Azure::Storage
|
|
846
922
|
headers = StorageService.common_headers
|
847
923
|
StorageService.with_header headers, "x-ms-delete-snapshots", options[:delete_snapshots].to_s if options[:delete_snapshots] && options[:snapshot] == nil
|
848
924
|
add_blob_conditional_headers options, headers
|
925
|
+
headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
|
849
926
|
|
850
927
|
call(:delete, uri, nil, headers, options)
|
851
928
|
nil
|
@@ -44,7 +44,8 @@ module Azure::Storage
|
|
44
44
|
client_config = options[:client] || Azure::Storage
|
45
45
|
signer = options[:signer] || client_config.signer || Azure::Storage::Core::Auth::SharedKey.new(client_config.storage_account_name, client_config.storage_access_key)
|
46
46
|
super(signer, client_config.storage_account_name, options, &block)
|
47
|
-
@
|
47
|
+
@storage_service_host[:primary] = client.storage_blob_host
|
48
|
+
@storage_service_host[:secondary] = client.storage_blob_host true
|
48
49
|
end
|
49
50
|
|
50
51
|
def call(method, uri, body = nil, headers = {}, options = {})
|
@@ -103,6 +104,9 @@ module Azure::Storage
|
|
103
104
|
# * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
|
104
105
|
# in the analytics logs when storage analytics logging is enabled.
|
105
106
|
#
|
107
|
+
# * +:location_mode+ - LocationMode. Specifies the location mode used to decide
|
108
|
+
# which location the request should be sent to.
|
109
|
+
#
|
106
110
|
# See: https://msdn.microsoft.com/en-us/library/azure/dd179352.aspx
|
107
111
|
#
|
108
112
|
# NOTE: Metadata requested with the :metadata parameter must have been stored in
|
@@ -126,7 +130,8 @@ module Azure::Storage
|
|
126
130
|
StorageService.with_query query, "timeout", options[:timeout].to_s if options[:timeout]
|
127
131
|
end
|
128
132
|
|
129
|
-
|
133
|
+
options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
|
134
|
+
uri = containers_uri(query, options)
|
130
135
|
response = call(:get, uri, nil, {}, options)
|
131
136
|
|
132
137
|
Serialization.container_enumeration_results_from_xml(response.body)
|
@@ -163,6 +168,8 @@ module Azure::Storage
|
|
163
168
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to acquire the lease
|
164
169
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
165
170
|
# the Blob service returns status code 412 (Precondition Failed).
|
171
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
172
|
+
# in cross-origin resource sharing headers on the response.
|
166
173
|
#
|
167
174
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
168
175
|
#
|
@@ -187,6 +194,7 @@ module Azure::Storage
|
|
187
194
|
Service::StorageService.with_header headers, "x-ms-lease-action", "acquire"
|
188
195
|
Service::StorageService.with_header headers, "x-ms-lease-duration", duration.to_s if duration
|
189
196
|
Service::StorageService.with_header headers, "x-ms-proposed-lease-id", options[:proposed_lease_id]
|
197
|
+
Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
|
190
198
|
add_blob_conditional_headers options, headers
|
191
199
|
|
192
200
|
response = call(:put, uri, nil, headers, options)
|
@@ -223,6 +231,8 @@ module Azure::Storage
|
|
223
231
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to renew the lease
|
224
232
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
225
233
|
# the Blob service returns status code 412 (Precondition Failed).
|
234
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
235
|
+
# in cross-origin resource sharing headers on the response.
|
226
236
|
#
|
227
237
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
228
238
|
#
|
@@ -242,6 +252,7 @@ module Azure::Storage
|
|
242
252
|
headers = Service::StorageService.common_headers
|
243
253
|
Service::StorageService.with_header headers, "x-ms-lease-action", "renew"
|
244
254
|
Service::StorageService.with_header headers, "x-ms-lease-id", lease
|
255
|
+
Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
|
245
256
|
add_blob_conditional_headers options, headers
|
246
257
|
|
247
258
|
response = call(:put, uri, nil, headers, options)
|
@@ -277,6 +288,8 @@ module Azure::Storage
|
|
277
288
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to change the lease
|
278
289
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
279
290
|
# the Blob service returns status code 412 (Precondition Failed).
|
291
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
292
|
+
# in cross-origin resource sharing headers on the response.
|
280
293
|
#
|
281
294
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
282
295
|
#
|
@@ -298,6 +311,7 @@ module Azure::Storage
|
|
298
311
|
Service::StorageService.with_header headers, "x-ms-lease-action", "change"
|
299
312
|
Service::StorageService.with_header headers, "x-ms-lease-id", lease
|
300
313
|
Service::StorageService.with_header headers, "x-ms-proposed-lease-id", proposed_lease
|
314
|
+
Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
|
301
315
|
add_blob_conditional_headers options, headers
|
302
316
|
|
303
317
|
response = call(:put, uri, nil, headers, options)
|
@@ -333,6 +347,8 @@ module Azure::Storage
|
|
333
347
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to release the lease
|
334
348
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
335
349
|
# the Blob service returns status code 412 (Precondition Failed).
|
350
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
351
|
+
# in cross-origin resource sharing headers on the response.
|
336
352
|
#
|
337
353
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
338
354
|
#
|
@@ -352,6 +368,7 @@ module Azure::Storage
|
|
352
368
|
headers = Service::StorageService.common_headers
|
353
369
|
Service::StorageService.with_header headers, "x-ms-lease-action", "release"
|
354
370
|
Service::StorageService.with_header headers, "x-ms-lease-id", lease
|
371
|
+
Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
|
355
372
|
add_blob_conditional_headers options, headers
|
356
373
|
|
357
374
|
call(:put, uri, nil, headers, options)
|
@@ -399,6 +416,8 @@ module Azure::Storage
|
|
399
416
|
# * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to acquire the lease
|
400
417
|
# only if the blob's ETag value does not match the value specified. If the values are identical,
|
401
418
|
# the Blob service returns status code 412 (Precondition Failed).
|
419
|
+
# * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
|
420
|
+
# in cross-origin resource sharing headers on the response.
|
402
421
|
#
|
403
422
|
# See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
|
404
423
|
#
|
@@ -420,6 +439,7 @@ module Azure::Storage
|
|
420
439
|
headers = Service::StorageService.common_headers
|
421
440
|
Service::StorageService.with_header headers, "x-ms-lease-action", "break"
|
422
441
|
Service::StorageService.with_header headers, "x-ms-lease-break-period", options[:break_period].to_s if options[:break_period]
|
442
|
+
Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
|
423
443
|
add_blob_conditional_headers options, headers
|
424
444
|
|
425
445
|
response = call(:put, uri, nil, headers, options)
|
@@ -435,9 +455,9 @@ module Azure::Storage
|
|
435
455
|
# Returns a URI.
|
436
456
|
#
|
437
457
|
protected
|
438
|
-
def containers_uri(query = {})
|
458
|
+
def containers_uri(query = {}, options = {})
|
439
459
|
query = { "comp" => "list" }.merge(query)
|
440
|
-
generate_uri("", query)
|
460
|
+
generate_uri("", query, options)
|
441
461
|
end
|
442
462
|
|
443
463
|
# Protected: Generate the URI for a specific container.
|
@@ -450,10 +470,10 @@ module Azure::Storage
|
|
450
470
|
# Returns a URI.
|
451
471
|
#
|
452
472
|
protected
|
453
|
-
def container_uri(name, query = {})
|
473
|
+
def container_uri(name, query = {}, options = {})
|
454
474
|
return name if name.kind_of? ::URI
|
455
475
|
query = { "restype" => "container" }.merge(query)
|
456
|
-
generate_uri(name, query)
|
476
|
+
generate_uri(name, query, options)
|
457
477
|
end
|
458
478
|
|
459
479
|
# Protected: Generate the URI for a specific Blob.
|
@@ -467,13 +487,14 @@ module Azure::Storage
|
|
467
487
|
# Returns a URI.
|
468
488
|
#
|
469
489
|
protected
|
470
|
-
def blob_uri(container_name, blob_name, query = {})
|
490
|
+
def blob_uri(container_name, blob_name, query = {}, options = {})
|
471
491
|
if container_name.nil? || container_name.empty?
|
472
492
|
path = blob_name
|
473
493
|
else
|
474
494
|
path = ::File.join(container_name, blob_name)
|
475
495
|
end
|
476
|
-
|
496
|
+
options = { encode: true }.merge(options)
|
497
|
+
generate_uri(path, query, options)
|
477
498
|
end
|
478
499
|
|
479
500
|
# Adds conditional header with required condition
|