@azure/storage-blob 12.13.0 → 12.20.0-alpha.20230303.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.
Files changed (118) hide show
  1. package/dist/index.js +13103 -13682
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/storage-blob/src/BatchResponse.js.map +1 -1
  4. package/dist-esm/storage-blob/src/BatchResponseParser.js +3 -2
  5. package/dist-esm/storage-blob/src/BatchResponseParser.js.map +1 -1
  6. package/dist-esm/storage-blob/src/BlobBatch.js +74 -87
  7. package/dist-esm/storage-blob/src/BlobBatch.js.map +1 -1
  8. package/dist-esm/storage-blob/src/BlobBatchClient.js +10 -23
  9. package/dist-esm/storage-blob/src/BlobBatchClient.js.map +1 -1
  10. package/dist-esm/storage-blob/src/BlobDownloadResponse.js +1 -9
  11. package/dist-esm/storage-blob/src/BlobDownloadResponse.js.map +1 -1
  12. package/dist-esm/storage-blob/src/BlobLeaseClient.js +54 -83
  13. package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +1 -1
  14. package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js.map +1 -1
  15. package/dist-esm/storage-blob/src/BlobQueryResponse.js +1 -1
  16. package/dist-esm/storage-blob/src/BlobQueryResponse.js.map +1 -1
  17. package/dist-esm/storage-blob/src/BlobServiceClient.js +67 -165
  18. package/dist-esm/storage-blob/src/BlobServiceClient.js.map +1 -1
  19. package/dist-esm/storage-blob/src/Clients.js +651 -889
  20. package/dist-esm/storage-blob/src/Clients.js.map +1 -1
  21. package/dist-esm/storage-blob/src/ContainerClient.js +115 -238
  22. package/dist-esm/storage-blob/src/ContainerClient.js.map +1 -1
  23. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +1 -1
  24. package/dist-esm/storage-blob/src/Pipeline.js +194 -40
  25. package/dist-esm/storage-blob/src/Pipeline.js.map +1 -1
  26. package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js.map +1 -1
  27. package/dist-esm/storage-blob/src/StorageClient.js +4 -17
  28. package/dist-esm/storage-blob/src/StorageClient.js.map +1 -1
  29. package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js.map +1 -1
  30. package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js.map +1 -1
  31. package/dist-esm/storage-blob/src/credentials/Credential.js.map +1 -1
  32. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js.map +1 -1
  33. package/dist-esm/storage-blob/src/generated/src/index.js +1 -1
  34. package/dist-esm/storage-blob/src/generated/src/index.js.map +1 -1
  35. package/dist-esm/storage-blob/src/generated/src/models/index.js +248 -1
  36. package/dist-esm/storage-blob/src/generated/src/models/index.js.map +1 -1
  37. package/dist-esm/storage-blob/src/generated/src/models/mappers.js +13 -18
  38. package/dist-esm/storage-blob/src/generated/src/models/mappers.js.map +1 -1
  39. package/dist-esm/storage-blob/src/generated/src/models/parameters.js +5 -5
  40. package/dist-esm/storage-blob/src/generated/src/models/parameters.js.map +1 -1
  41. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js +11 -27
  42. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js.map +1 -1
  43. package/dist-esm/storage-blob/src/generated/src/operations/blob.js +28 -110
  44. package/dist-esm/storage-blob/src/generated/src/operations/blob.js.map +1 -1
  45. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js +16 -43
  46. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js.map +1 -1
  47. package/dist-esm/storage-blob/src/generated/src/operations/container.js +22 -86
  48. package/dist-esm/storage-blob/src/generated/src/operations/container.js.map +1 -1
  49. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js +16 -54
  50. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js.map +1 -1
  51. package/dist-esm/storage-blob/src/generated/src/operations/service.js +12 -42
  52. package/dist-esm/storage-blob/src/generated/src/operations/service.js.map +1 -1
  53. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js +9 -0
  54. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js.map +1 -0
  55. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js +9 -0
  56. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js.map +1 -0
  57. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js +9 -0
  58. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js.map +1 -0
  59. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js +9 -0
  60. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js.map +1 -0
  61. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js +14 -0
  62. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js.map +1 -0
  63. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js +9 -0
  64. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js.map +1 -0
  65. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js +9 -0
  66. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js.map +1 -0
  67. package/dist-esm/storage-blob/src/generated/src/storageClient.js +32 -10
  68. package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +1 -1
  69. package/dist-esm/storage-blob/src/generatedModels.js +1 -5
  70. package/dist-esm/storage-blob/src/generatedModels.js.map +1 -1
  71. package/dist-esm/storage-blob/src/index.browser.js +3 -2
  72. package/dist-esm/storage-blob/src/index.browser.js.map +1 -1
  73. package/dist-esm/storage-blob/src/index.js +3 -2
  74. package/dist-esm/storage-blob/src/index.js.map +1 -1
  75. package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js.map +1 -1
  76. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js +1 -1
  77. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js.map +1 -1
  78. package/dist-esm/storage-blob/src/policies/PathParameterWorkaroundPolicy.js +25 -0
  79. package/dist-esm/storage-blob/src/policies/PathParameterWorkaroundPolicy.js.map +1 -0
  80. package/dist-esm/storage-blob/src/policies/RequestPolicy.js +40 -0
  81. package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +1 -0
  82. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js +2 -1
  83. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js.map +1 -1
  84. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js +31 -0
  85. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +1 -0
  86. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js +1 -1
  87. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +1 -1
  88. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +165 -0
  89. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +1 -0
  90. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +1 -1
  91. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js +18 -0
  92. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +1 -0
  93. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js +131 -0
  94. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -0
  95. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js +1 -1
  96. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +1 -1
  97. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js.map +1 -1
  98. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js +10 -2
  99. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +1 -1
  100. package/dist-esm/storage-blob/src/utils/cache.js +5 -2
  101. package/dist-esm/storage-blob/src/utils/cache.js.map +1 -1
  102. package/dist-esm/storage-blob/src/utils/constants.js +1 -1
  103. package/dist-esm/storage-blob/src/utils/constants.js.map +1 -1
  104. package/dist-esm/storage-blob/src/utils/tracing.js +5 -18
  105. package/dist-esm/storage-blob/src/utils/tracing.js.map +1 -1
  106. package/dist-esm/storage-blob/src/utils/utils.common.js +84 -44
  107. package/dist-esm/storage-blob/src/utils/utils.common.js.map +1 -1
  108. package/package.json +22 -15
  109. package/types/3.1/storage-blob.d.ts +2310 -609
  110. package/types/latest/storage-blob.d.ts +2550 -670
  111. package/dist-esm/storage-blob/src/TelemetryPolicyFactory.js +0 -50
  112. package/dist-esm/storage-blob/src/TelemetryPolicyFactory.js.map +0 -1
  113. package/dist-esm/storage-blob/src/generated/src/storageClientContext.js +0 -39
  114. package/dist-esm/storage-blob/src/generated/src/storageClientContext.js.map +0 -1
  115. package/dist-esm/storage-blob/src/policies/StorageBearerTokenChallengeAuthenticationPolicy.js +0 -245
  116. package/dist-esm/storage-blob/src/policies/StorageBearerTokenChallengeAuthenticationPolicy.js.map +0 -1
  117. package/dist-esm/storage-blob/src/policies/TelemetryPolicy.js +0 -36
  118. package/dist-esm/storage-blob/src/policies/TelemetryPolicy.js.map +0 -1
