@azure/storage-file-share 12.23.0-alpha.20240108.2 → 12.23.0-alpha.20240112.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +471 -270
- package/dist/index.js.map +1 -1
- package/dist-esm/storage-blob/src/BatchResponseParser.js.map +1 -1
- package/dist-esm/storage-blob/src/BatchUtils.browser.js.map +1 -1
- package/dist-esm/storage-blob/src/BatchUtils.js.map +1 -1
- package/dist-esm/storage-blob/src/BlobBatch.js.map +1 -1
- package/dist-esm/storage-blob/src/BlobBatchClient.js +3 -1
- package/dist-esm/storage-blob/src/BlobBatchClient.js.map +1 -1
- package/dist-esm/storage-blob/src/BlobDownloadResponse.js.map +1 -1
- package/dist-esm/storage-blob/src/BlobLeaseClient.js +35 -30
- package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +1 -1
- package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js.map +1 -1
- package/dist-esm/storage-blob/src/BlobQueryResponse.js.map +1 -1
- package/dist-esm/storage-blob/src/BlobServiceClient.js +80 -81
- package/dist-esm/storage-blob/src/BlobServiceClient.js.map +1 -1
- package/dist-esm/storage-blob/src/Clients.js +302 -193
- package/dist-esm/storage-blob/src/Clients.js.map +1 -1
- package/dist-esm/storage-blob/src/ContainerClient.js +165 -132
- package/dist-esm/storage-blob/src/ContainerClient.js.map +1 -1
- package/dist-esm/storage-blob/src/PageBlobRangeResponse.js +10 -3
- package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +1 -1
- package/dist-esm/storage-blob/src/Pipeline.js +19 -10
- package/dist-esm/storage-blob/src/Pipeline.js.map +1 -1
- package/dist-esm/storage-blob/src/Range.js.map +1 -1
- package/dist-esm/storage-blob/src/StorageContextClient.js +1 -1
- package/dist-esm/storage-blob/src/StorageContextClient.js.map +1 -1
- package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js.map +1 -1
- package/dist-esm/storage-blob/src/credentials/Credential.js.map +1 -1
- package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js.map +1 -1
- package/dist-esm/storage-blob/src/generated/src/storageClient.js +7 -3
- package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +1 -1
- package/dist-esm/storage-blob/src/models.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js +1 -1
- package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +10 -12
- package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -1
- package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js +6 -3
- package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +1 -1
- package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js.map +1 -1
- package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js.map +1 -1
- package/dist-esm/storage-blob/src/sas/SASQueryParameters.js.map +1 -1
- package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +1 -1
- package/dist-esm/storage-blob/src/utils/utils.common.js +24 -11
- package/dist-esm/storage-blob/src/utils/utils.common.js.map +1 -1
- package/dist-esm/storage-blob/src/utils/utils.node.js.map +1 -1
- package/dist-esm/storage-file-share/src/AccountSASSignatureValues.js.map +1 -1
- package/dist-esm/storage-file-share/src/Clients.js +366 -194
- package/dist-esm/storage-file-share/src/Clients.js.map +1 -1
- package/dist-esm/storage-file-share/src/FileDownloadResponse.js.map +1 -1
- package/dist-esm/storage-file-share/src/FileSASSignatureValues.js.map +1 -1
- package/dist-esm/storage-file-share/src/Range.js.map +1 -1
- package/dist-esm/storage-file-share/src/SASQueryParameters.js.map +1 -1
- package/dist-esm/storage-file-share/src/ShareServiceClient.js +42 -43
- package/dist-esm/storage-file-share/src/ShareServiceClient.js.map +1 -1
- package/dist-esm/storage-file-share/src/StorageContextClient.js +1 -1
- package/dist-esm/storage-file-share/src/StorageContextClient.js.map +1 -1
- package/dist-esm/storage-file-share/src/generated/src/storageClient.js +7 -3
- package/dist-esm/storage-file-share/src/generated/src/storageClient.js.map +1 -1
- package/dist-esm/storage-file-share/src/models.js.map +1 -1
- package/dist-esm/storage-file-share/src/utils/BufferScheduler.js.map +1 -1
- package/dist-esm/storage-file-share/src/utils/RetriableReadableStream.js.map +1 -1
- package/dist-esm/storage-file-share/src/utils/utils.common.js +26 -10
- package/dist-esm/storage-file-share/src/utils/utils.common.js.map +1 -1
- package/dist-esm/storage-file-share/src/utils/utils.node.js.map +1 -1
- package/package.json +3 -4
@@ -1,6 +1,5 @@
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
2
2
|
// Licensed under the MIT license.
|
3
|
-
import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
|
4
3
|
import { getDefaultProxySettings, } from "@azure/core-rest-pipeline";
|
5
4
|
import { isTokenCredential } from "@azure/core-auth";
|
6
5
|
import { isNode } from "@azure/core-util";
|
@@ -217,11 +216,13 @@ export class BlobClient extends StorageClient {
|
|
217
216
|
options.conditions = options.conditions || {};
|
218
217
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
219
218
|
return tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
|
220
|
-
var _a;
|
221
219
|
const res = assertResponse(await this.blobContext.download({
|
222
220
|
abortSignal: options.abortSignal,
|
223
221
|
leaseAccessConditions: options.conditions,
|
224
|
-
modifiedAccessConditions:
|
222
|
+
modifiedAccessConditions: {
|
223
|
+
...options.conditions,
|
224
|
+
ifTags: options.conditions?.tagConditions,
|
225
|
+
},
|
225
226
|
requestOptions: {
|
226
227
|
onDownloadProgress: isNode ? undefined : options.onProgress, // for Node.js, progress is reported by RetriableReadableStream
|
227
228
|
},
|
@@ -232,7 +233,12 @@ export class BlobClient extends StorageClient {
|
|
232
233
|
cpkInfo: options.customerProvidedKey,
|
233
234
|
tracingOptions: updatedOptions.tracingOptions,
|
234
235
|
}));
|
235
|
-
const wrappedRes =
|
236
|
+
const wrappedRes = {
|
237
|
+
...res,
|
238
|
+
_response: res._response,
|
239
|
+
objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
|
240
|
+
objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules),
|
241
|
+
};
|
236
242
|
// Return browser response immediately
|
237
243
|
if (!isNode) {
|
238
244
|
return wrappedRes;
|
@@ -253,7 +259,6 @@ export class BlobClient extends StorageClient {
|
|
253
259
|
throw new RangeError(`File download response doesn't contain valid etag header`);
|
254
260
|
}
|
255
261
|
return new BlobDownloadResponse(wrappedRes, async (start) => {
|
256
|
-
var _a;
|
257
262
|
const updatedDownloadOptions = {
|
258
263
|
leaseAccessConditions: options.conditions,
|
259
264
|
modifiedAccessConditions: {
|
@@ -261,7 +266,7 @@ export class BlobClient extends StorageClient {
|
|
261
266
|
ifModifiedSince: options.conditions.ifModifiedSince,
|
262
267
|
ifNoneMatch: options.conditions.ifNoneMatch,
|
263
268
|
ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
|
264
|
-
ifTags:
|
269
|
+
ifTags: options.conditions?.tagConditions,
|
265
270
|
},
|
266
271
|
range: rangeToString({
|
267
272
|
count: offset + res.contentLength - start,
|
@@ -278,7 +283,10 @@ export class BlobClient extends StorageClient {
|
|
278
283
|
// updatedOptions.range
|
279
284
|
// }, options: ${JSON.stringify(updatedOptions)}`
|
280
285
|
// );
|
281
|
-
return (await this.blobContext.download(
|
286
|
+
return (await this.blobContext.download({
|
287
|
+
abortSignal: options.abortSignal,
|
288
|
+
...updatedDownloadOptions,
|
289
|
+
})).readableStreamBody;
|
282
290
|
}, offset, res.contentLength, {
|
283
291
|
maxRetryRequests: options.maxRetryRequests,
|
284
292
|
onProgress: options.onProgress,
|
@@ -337,15 +345,22 @@ export class BlobClient extends StorageClient {
|
|
337
345
|
options.conditions = options.conditions || {};
|
338
346
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
339
347
|
return tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
|
340
|
-
var _a;
|
341
348
|
const res = assertResponse(await this.blobContext.getProperties({
|
342
349
|
abortSignal: options.abortSignal,
|
343
350
|
leaseAccessConditions: options.conditions,
|
344
|
-
modifiedAccessConditions:
|
351
|
+
modifiedAccessConditions: {
|
352
|
+
...options.conditions,
|
353
|
+
ifTags: options.conditions?.tagConditions,
|
354
|
+
},
|
345
355
|
cpkInfo: options.customerProvidedKey,
|
346
356
|
tracingOptions: updatedOptions.tracingOptions,
|
347
357
|
}));
|
348
|
-
return
|
358
|
+
return {
|
359
|
+
...res,
|
360
|
+
_response: res._response,
|
361
|
+
objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
|
362
|
+
objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules),
|
363
|
+
};
|
349
364
|
});
|
350
365
|
}
|
351
366
|
/**
|
@@ -360,12 +375,14 @@ export class BlobClient extends StorageClient {
|
|
360
375
|
async delete(options = {}) {
|
361
376
|
options.conditions = options.conditions || {};
|
362
377
|
return tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
|
363
|
-
var _a;
|
364
378
|
return assertResponse(await this.blobContext.delete({
|
365
379
|
abortSignal: options.abortSignal,
|
366
380
|
deleteSnapshots: options.deleteSnapshots,
|
367
381
|
leaseAccessConditions: options.conditions,
|
368
|
-
modifiedAccessConditions:
|
382
|
+
modifiedAccessConditions: {
|
383
|
+
...options.conditions,
|
384
|
+
ifTags: options.conditions?.tagConditions,
|
385
|
+
},
|
369
386
|
tracingOptions: updatedOptions.tracingOptions,
|
370
387
|
}));
|
371
388
|
});
|
@@ -381,14 +398,21 @@ export class BlobClient extends StorageClient {
|
|
381
398
|
*/
|
382
399
|
async deleteIfExists(options = {}) {
|
383
400
|
return tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
|
384
|
-
var _a, _b;
|
385
401
|
try {
|
386
402
|
const res = assertResponse(await this.delete(updatedOptions));
|
387
|
-
return
|
403
|
+
return {
|
404
|
+
succeeded: true,
|
405
|
+
...res,
|
406
|
+
_response: res._response, // _response is made non-enumerable
|
407
|
+
};
|
388
408
|
}
|
389
409
|
catch (e) {
|
390
|
-
if (
|
391
|
-
return
|
410
|
+
if (e.details?.errorCode === "BlobNotFound") {
|
411
|
+
return {
|
412
|
+
succeeded: false,
|
413
|
+
...e.response?.parsedHeaders,
|
414
|
+
_response: e.response,
|
415
|
+
};
|
392
416
|
}
|
393
417
|
throw e;
|
394
418
|
}
|
@@ -429,12 +453,14 @@ export class BlobClient extends StorageClient {
|
|
429
453
|
options.conditions = options.conditions || {};
|
430
454
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
431
455
|
return tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
|
432
|
-
var _a;
|
433
456
|
return assertResponse(await this.blobContext.setHttpHeaders({
|
434
457
|
abortSignal: options.abortSignal,
|
435
458
|
blobHttpHeaders: blobHTTPHeaders,
|
436
459
|
leaseAccessConditions: options.conditions,
|
437
|
-
modifiedAccessConditions:
|
460
|
+
modifiedAccessConditions: {
|
461
|
+
...options.conditions,
|
462
|
+
ifTags: options.conditions?.tagConditions,
|
463
|
+
},
|
438
464
|
// cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
|
439
465
|
tracingOptions: updatedOptions.tracingOptions,
|
440
466
|
}));
|
@@ -455,12 +481,14 @@ export class BlobClient extends StorageClient {
|
|
455
481
|
options.conditions = options.conditions || {};
|
456
482
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
457
483
|
return tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
|
458
|
-
var _a;
|
459
484
|
return assertResponse(await this.blobContext.setMetadata({
|
460
485
|
abortSignal: options.abortSignal,
|
461
486
|
leaseAccessConditions: options.conditions,
|
462
487
|
metadata,
|
463
|
-
modifiedAccessConditions:
|
488
|
+
modifiedAccessConditions: {
|
489
|
+
...options.conditions,
|
490
|
+
ifTags: options.conditions?.tagConditions,
|
491
|
+
},
|
464
492
|
cpkInfo: options.customerProvidedKey,
|
465
493
|
encryptionScope: options.encryptionScope,
|
466
494
|
tracingOptions: updatedOptions.tracingOptions,
|
@@ -478,11 +506,13 @@ export class BlobClient extends StorageClient {
|
|
478
506
|
*/
|
479
507
|
async setTags(tags, options = {}) {
|
480
508
|
return tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
|
481
|
-
var _a;
|
482
509
|
return assertResponse(await this.blobContext.setTags({
|
483
510
|
abortSignal: options.abortSignal,
|
484
511
|
leaseAccessConditions: options.conditions,
|
485
|
-
modifiedAccessConditions:
|
512
|
+
modifiedAccessConditions: {
|
513
|
+
...options.conditions,
|
514
|
+
ifTags: options.conditions?.tagConditions,
|
515
|
+
},
|
486
516
|
tracingOptions: updatedOptions.tracingOptions,
|
487
517
|
tags: toBlobTags(tags),
|
488
518
|
}));
|
@@ -495,14 +525,20 @@ export class BlobClient extends StorageClient {
|
|
495
525
|
*/
|
496
526
|
async getTags(options = {}) {
|
497
527
|
return tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
|
498
|
-
var _a;
|
499
528
|
const response = assertResponse(await this.blobContext.getTags({
|
500
529
|
abortSignal: options.abortSignal,
|
501
530
|
leaseAccessConditions: options.conditions,
|
502
|
-
modifiedAccessConditions:
|
531
|
+
modifiedAccessConditions: {
|
532
|
+
...options.conditions,
|
533
|
+
ifTags: options.conditions?.tagConditions,
|
534
|
+
},
|
503
535
|
tracingOptions: updatedOptions.tracingOptions,
|
504
536
|
}));
|
505
|
-
const wrappedResponse =
|
537
|
+
const wrappedResponse = {
|
538
|
+
...response,
|
539
|
+
_response: response._response,
|
540
|
+
tags: toTags({ blobTagSet: response.blobTagSet }) || {},
|
541
|
+
};
|
506
542
|
return wrappedResponse;
|
507
543
|
});
|
508
544
|
}
|
@@ -525,12 +561,14 @@ export class BlobClient extends StorageClient {
|
|
525
561
|
options.conditions = options.conditions || {};
|
526
562
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
527
563
|
return tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
|
528
|
-
var _a;
|
529
564
|
return assertResponse(await this.blobContext.createSnapshot({
|
530
565
|
abortSignal: options.abortSignal,
|
531
566
|
leaseAccessConditions: options.conditions,
|
532
567
|
metadata: options.metadata,
|
533
|
-
modifiedAccessConditions:
|
568
|
+
modifiedAccessConditions: {
|
569
|
+
...options.conditions,
|
570
|
+
ifTags: options.conditions?.tagConditions,
|
571
|
+
},
|
534
572
|
cpkInfo: options.customerProvidedKey,
|
535
573
|
encryptionScope: options.encryptionScope,
|
536
574
|
tracingOptions: updatedOptions.tracingOptions,
|
@@ -657,24 +695,26 @@ export class BlobClient extends StorageClient {
|
|
657
695
|
options.conditions = options.conditions || {};
|
658
696
|
options.sourceConditions = options.sourceConditions || {};
|
659
697
|
return tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
|
660
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
661
698
|
return assertResponse(await this.blobContext.copyFromURL(copySource, {
|
662
699
|
abortSignal: options.abortSignal,
|
663
700
|
metadata: options.metadata,
|
664
701
|
leaseAccessConditions: options.conditions,
|
665
|
-
modifiedAccessConditions:
|
702
|
+
modifiedAccessConditions: {
|
703
|
+
...options.conditions,
|
704
|
+
ifTags: options.conditions?.tagConditions,
|
705
|
+
},
|
666
706
|
sourceModifiedAccessConditions: {
|
667
|
-
sourceIfMatch:
|
668
|
-
sourceIfModifiedSince:
|
669
|
-
sourceIfNoneMatch:
|
670
|
-
sourceIfUnmodifiedSince:
|
707
|
+
sourceIfMatch: options.sourceConditions?.ifMatch,
|
708
|
+
sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
|
709
|
+
sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
|
710
|
+
sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
|
671
711
|
},
|
672
712
|
sourceContentMD5: options.sourceContentMD5,
|
673
713
|
copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
|
674
714
|
tier: toAccessTier(options.tier),
|
675
715
|
blobTagsString: toBlobTagsString(options.tags),
|
676
|
-
immutabilityPolicyExpiry:
|
677
|
-
immutabilityPolicyMode:
|
716
|
+
immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
|
717
|
+
immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
|
678
718
|
legalHold: options.legalHold,
|
679
719
|
encryptionScope: options.encryptionScope,
|
680
720
|
copySourceTags: options.copySourceTags,
|
@@ -695,18 +735,19 @@ export class BlobClient extends StorageClient {
|
|
695
735
|
*/
|
696
736
|
async setAccessTier(tier, options = {}) {
|
697
737
|
return tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
|
698
|
-
var _a;
|
699
738
|
return assertResponse(await this.blobContext.setTier(toAccessTier(tier), {
|
700
739
|
abortSignal: options.abortSignal,
|
701
740
|
leaseAccessConditions: options.conditions,
|
702
|
-
modifiedAccessConditions:
|
741
|
+
modifiedAccessConditions: {
|
742
|
+
...options.conditions,
|
743
|
+
ifTags: options.conditions?.tagConditions,
|
744
|
+
},
|
703
745
|
rehydratePriority: options.rehydratePriority,
|
704
746
|
tracingOptions: updatedOptions.tracingOptions,
|
705
747
|
}));
|
706
748
|
});
|
707
749
|
}
|
708
750
|
async downloadToBuffer(param1, param2, param3, param4 = {}) {
|
709
|
-
var _a;
|
710
751
|
let buffer;
|
711
752
|
let offset = 0;
|
712
753
|
let count = 0;
|
@@ -721,7 +762,7 @@ export class BlobClient extends StorageClient {
|
|
721
762
|
count = typeof param2 === "number" ? param2 : 0;
|
722
763
|
options = param3 || {};
|
723
764
|
}
|
724
|
-
let blockSize =
|
765
|
+
let blockSize = options.blockSize ?? 0;
|
725
766
|
if (blockSize < 0) {
|
726
767
|
throw new RangeError("blockSize option must be >= 0");
|
727
768
|
}
|
@@ -740,7 +781,10 @@ export class BlobClient extends StorageClient {
|
|
740
781
|
return tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
|
741
782
|
// Customer doesn't specify length, get it
|
742
783
|
if (!count) {
|
743
|
-
const response = await this.getProperties(
|
784
|
+
const response = await this.getProperties({
|
785
|
+
...options,
|
786
|
+
tracingOptions: updatedOptions.tracingOptions,
|
787
|
+
});
|
744
788
|
count = response.contentLength - offset;
|
745
789
|
if (count < 0) {
|
746
790
|
throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
|
@@ -807,7 +851,10 @@ export class BlobClient extends StorageClient {
|
|
807
851
|
*/
|
808
852
|
async downloadToFile(filePath, offset = 0, count, options = {}) {
|
809
853
|
return tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
|
810
|
-
const response = await this.download(offset, count,
|
854
|
+
const response = await this.download(offset, count, {
|
855
|
+
...options,
|
856
|
+
tracingOptions: updatedOptions.tracingOptions,
|
857
|
+
});
|
811
858
|
if (response.readableStreamBody) {
|
812
859
|
await readStreamToLocalFile(response.readableStreamBody, filePath);
|
813
860
|
}
|
@@ -880,14 +927,16 @@ export class BlobClient extends StorageClient {
|
|
880
927
|
*/
|
881
928
|
async startCopyFromURL(copySource, options = {}) {
|
882
929
|
return tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
|
883
|
-
var _a, _b, _c;
|
884
930
|
options.conditions = options.conditions || {};
|
885
931
|
options.sourceConditions = options.sourceConditions || {};
|
886
932
|
return assertResponse(await this.blobContext.startCopyFromURL(copySource, {
|
887
933
|
abortSignal: options.abortSignal,
|
888
934
|
leaseAccessConditions: options.conditions,
|
889
935
|
metadata: options.metadata,
|
890
|
-
modifiedAccessConditions:
|
936
|
+
modifiedAccessConditions: {
|
937
|
+
...options.conditions,
|
938
|
+
ifTags: options.conditions?.tagConditions,
|
939
|
+
},
|
891
940
|
sourceModifiedAccessConditions: {
|
892
941
|
sourceIfMatch: options.sourceConditions.ifMatch,
|
893
942
|
sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
|
@@ -895,8 +944,8 @@ export class BlobClient extends StorageClient {
|
|
895
944
|
sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
|
896
945
|
sourceIfTags: options.sourceConditions.tagConditions,
|
897
946
|
},
|
898
|
-
immutabilityPolicyExpiry:
|
899
|
-
immutabilityPolicyMode:
|
947
|
+
immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
|
948
|
+
immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
|
900
949
|
legalHold: options.legalHold,
|
901
950
|
rehydratePriority: options.rehydratePriority,
|
902
951
|
tier: toAccessTier(options.tier),
|
@@ -922,7 +971,13 @@ export class BlobClient extends StorageClient {
|
|
922
971
|
if (!(this.credential instanceof StorageSharedKeyCredential)) {
|
923
972
|
throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
|
924
973
|
}
|
925
|
-
const sas = generateBlobSASQueryParameters(
|
974
|
+
const sas = generateBlobSASQueryParameters({
|
975
|
+
containerName: this._containerName,
|
976
|
+
blobName: this._name,
|
977
|
+
snapshotTime: this._snapshot,
|
978
|
+
versionId: this._versionId,
|
979
|
+
...options,
|
980
|
+
}, this.credential).toString();
|
926
981
|
resolve(appendToURLQuery(this.url, sas));
|
927
982
|
});
|
928
983
|
}
|
@@ -1065,17 +1120,19 @@ export class AppendBlobClient extends BlobClient {
|
|
1065
1120
|
options.conditions = options.conditions || {};
|
1066
1121
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1067
1122
|
return tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
|
1068
|
-
var _a, _b, _c;
|
1069
1123
|
return assertResponse(await this.appendBlobContext.create(0, {
|
1070
1124
|
abortSignal: options.abortSignal,
|
1071
1125
|
blobHttpHeaders: options.blobHTTPHeaders,
|
1072
1126
|
leaseAccessConditions: options.conditions,
|
1073
1127
|
metadata: options.metadata,
|
1074
|
-
modifiedAccessConditions:
|
1128
|
+
modifiedAccessConditions: {
|
1129
|
+
...options.conditions,
|
1130
|
+
ifTags: options.conditions?.tagConditions,
|
1131
|
+
},
|
1075
1132
|
cpkInfo: options.customerProvidedKey,
|
1076
1133
|
encryptionScope: options.encryptionScope,
|
1077
|
-
immutabilityPolicyExpiry:
|
1078
|
-
immutabilityPolicyMode:
|
1134
|
+
immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
|
1135
|
+
immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
|
1079
1136
|
legalHold: options.legalHold,
|
1080
1137
|
blobTagsString: toBlobTagsString(options.tags),
|
1081
1138
|
tracingOptions: updatedOptions.tracingOptions,
|
@@ -1092,14 +1149,24 @@ export class AppendBlobClient extends BlobClient {
|
|
1092
1149
|
async createIfNotExists(options = {}) {
|
1093
1150
|
const conditions = { ifNoneMatch: ETagAny };
|
1094
1151
|
return tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
|
1095
|
-
var _a, _b;
|
1096
1152
|
try {
|
1097
|
-
const res = assertResponse(await this.create(
|
1098
|
-
|
1153
|
+
const res = assertResponse(await this.create({
|
1154
|
+
...updatedOptions,
|
1155
|
+
conditions,
|
1156
|
+
}));
|
1157
|
+
return {
|
1158
|
+
succeeded: true,
|
1159
|
+
...res,
|
1160
|
+
_response: res._response, // _response is made non-enumerable
|
1161
|
+
};
|
1099
1162
|
}
|
1100
1163
|
catch (e) {
|
1101
|
-
if (
|
1102
|
-
return
|
1164
|
+
if (e.details?.errorCode === "BlobAlreadyExists") {
|
1165
|
+
return {
|
1166
|
+
succeeded: false,
|
1167
|
+
...e.response?.parsedHeaders,
|
1168
|
+
_response: e.response,
|
1169
|
+
};
|
1103
1170
|
}
|
1104
1171
|
throw e;
|
1105
1172
|
}
|
@@ -1113,12 +1180,14 @@ export class AppendBlobClient extends BlobClient {
|
|
1113
1180
|
async seal(options = {}) {
|
1114
1181
|
options.conditions = options.conditions || {};
|
1115
1182
|
return tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
|
1116
|
-
var _a;
|
1117
1183
|
return assertResponse(await this.appendBlobContext.seal({
|
1118
1184
|
abortSignal: options.abortSignal,
|
1119
1185
|
appendPositionAccessConditions: options.conditions,
|
1120
1186
|
leaseAccessConditions: options.conditions,
|
1121
|
-
modifiedAccessConditions:
|
1187
|
+
modifiedAccessConditions: {
|
1188
|
+
...options.conditions,
|
1189
|
+
ifTags: options.conditions?.tagConditions,
|
1190
|
+
},
|
1122
1191
|
tracingOptions: updatedOptions.tracingOptions,
|
1123
1192
|
}));
|
1124
1193
|
});
|
@@ -1151,12 +1220,14 @@ export class AppendBlobClient extends BlobClient {
|
|
1151
1220
|
options.conditions = options.conditions || {};
|
1152
1221
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1153
1222
|
return tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
|
1154
|
-
var _a;
|
1155
1223
|
return assertResponse(await this.appendBlobContext.appendBlock(contentLength, body, {
|
1156
1224
|
abortSignal: options.abortSignal,
|
1157
1225
|
appendPositionAccessConditions: options.conditions,
|
1158
1226
|
leaseAccessConditions: options.conditions,
|
1159
|
-
modifiedAccessConditions:
|
1227
|
+
modifiedAccessConditions: {
|
1228
|
+
...options.conditions,
|
1229
|
+
ifTags: options.conditions?.tagConditions,
|
1230
|
+
},
|
1160
1231
|
requestOptions: {
|
1161
1232
|
onUploadProgress: options.onProgress,
|
1162
1233
|
},
|
@@ -1187,7 +1258,6 @@ export class AppendBlobClient extends BlobClient {
|
|
1187
1258
|
options.sourceConditions = options.sourceConditions || {};
|
1188
1259
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1189
1260
|
return tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
|
1190
|
-
var _a, _b, _c, _d, _e;
|
1191
1261
|
return assertResponse(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
|
1192
1262
|
abortSignal: options.abortSignal,
|
1193
1263
|
sourceRange: rangeToString({ offset: sourceOffset, count }),
|
@@ -1195,12 +1265,15 @@ export class AppendBlobClient extends BlobClient {
|
|
1195
1265
|
sourceContentCrc64: options.sourceContentCrc64,
|
1196
1266
|
leaseAccessConditions: options.conditions,
|
1197
1267
|
appendPositionAccessConditions: options.conditions,
|
1198
|
-
modifiedAccessConditions:
|
1268
|
+
modifiedAccessConditions: {
|
1269
|
+
...options.conditions,
|
1270
|
+
ifTags: options.conditions?.tagConditions,
|
1271
|
+
},
|
1199
1272
|
sourceModifiedAccessConditions: {
|
1200
|
-
sourceIfMatch:
|
1201
|
-
sourceIfModifiedSince:
|
1202
|
-
sourceIfNoneMatch:
|
1203
|
-
sourceIfUnmodifiedSince:
|
1273
|
+
sourceIfMatch: options.sourceConditions?.ifMatch,
|
1274
|
+
sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
|
1275
|
+
sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
|
1276
|
+
sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
|
1204
1277
|
},
|
1205
1278
|
copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
|
1206
1279
|
cpkInfo: options.customerProvidedKey,
|
@@ -1332,7 +1405,6 @@ export class BlockBlobClient extends BlobClient {
|
|
1332
1405
|
throw new Error("This operation currently is only supported in Node.js.");
|
1333
1406
|
}
|
1334
1407
|
return tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
|
1335
|
-
var _a;
|
1336
1408
|
const response = assertResponse(await this._blobContext.query({
|
1337
1409
|
abortSignal: options.abortSignal,
|
1338
1410
|
queryRequest: {
|
@@ -1342,7 +1414,10 @@ export class BlockBlobClient extends BlobClient {
|
|
1342
1414
|
outputSerialization: toQuerySerialization(options.outputTextConfiguration),
|
1343
1415
|
},
|
1344
1416
|
leaseAccessConditions: options.conditions,
|
1345
|
-
modifiedAccessConditions:
|
1417
|
+
modifiedAccessConditions: {
|
1418
|
+
...options.conditions,
|
1419
|
+
ifTags: options.conditions?.tagConditions,
|
1420
|
+
},
|
1346
1421
|
cpkInfo: options.customerProvidedKey,
|
1347
1422
|
tracingOptions: updatedOptions.tracingOptions,
|
1348
1423
|
}));
|
@@ -1384,20 +1459,22 @@ export class BlockBlobClient extends BlobClient {
|
|
1384
1459
|
options.conditions = options.conditions || {};
|
1385
1460
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1386
1461
|
return tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
|
1387
|
-
var _a, _b, _c;
|
1388
1462
|
return assertResponse(await this.blockBlobContext.upload(contentLength, body, {
|
1389
1463
|
abortSignal: options.abortSignal,
|
1390
1464
|
blobHttpHeaders: options.blobHTTPHeaders,
|
1391
1465
|
leaseAccessConditions: options.conditions,
|
1392
1466
|
metadata: options.metadata,
|
1393
|
-
modifiedAccessConditions:
|
1467
|
+
modifiedAccessConditions: {
|
1468
|
+
...options.conditions,
|
1469
|
+
ifTags: options.conditions?.tagConditions,
|
1470
|
+
},
|
1394
1471
|
requestOptions: {
|
1395
1472
|
onUploadProgress: options.onProgress,
|
1396
1473
|
},
|
1397
1474
|
cpkInfo: options.customerProvidedKey,
|
1398
1475
|
encryptionScope: options.encryptionScope,
|
1399
|
-
immutabilityPolicyExpiry:
|
1400
|
-
immutabilityPolicyMode:
|
1476
|
+
immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
|
1477
|
+
immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
|
1401
1478
|
legalHold: options.legalHold,
|
1402
1479
|
tier: toAccessTier(options.tier),
|
1403
1480
|
blobTagsString: toBlobTagsString(options.tags),
|
@@ -1427,14 +1504,28 @@ export class BlockBlobClient extends BlobClient {
|
|
1427
1504
|
options.conditions = options.conditions || {};
|
1428
1505
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1429
1506
|
return tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
|
1430
|
-
|
1431
|
-
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1437
|
-
},
|
1507
|
+
return assertResponse(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
|
1508
|
+
...options,
|
1509
|
+
blobHttpHeaders: options.blobHTTPHeaders,
|
1510
|
+
leaseAccessConditions: options.conditions,
|
1511
|
+
modifiedAccessConditions: {
|
1512
|
+
...options.conditions,
|
1513
|
+
ifTags: options.conditions?.tagConditions,
|
1514
|
+
},
|
1515
|
+
sourceModifiedAccessConditions: {
|
1516
|
+
sourceIfMatch: options.sourceConditions?.ifMatch,
|
1517
|
+
sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
|
1518
|
+
sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
|
1519
|
+
sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
|
1520
|
+
sourceIfTags: options.sourceConditions?.tagConditions,
|
1521
|
+
},
|
1522
|
+
cpkInfo: options.customerProvidedKey,
|
1523
|
+
copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
|
1524
|
+
tier: toAccessTier(options.tier),
|
1525
|
+
blobTagsString: toBlobTagsString(options.tags),
|
1526
|
+
copySourceTags: options.copySourceTags,
|
1527
|
+
tracingOptions: updatedOptions.tracingOptions,
|
1528
|
+
}));
|
1438
1529
|
});
|
1439
1530
|
}
|
1440
1531
|
/**
|
@@ -1518,17 +1609,19 @@ export class BlockBlobClient extends BlobClient {
|
|
1518
1609
|
options.conditions = options.conditions || {};
|
1519
1610
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1520
1611
|
return tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
|
1521
|
-
var _a, _b, _c;
|
1522
1612
|
return assertResponse(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
|
1523
1613
|
abortSignal: options.abortSignal,
|
1524
1614
|
blobHttpHeaders: options.blobHTTPHeaders,
|
1525
1615
|
leaseAccessConditions: options.conditions,
|
1526
1616
|
metadata: options.metadata,
|
1527
|
-
modifiedAccessConditions:
|
1617
|
+
modifiedAccessConditions: {
|
1618
|
+
...options.conditions,
|
1619
|
+
ifTags: options.conditions?.tagConditions,
|
1620
|
+
},
|
1528
1621
|
cpkInfo: options.customerProvidedKey,
|
1529
1622
|
encryptionScope: options.encryptionScope,
|
1530
|
-
immutabilityPolicyExpiry:
|
1531
|
-
immutabilityPolicyMode:
|
1623
|
+
immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
|
1624
|
+
immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
|
1532
1625
|
legalHold: options.legalHold,
|
1533
1626
|
tier: toAccessTier(options.tier),
|
1534
1627
|
blobTagsString: toBlobTagsString(options.tags),
|
@@ -1548,11 +1641,13 @@ export class BlockBlobClient extends BlobClient {
|
|
1548
1641
|
*/
|
1549
1642
|
async getBlockList(listType, options = {}) {
|
1550
1643
|
return tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
|
1551
|
-
var _a;
|
1552
1644
|
const res = assertResponse(await this.blockBlobContext.getBlockList(listType, {
|
1553
1645
|
abortSignal: options.abortSignal,
|
1554
1646
|
leaseAccessConditions: options.conditions,
|
1555
|
-
modifiedAccessConditions:
|
1647
|
+
modifiedAccessConditions: {
|
1648
|
+
...options.conditions,
|
1649
|
+
ifTags: options.conditions?.tagConditions,
|
1650
|
+
},
|
1556
1651
|
tracingOptions: updatedOptions.tracingOptions,
|
1557
1652
|
}));
|
1558
1653
|
if (!res.committedBlocks) {
|
@@ -1643,12 +1738,11 @@ export class BlockBlobClient extends BlobClient {
|
|
1643
1738
|
* @returns Response data for the Blob Upload operation.
|
1644
1739
|
*/
|
1645
1740
|
async uploadSeekableInternal(bodyFactory, size, options = {}) {
|
1646
|
-
|
1647
|
-
let blockSize = (_a = options.blockSize) !== null && _a !== void 0 ? _a : 0;
|
1741
|
+
let blockSize = options.blockSize ?? 0;
|
1648
1742
|
if (blockSize < 0 || blockSize > BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
|
1649
1743
|
throw new RangeError(`blockSize option must be >= 0 and <= ${BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
|
1650
1744
|
}
|
1651
|
-
const maxSingleShotSize =
|
1745
|
+
const maxSingleShotSize = options.maxSingleShotSize ?? BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
|
1652
1746
|
if (maxSingleShotSize < 0 || maxSingleShotSize > BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
|
1653
1747
|
throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
|
1654
1748
|
}
|
@@ -1731,7 +1825,10 @@ export class BlockBlobClient extends BlobClient {
|
|
1731
1825
|
end: count ? offset + count - 1 : Infinity,
|
1732
1826
|
start: offset,
|
1733
1827
|
});
|
1734
|
-
}, size,
|
1828
|
+
}, size, {
|
1829
|
+
...options,
|
1830
|
+
tracingOptions: updatedOptions.tracingOptions,
|
1831
|
+
});
|
1735
1832
|
});
|
1736
1833
|
}
|
1737
1834
|
/**
|
@@ -1783,7 +1880,10 @@ export class BlockBlobClient extends BlobClient {
|
|
1783
1880
|
// Outgoing queue shouldn't be empty.
|
1784
1881
|
Math.ceil((maxConcurrency / 4) * 3));
|
1785
1882
|
await scheduler.do();
|
1786
|
-
return assertResponse(await this.commitBlockList(blockList,
|
1883
|
+
return assertResponse(await this.commitBlockList(blockList, {
|
1884
|
+
...options,
|
1885
|
+
tracingOptions: updatedOptions.tracingOptions,
|
1886
|
+
}));
|
1787
1887
|
});
|
1788
1888
|
}
|
1789
1889
|
}
|
@@ -1882,18 +1982,20 @@ export class PageBlobClient extends BlobClient {
|
|
1882
1982
|
options.conditions = options.conditions || {};
|
1883
1983
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1884
1984
|
return tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
|
1885
|
-
var _a, _b, _c;
|
1886
1985
|
return assertResponse(await this.pageBlobContext.create(0, size, {
|
1887
1986
|
abortSignal: options.abortSignal,
|
1888
1987
|
blobHttpHeaders: options.blobHTTPHeaders,
|
1889
1988
|
blobSequenceNumber: options.blobSequenceNumber,
|
1890
1989
|
leaseAccessConditions: options.conditions,
|
1891
1990
|
metadata: options.metadata,
|
1892
|
-
modifiedAccessConditions:
|
1991
|
+
modifiedAccessConditions: {
|
1992
|
+
...options.conditions,
|
1993
|
+
ifTags: options.conditions?.tagConditions,
|
1994
|
+
},
|
1893
1995
|
cpkInfo: options.customerProvidedKey,
|
1894
1996
|
encryptionScope: options.encryptionScope,
|
1895
|
-
immutabilityPolicyExpiry:
|
1896
|
-
immutabilityPolicyMode:
|
1997
|
+
immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
|
1998
|
+
immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
|
1897
1999
|
legalHold: options.legalHold,
|
1898
2000
|
tier: toAccessTier(options.tier),
|
1899
2001
|
blobTagsString: toBlobTagsString(options.tags),
|
@@ -1912,15 +2014,26 @@ export class PageBlobClient extends BlobClient {
|
|
1912
2014
|
*/
|
1913
2015
|
async createIfNotExists(size, options = {}) {
|
1914
2016
|
return tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
|
1915
|
-
var _a, _b;
|
1916
2017
|
try {
|
1917
2018
|
const conditions = { ifNoneMatch: ETagAny };
|
1918
|
-
const res = assertResponse(await this.create(size,
|
1919
|
-
|
2019
|
+
const res = assertResponse(await this.create(size, {
|
2020
|
+
...options,
|
2021
|
+
conditions,
|
2022
|
+
tracingOptions: updatedOptions.tracingOptions,
|
2023
|
+
}));
|
2024
|
+
return {
|
2025
|
+
succeeded: true,
|
2026
|
+
...res,
|
2027
|
+
_response: res._response, // _response is made non-enumerable
|
2028
|
+
};
|
1920
2029
|
}
|
1921
2030
|
catch (e) {
|
1922
|
-
if (
|
1923
|
-
return
|
2031
|
+
if (e.details?.errorCode === "BlobAlreadyExists") {
|
2032
|
+
return {
|
2033
|
+
succeeded: false,
|
2034
|
+
...e.response?.parsedHeaders,
|
2035
|
+
_response: e.response,
|
2036
|
+
};
|
1924
2037
|
}
|
1925
2038
|
throw e;
|
1926
2039
|
}
|
@@ -1940,11 +2053,13 @@ export class PageBlobClient extends BlobClient {
|
|
1940
2053
|
options.conditions = options.conditions || {};
|
1941
2054
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1942
2055
|
return tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
|
1943
|
-
var _a;
|
1944
2056
|
return assertResponse(await this.pageBlobContext.uploadPages(count, body, {
|
1945
2057
|
abortSignal: options.abortSignal,
|
1946
2058
|
leaseAccessConditions: options.conditions,
|
1947
|
-
modifiedAccessConditions:
|
2059
|
+
modifiedAccessConditions: {
|
2060
|
+
...options.conditions,
|
2061
|
+
ifTags: options.conditions?.tagConditions,
|
2062
|
+
},
|
1948
2063
|
requestOptions: {
|
1949
2064
|
onUploadProgress: options.onProgress,
|
1950
2065
|
},
|
@@ -1974,19 +2089,21 @@ export class PageBlobClient extends BlobClient {
|
|
1974
2089
|
options.sourceConditions = options.sourceConditions || {};
|
1975
2090
|
ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
|
1976
2091
|
return tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
|
1977
|
-
var _a, _b, _c, _d, _e;
|
1978
2092
|
return assertResponse(await this.pageBlobContext.uploadPagesFromURL(sourceURL, rangeToString({ offset: sourceOffset, count }), 0, rangeToString({ offset: destOffset, count }), {
|
1979
2093
|
abortSignal: options.abortSignal,
|
1980
2094
|
sourceContentMD5: options.sourceContentMD5,
|
1981
2095
|
sourceContentCrc64: options.sourceContentCrc64,
|
1982
2096
|
leaseAccessConditions: options.conditions,
|
1983
2097
|
sequenceNumberAccessConditions: options.conditions,
|
1984
|
-
modifiedAccessConditions:
|
2098
|
+
modifiedAccessConditions: {
|
2099
|
+
...options.conditions,
|
2100
|
+
ifTags: options.conditions?.tagConditions,
|
2101
|
+
},
|
1985
2102
|
sourceModifiedAccessConditions: {
|
1986
|
-
sourceIfMatch:
|
1987
|
-
sourceIfModifiedSince:
|
1988
|
-
sourceIfNoneMatch:
|
1989
|
-
sourceIfUnmodifiedSince:
|
2103
|
+
sourceIfMatch: options.sourceConditions?.ifMatch,
|
2104
|
+
sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
|
2105
|
+
sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
|
2106
|
+
sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
|
1990
2107
|
},
|
1991
2108
|
cpkInfo: options.customerProvidedKey,
|
1992
2109
|
encryptionScope: options.encryptionScope,
|
@@ -2007,11 +2124,13 @@ export class PageBlobClient extends BlobClient {
|
|
2007
2124
|
async clearPages(offset = 0, count, options = {}) {
|
2008
2125
|
options.conditions = options.conditions || {};
|
2009
2126
|
return tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
|
2010
|
-
var _a;
|
2011
2127
|
return assertResponse(await this.pageBlobContext.clearPages(0, {
|
2012
2128
|
abortSignal: options.abortSignal,
|
2013
2129
|
leaseAccessConditions: options.conditions,
|
2014
|
-
modifiedAccessConditions:
|
2130
|
+
modifiedAccessConditions: {
|
2131
|
+
...options.conditions,
|
2132
|
+
ifTags: options.conditions?.tagConditions,
|
2133
|
+
},
|
2015
2134
|
range: rangeToString({ offset, count }),
|
2016
2135
|
sequenceNumberAccessConditions: options.conditions,
|
2017
2136
|
cpkInfo: options.customerProvidedKey,
|
@@ -2032,11 +2151,13 @@ export class PageBlobClient extends BlobClient {
|
|
2032
2151
|
async getPageRanges(offset = 0, count, options = {}) {
|
2033
2152
|
options.conditions = options.conditions || {};
|
2034
2153
|
return tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
|
2035
|
-
var _a;
|
2036
2154
|
const response = assertResponse(await this.pageBlobContext.getPageRanges({
|
2037
2155
|
abortSignal: options.abortSignal,
|
2038
2156
|
leaseAccessConditions: options.conditions,
|
2039
|
-
modifiedAccessConditions:
|
2157
|
+
modifiedAccessConditions: {
|
2158
|
+
...options.conditions,
|
2159
|
+
ifTags: options.conditions?.tagConditions,
|
2160
|
+
},
|
2040
2161
|
range: rangeToString({ offset, count }),
|
2041
2162
|
tracingOptions: updatedOptions.tracingOptions,
|
2042
2163
|
}));
|
@@ -2057,11 +2178,13 @@ export class PageBlobClient extends BlobClient {
|
|
2057
2178
|
*/
|
2058
2179
|
async listPageRangesSegment(offset = 0, count, marker, options = {}) {
|
2059
2180
|
return tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
|
2060
|
-
var _a;
|
2061
2181
|
return assertResponse(await this.pageBlobContext.getPageRanges({
|
2062
2182
|
abortSignal: options.abortSignal,
|
2063
2183
|
leaseAccessConditions: options.conditions,
|
2064
|
-
modifiedAccessConditions:
|
2184
|
+
modifiedAccessConditions: {
|
2185
|
+
...options.conditions,
|
2186
|
+
ifTags: options.conditions?.tagConditions,
|
2187
|
+
},
|
2065
2188
|
range: rangeToString({ offset, count }),
|
2066
2189
|
marker: marker,
|
2067
2190
|
maxPageSize: options.maxPageSize,
|
@@ -2083,17 +2206,15 @@ export class PageBlobClient extends BlobClient {
|
|
2083
2206
|
* items. The marker value is opaque to the client.
|
2084
2207
|
* @param options - Options to List Page Ranges operation.
|
2085
2208
|
*/
|
2086
|
-
listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
|
2087
|
-
|
2088
|
-
|
2089
|
-
|
2090
|
-
|
2091
|
-
|
2092
|
-
|
2093
|
-
|
2094
|
-
|
2095
|
-
}
|
2096
|
-
});
|
2209
|
+
async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
|
2210
|
+
let getPageRangeItemSegmentsResponse;
|
2211
|
+
if (!!marker || marker === undefined) {
|
2212
|
+
do {
|
2213
|
+
getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
|
2214
|
+
marker = getPageRangeItemSegmentsResponse.continuationToken;
|
2215
|
+
yield await getPageRangeItemSegmentsResponse;
|
2216
|
+
} while (marker);
|
2217
|
+
}
|
2097
2218
|
}
|
2098
2219
|
/**
|
2099
2220
|
* Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
|
@@ -2102,26 +2223,11 @@ export class PageBlobClient extends BlobClient {
|
|
2102
2223
|
* @param count - Number of bytes to get.
|
2103
2224
|
* @param options - Options to List Page Ranges operation.
|
2104
2225
|
*/
|
2105
|
-
listPageRangeItems(offset = 0, count, options = {}) {
|
2106
|
-
|
2107
|
-
|
2108
|
-
|
2109
|
-
|
2110
|
-
for (var _d = true, _e = __asyncValues(this.listPageRangeItemSegments(offset, count, marker, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
2111
|
-
_c = _f.value;
|
2112
|
-
_d = false;
|
2113
|
-
const getPageRangesSegment = _c;
|
2114
|
-
yield __await(yield* __asyncDelegator(__asyncValues(ExtractPageRangeInfoItems(getPageRangesSegment))));
|
2115
|
-
}
|
2116
|
-
}
|
2117
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
2118
|
-
finally {
|
2119
|
-
try {
|
2120
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
2121
|
-
}
|
2122
|
-
finally { if (e_1) throw e_1.error; }
|
2123
|
-
}
|
2124
|
-
});
|
2226
|
+
async *listPageRangeItems(offset = 0, count, options = {}) {
|
2227
|
+
let marker;
|
2228
|
+
for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
|
2229
|
+
yield* ExtractPageRangeInfoItems(getPageRangesSegment);
|
2230
|
+
}
|
2125
2231
|
}
|
2126
2232
|
/**
|
2127
2233
|
* Returns an async iterable iterator to list of page ranges for a page blob.
|
@@ -2215,7 +2321,10 @@ export class PageBlobClient extends BlobClient {
|
|
2215
2321
|
* Return an AsyncIterableIterator that works a page at a time
|
2216
2322
|
*/
|
2217
2323
|
byPage: (settings = {}) => {
|
2218
|
-
return this.listPageRangeItemSegments(offset, count, settings.continuationToken,
|
2324
|
+
return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
|
2325
|
+
maxPageSize: settings.maxPageSize,
|
2326
|
+
...options,
|
2327
|
+
});
|
2219
2328
|
},
|
2220
2329
|
};
|
2221
2330
|
}
|
@@ -2232,11 +2341,13 @@ export class PageBlobClient extends BlobClient {
|
|
2232
2341
|
async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
|
2233
2342
|
options.conditions = options.conditions || {};
|
2234
2343
|
return tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
|
2235
|
-
var _a;
|
2236
2344
|
const result = assertResponse(await this.pageBlobContext.getPageRangesDiff({
|
2237
2345
|
abortSignal: options.abortSignal,
|
2238
2346
|
leaseAccessConditions: options.conditions,
|
2239
|
-
modifiedAccessConditions:
|
2347
|
+
modifiedAccessConditions: {
|
2348
|
+
...options.conditions,
|
2349
|
+
ifTags: options.conditions?.tagConditions,
|
2350
|
+
},
|
2240
2351
|
prevsnapshot: prevSnapshot,
|
2241
2352
|
range: rangeToString({ offset, count }),
|
2242
2353
|
tracingOptions: updatedOptions.tracingOptions,
|
@@ -2260,18 +2371,20 @@ export class PageBlobClient extends BlobClient {
|
|
2260
2371
|
*/
|
2261
2372
|
async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
|
2262
2373
|
return tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
|
2263
|
-
var _a;
|
2264
2374
|
return assertResponse(await this.pageBlobContext.getPageRangesDiff({
|
2265
|
-
abortSignal: options
|
2266
|
-
leaseAccessConditions: options
|
2267
|
-
modifiedAccessConditions:
|
2375
|
+
abortSignal: options?.abortSignal,
|
2376
|
+
leaseAccessConditions: options?.conditions,
|
2377
|
+
modifiedAccessConditions: {
|
2378
|
+
...options?.conditions,
|
2379
|
+
ifTags: options?.conditions?.tagConditions,
|
2380
|
+
},
|
2268
2381
|
prevsnapshot: prevSnapshotOrUrl,
|
2269
2382
|
range: rangeToString({
|
2270
2383
|
offset: offset,
|
2271
2384
|
count: count,
|
2272
2385
|
}),
|
2273
2386
|
marker: marker,
|
2274
|
-
maxPageSize: options
|
2387
|
+
maxPageSize: options?.maxPageSize,
|
2275
2388
|
tracingOptions: updatedOptions.tracingOptions,
|
2276
2389
|
}));
|
2277
2390
|
});
|
@@ -2292,17 +2405,15 @@ export class PageBlobClient extends BlobClient {
|
|
2292
2405
|
* items. The marker value is opaque to the client.
|
2293
2406
|
* @param options - Options to the Page Blob Get Page Ranges Diff operation.
|
2294
2407
|
*/
|
2295
|
-
listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
|
2296
|
-
|
2297
|
-
|
2298
|
-
|
2299
|
-
|
2300
|
-
|
2301
|
-
|
2302
|
-
|
2303
|
-
|
2304
|
-
}
|
2305
|
-
});
|
2408
|
+
async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
|
2409
|
+
let getPageRangeItemSegmentsResponse;
|
2410
|
+
if (!!marker || marker === undefined) {
|
2411
|
+
do {
|
2412
|
+
getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
|
2413
|
+
marker = getPageRangeItemSegmentsResponse.continuationToken;
|
2414
|
+
yield await getPageRangeItemSegmentsResponse;
|
2415
|
+
} while (marker);
|
2416
|
+
}
|
2306
2417
|
}
|
2307
2418
|
/**
|
2308
2419
|
* Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
|
@@ -2312,26 +2423,11 @@ export class PageBlobClient extends BlobClient {
|
|
2312
2423
|
* @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
|
2313
2424
|
* @param options - Options to the Page Blob Get Page Ranges Diff operation.
|
2314
2425
|
*/
|
2315
|
-
listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
|
2316
|
-
|
2317
|
-
|
2318
|
-
|
2319
|
-
|
2320
|
-
for (var _d = true, _e = __asyncValues(this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
2321
|
-
_c = _f.value;
|
2322
|
-
_d = false;
|
2323
|
-
const getPageRangesSegment = _c;
|
2324
|
-
yield __await(yield* __asyncDelegator(__asyncValues(ExtractPageRangeInfoItems(getPageRangesSegment))));
|
2325
|
-
}
|
2326
|
-
}
|
2327
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
2328
|
-
finally {
|
2329
|
-
try {
|
2330
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
2331
|
-
}
|
2332
|
-
finally { if (e_2) throw e_2.error; }
|
2333
|
-
}
|
2334
|
-
});
|
2426
|
+
async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
|
2427
|
+
let marker;
|
2428
|
+
for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
|
2429
|
+
yield* ExtractPageRangeInfoItems(getPageRangesSegment);
|
2430
|
+
}
|
2335
2431
|
}
|
2336
2432
|
/**
|
2337
2433
|
* Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
|
@@ -2408,7 +2504,9 @@ export class PageBlobClient extends BlobClient {
|
|
2408
2504
|
listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
|
2409
2505
|
options.conditions = options.conditions || {};
|
2410
2506
|
// AsyncIterableIterator to iterate over blobs
|
2411
|
-
const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot,
|
2507
|
+
const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
|
2508
|
+
...options,
|
2509
|
+
});
|
2412
2510
|
return {
|
2413
2511
|
/**
|
2414
2512
|
* The next method, part of the iteration protocol
|
@@ -2426,7 +2524,10 @@ export class PageBlobClient extends BlobClient {
|
|
2426
2524
|
* Return an AsyncIterableIterator that works a page at a time
|
2427
2525
|
*/
|
2428
2526
|
byPage: (settings = {}) => {
|
2429
|
-
return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken,
|
2527
|
+
return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
|
2528
|
+
maxPageSize: settings.maxPageSize,
|
2529
|
+
...options,
|
2530
|
+
});
|
2430
2531
|
},
|
2431
2532
|
};
|
2432
2533
|
}
|
@@ -2443,11 +2544,13 @@ export class PageBlobClient extends BlobClient {
|
|
2443
2544
|
async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
|
2444
2545
|
options.conditions = options.conditions || {};
|
2445
2546
|
return tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
|
2446
|
-
var _a;
|
2447
2547
|
const response = assertResponse(await this.pageBlobContext.getPageRangesDiff({
|
2448
2548
|
abortSignal: options.abortSignal,
|
2449
2549
|
leaseAccessConditions: options.conditions,
|
2450
|
-
modifiedAccessConditions:
|
2550
|
+
modifiedAccessConditions: {
|
2551
|
+
...options.conditions,
|
2552
|
+
ifTags: options.conditions?.tagConditions,
|
2553
|
+
},
|
2451
2554
|
prevSnapshotUrl,
|
2452
2555
|
range: rangeToString({ offset, count }),
|
2453
2556
|
tracingOptions: updatedOptions.tracingOptions,
|
@@ -2466,11 +2569,13 @@ export class PageBlobClient extends BlobClient {
|
|
2466
2569
|
async resize(size, options = {}) {
|
2467
2570
|
options.conditions = options.conditions || {};
|
2468
2571
|
return tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
|
2469
|
-
var _a;
|
2470
2572
|
return assertResponse(await this.pageBlobContext.resize(size, {
|
2471
2573
|
abortSignal: options.abortSignal,
|
2472
2574
|
leaseAccessConditions: options.conditions,
|
2473
|
-
modifiedAccessConditions:
|
2575
|
+
modifiedAccessConditions: {
|
2576
|
+
...options.conditions,
|
2577
|
+
ifTags: options.conditions?.tagConditions,
|
2578
|
+
},
|
2474
2579
|
encryptionScope: options.encryptionScope,
|
2475
2580
|
tracingOptions: updatedOptions.tracingOptions,
|
2476
2581
|
}));
|
@@ -2488,12 +2593,14 @@ export class PageBlobClient extends BlobClient {
|
|
2488
2593
|
async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
|
2489
2594
|
options.conditions = options.conditions || {};
|
2490
2595
|
return tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
|
2491
|
-
var _a;
|
2492
2596
|
return assertResponse(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
|
2493
2597
|
abortSignal: options.abortSignal,
|
2494
2598
|
blobSequenceNumber: sequenceNumber,
|
2495
2599
|
leaseAccessConditions: options.conditions,
|
2496
|
-
modifiedAccessConditions:
|
2600
|
+
modifiedAccessConditions: {
|
2601
|
+
...options.conditions,
|
2602
|
+
ifTags: options.conditions?.tagConditions,
|
2603
|
+
},
|
2497
2604
|
tracingOptions: updatedOptions.tracingOptions,
|
2498
2605
|
}));
|
2499
2606
|
});
|
@@ -2513,10 +2620,12 @@ export class PageBlobClient extends BlobClient {
|
|
2513
2620
|
*/
|
2514
2621
|
async startCopyIncremental(copySource, options = {}) {
|
2515
2622
|
return tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
|
2516
|
-
var _a;
|
2517
2623
|
return assertResponse(await this.pageBlobContext.copyIncremental(copySource, {
|
2518
2624
|
abortSignal: options.abortSignal,
|
2519
|
-
modifiedAccessConditions:
|
2625
|
+
modifiedAccessConditions: {
|
2626
|
+
...options.conditions,
|
2627
|
+
ifTags: options.conditions?.tagConditions,
|
2628
|
+
},
|
2520
2629
|
tracingOptions: updatedOptions.tracingOptions,
|
2521
2630
|
}));
|
2522
2631
|
});
|