@@ -1,17 +1,16 @@
1
1
  import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
- import { isTokenCredential, isNode, getDefaultProxySettings, } from "@azure/core-http";
5
- import { SpanStatusCode } from "@azure/core-tracing";
6
- import { Container, Service } from "./generated/src/operations";
4
+ import { isTokenCredential } from "@azure/core-auth";
5
+ import { getDefaultProxySettings } from "@azure/core-rest-pipeline";
6
+ import { isNode } from "@azure/core-util";
7
7
  import { newPipeline, isPipelineLike } from "./Pipeline";
8
8
  import { ContainerClient, } from "./ContainerClient";
9
9
  import { appendToURLPath, appendToURLQuery, extractConnectionStringParts, toTags, } from "./utils/utils.common";
10
10
  import { StorageSharedKeyCredential } from "./credentials/StorageSharedKeyCredential";
11
11
  import { AnonymousCredential } from "./credentials/AnonymousCredential";
12
- import "@azure/core-paging";
13
- import { truncatedISO8061Date } from "./utils/utils.common";
14
- import { convertTracingToRequestOptionsBase, createSpan } from "./utils/tracing";
12
+ import { truncatedISO8061Date, assertResponse } from "./utils/utils.common";
13
+ import { tracingClient } from "./utils/tracing";
15
14
  import { BlobBatchClient } from "./BlobBatchClient";
16
15
  import { StorageClient } from "./StorageClient";
17
16
  import { AccountSASPermissions } from "./sas/AccountSASPermissions";
@@ -40,7 +39,7 @@ export class BlobServiceClient extends StorageClient {
40
39
  pipeline = newPipeline(new AnonymousCredential(), options);
41
40
  }
42
41
  super(url, pipeline);
43
- this.serviceContext = new Service(this.storageClientContext);
42
+ this.serviceContext = this.storageClientContext.service;
44
43
  }
45
44
  /**
46
45
  *
@@ -104,25 +103,14 @@ export class BlobServiceClient extends StorageClient {
104
103
  * @returns Container creation response and the corresponding container client.
105
104
  */
106
105
  async createContainer(containerName, options = {}) {
107
- const { span, updatedOptions } = createSpan("BlobServiceClient-createContainer", options);
108
- try {
106
+ return tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
109
107
  const containerClient = this.getContainerClient(containerName);
110
108
  const containerCreateResponse = await containerClient.create(updatedOptions);
111
109
  return {
112
110
  containerClient,
113
111
  containerCreateResponse,
114
112
  };
115
- }
116
- catch (e) {
117
- span.setStatus({
118
- code: SpanStatusCode.ERROR,
119
- message: e.message,
120
- });
121
- throw e;
122
- }
123
- finally {
124
- span.end();
125
- }
113
+ });
126
114
  }
127
115
  /**
128
116
  * Deletes a Blob container.
@@ -132,21 +120,10 @@ export class BlobServiceClient extends StorageClient {
132
120
  * @returns Container deletion response.
133
121
  */
134
122
  async deleteContainer(containerName, options = {}) {
135
- const { span, updatedOptions } = createSpan("BlobServiceClient-deleteContainer", options);
136
- try {
123
+ return tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
137
124
  const containerClient = this.getContainerClient(containerName);
138
- return await containerClient.delete(updatedOptions);
139
- }
140
- catch (e) {
141
- span.setStatus({
142
- code: SpanStatusCode.ERROR,
143
- message: e.message,
144
- });
145
- throw e;
146
- }
147
- finally {
148
- span.end();
149
- }
125
+ return containerClient.delete(updatedOptions);
126
+ });
150
127
  }
151
128
  /**
152
129
  * Restore a previously deleted Blob container.
@@ -158,25 +135,17 @@ export class BlobServiceClient extends StorageClient {
158
135
  * @returns Container deletion response.
159
136
  */
160
137
  async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
161
- const { span, updatedOptions } = createSpan("BlobServiceClient-undeleteContainer", options);
162
- try {
138
+ return tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
163
139
  const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
164
140
  // Hack to access a protected member.
165
- const containerContext = new Container(containerClient["storageClientContext"]);
166
- const containerUndeleteResponse = await containerContext.restore(Object.assign({ deletedContainerName,
167
- deletedContainerVersion }, updatedOptions));
141
+ const containerContext = containerClient["storageClientContext"].container;
142
+ const containerUndeleteResponse = assertResponse(await containerContext.restore({
143
+ deletedContainerName,
144
+ deletedContainerVersion,
145
+ tracingOptions: updatedOptions.tracingOptions,
146
+ }));
168
147
  return { containerClient, containerUndeleteResponse };
169
- }
170
- catch (e) {
171
- span.setStatus({
172
- code: SpanStatusCode.ERROR,
173
- message: e.message,
174
- });
175
- throw e;
176
- }
177
- finally {
178
- span.end();
179
- }
148
+ });
180
149
  }
181
150
  /**
182
151
  * Rename an existing Blob Container.
@@ -188,25 +157,14 @@ export class BlobServiceClient extends StorageClient {
188
157
  /* eslint-disable-next-line @typescript-eslint/ban-ts-comment */
189
158
  // @ts-ignore Need to hide this interface for now. Make it public and turn on the live tests for it when the service is ready.
190
159
  async renameContainer(sourceContainerName, destinationContainerName, options = {}) {
191
- var _a;
192
- const { span, updatedOptions } = createSpan("BlobServiceClient-renameContainer", options);
193
- try {
160
+ return tracingClient.withSpan("BlobServiceClient-renameContainer", options, async (updatedOptions) => {
161
+ var _a;
194
162
  const containerClient = this.getContainerClient(destinationContainerName);
195
163
  // Hack to access a protected member.
196
- const containerContext = new Container(containerClient["storageClientContext"]);
197
- const containerRenameResponse = await containerContext.rename(sourceContainerName, Object.assign(Object.assign({}, updatedOptions), { sourceLeaseId: (_a = options.sourceCondition) === null || _a === void 0 ? void 0 : _a.leaseId }));
164
+ const containerContext = containerClient["storageClientContext"].container;
165
+ const containerRenameResponse = assertResponse(await containerContext.rename(sourceContainerName, Object.assign(Object.assign({}, updatedOptions), { sourceLeaseId: (_a = options.sourceCondition) === null || _a === void 0 ? void 0 : _a.leaseId })));
198
166
  return { containerClient, containerRenameResponse };
199
- }
200
- catch (e) {
201
- span.setStatus({
202
- code: SpanStatusCode.ERROR,
203
- message: e.message,
204
- });
205
- throw e;
206
- }
207
- finally {
208
- span.end();
209
- }
167
+ });
210
168
  }
211
169
  /**
212
170
  * Gets the properties of a storage account’s Blob service, including properties
@@ -217,20 +175,12 @@ export class BlobServiceClient extends StorageClient {
217
175
  * @returns Response data for the Service Get Properties operation.
218
176
  */
219
177
  async getProperties(options = {}) {
220
- const { span, updatedOptions } = createSpan("BlobServiceClient-getProperties", options);
221
- try {
222
- return await this.serviceContext.getProperties(Object.assign({ abortSignal: options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
223
- }
224
- catch (e) {
225
- span.setStatus({
226
- code: SpanStatusCode.ERROR,
227
- message: e.message,
228
- });
229
- throw e;
230
- }
231
- finally {
232
- span.end();
233
- }
178
+ return tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
179
+ return assertResponse(await this.serviceContext.getProperties({
180
+ abortSignal: options.abortSignal,
181
+ tracingOptions: updatedOptions.tracingOptions,
182
+ }));
183
+ });
234
184
  }
235
185
  /**
236
186
  * Sets properties for a storage account’s Blob service endpoint, including properties
@@ -242,20 +192,12 @@ export class BlobServiceClient extends StorageClient {
242
192
  * @returns Response data for the Service Set Properties operation.
243
193
  */
244
194
  async setProperties(properties, options = {}) {
245
- const { span, updatedOptions } = createSpan("BlobServiceClient-setProperties", options);
246
- try {
247
- return await this.serviceContext.setProperties(properties, Object.assign({ abortSignal: options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
248
- }
249
- catch (e) {
250
- span.setStatus({
251
- code: SpanStatusCode.ERROR,
252
- message: e.message,
253
- });
254
- throw e;
255
- }
256
- finally {
257
- span.end();
258
- }
195
+ return tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
196
+ return assertResponse(await this.serviceContext.setProperties(properties, {
197
+ abortSignal: options.abortSignal,
198
+ tracingOptions: updatedOptions.tracingOptions,
199
+ }));
200
+ });
259
201
  }
260
202
  /**
261
203
  * Retrieves statistics related to replication for the Blob service. It is only
@@ -267,20 +209,12 @@ export class BlobServiceClient extends StorageClient {
267
209
  * @returns Response data for the Service Get Statistics operation.
268
210
  */
269
211
  async getStatistics(options = {}) {
270
- const { span, updatedOptions } = createSpan("BlobServiceClient-getStatistics", options);
271
- try {
272
- return await this.serviceContext.getStatistics(Object.assign({ abortSignal: options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
273
- }
274
- catch (e) {
275
- span.setStatus({
276
- code: SpanStatusCode.ERROR,
277
- message: e.message,
278
- });
279
- throw e;
280
- }
281
- finally {
282
- span.end();
283
- }
212
+ return tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
213
+ return assertResponse(await this.serviceContext.getStatistics({
214
+ abortSignal: options.abortSignal,
215
+ tracingOptions: updatedOptions.tracingOptions,
216
+ }));
217
+ });
284
218
  }
285
219
  /**
286
220
  * The Get Account Information operation returns the sku name and account kind
@@ -293,20 +227,12 @@ export class BlobServiceClient extends StorageClient {
293
227
  * @returns Response data for the Service Get Account Info operation.
294
228
  */
295
229
  async getAccountInfo(options = {}) {
296
- const { span, updatedOptions } = createSpan("BlobServiceClient-getAccountInfo", options);
297
- try {
298
- return await this.serviceContext.getAccountInfo(Object.assign({ abortSignal: options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
299
- }
300
- catch (e) {
301
- span.setStatus({
302
- code: SpanStatusCode.ERROR,
303
- message: e.message,
304
- });
305
- throw e;
306
- }
307
- finally {
308
- span.end();
309
- }
230
+ return tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
231
+ return assertResponse(await this.serviceContext.getAccountInfo({
232
+ abortSignal: options.abortSignal,
233
+ tracingOptions: updatedOptions.tracingOptions,
234
+ }));
235
+ });
310
236
  }
311
237
  /**
312
238
  * Returns a list of the containers under the specified account.
@@ -323,20 +249,9 @@ export class BlobServiceClient extends StorageClient {
323
249
  * @returns Response data for the Service List Container Segment operation.
324
250
  */
325
251
  async listContainersSegment(marker, options = {}) {
326
- const { span, updatedOptions } = createSpan("BlobServiceClient-listContainersSegment", options);
327
- try {
328
- return await this.serviceContext.listContainersSegment(Object.assign(Object.assign(Object.assign({ abortSignal: options.abortSignal, marker }, options), { include: typeof options.include === "string" ? [options.include] : options.include }), convertTracingToRequestOptionsBase(updatedOptions)));
329
- }
330
- catch (e) {
331
- span.setStatus({
332
- code: SpanStatusCode.ERROR,
333
- message: e.message,
334
- });
335
- throw e;
336
- }
337
- finally {
338
- span.end();
339
- }
252
+ return tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
253
+ return assertResponse(await this.serviceContext.listContainersSegment(Object.assign(Object.assign({ abortSignal: options.abortSignal, marker }, options), { include: typeof options.include === "string" ? [options.include] : options.include, tracingOptions: updatedOptions.tracingOptions })));
254
+ });
340
255
  }
341
256
  /**
342
257
  * The Filter Blobs operation enables callers to list blobs across all containers whose tags
@@ -357,9 +272,14 @@ export class BlobServiceClient extends StorageClient {
357
272
  * @param options - Options to find blobs by tags.
358
273
  */
359
274
  async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
360
- const { span, updatedOptions } = createSpan("BlobServiceClient-findBlobsByTagsSegment", options);
361
- try {
362
- const response = await this.serviceContext.filterBlobs(Object.assign({ abortSignal: options.abortSignal, where: tagFilterSqlExpression, marker, maxPageSize: options.maxPageSize }, convertTracingToRequestOptionsBase(updatedOptions)));
275
+ return tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
276
+ const response = assertResponse(await this.serviceContext.filterBlobs({
277
+ abortSignal: options.abortSignal,
278
+ where: tagFilterSqlExpression,
279
+ marker,
280
+ maxPageSize: options.maxPageSize,
281
+ tracingOptions: updatedOptions.tracingOptions,
282
+ }));
363
283
  const wrappedResponse = Object.assign(Object.assign({}, response), { _response: response._response, blobs: response.blobs.map((blob) => {
364
284
  var _a;
365
285
  let tagValue = "";
@@ -369,17 +289,7 @@ export class BlobServiceClient extends StorageClient {
369
289
  return Object.assign(Object.assign({}, blob), { tags: toTags(blob.tags), tagValue });
370
290
  }) });
371
291
  return wrappedResponse;
372
- }
373
- catch (e) {
374
- span.setStatus({
375
- code: SpanStatusCode.ERROR,
376
- message: e.message,
377
- });
378
- throw e;
379
- }
380
- finally {
381
- span.end();
382
- }
292
+ });
383
293
  }
384
294
  /**
385
295
  * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
@@ -716,12 +626,14 @@ export class BlobServiceClient extends StorageClient {
716
626
  * @param expiresOn - The end time for the user delegation SAS. Must be within 7 days of the current time
717
627
  */
718
628
  async getUserDelegationKey(startsOn, expiresOn, options = {}) {
719
- const { span, updatedOptions } = createSpan("BlobServiceClient-getUserDelegationKey", options);
720
- try {
721
- const response = await this.serviceContext.getUserDelegationKey({
629
+ return tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
630
+ const response = assertResponse(await this.serviceContext.getUserDelegationKey({
722
631
  startsOn: truncatedISO8061Date(startsOn, false),
723
632
  expiresOn: truncatedISO8061Date(expiresOn, false),
724
- }, Object.assign({ abortSignal: options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
633
+ }, {
634
+ abortSignal: options.abortSignal,
635
+ tracingOptions: updatedOptions.tracingOptions,
636
+ }));
725
637
  const userDelegationKey = {
726
638
  signedObjectId: response.signedObjectId,
727
639
  signedTenantId: response.signedTenantId,
@@ -733,17 +645,7 @@ export class BlobServiceClient extends StorageClient {
733
645
  };
734
646
  const res = Object.assign({ _response: response._response, requestId: response.requestId, clientRequestId: response.clientRequestId, version: response.version, date: response.date, errorCode: response.errorCode }, userDelegationKey);
735
647
  return res;
736
- }
737
- catch (e) {
738
- span.setStatus({
739
- code: SpanStatusCode.ERROR,
740
- message: e.message,
741
- });
742
- throw e;
743
- }
744
- finally {
745
- span.end();
746
- }
648
+ });
747
649
  }
748
650
  /**
749
651
  * Creates a BlobBatchClient object to conduct batch operations.