in src/tree/blob/BlobContainerTreeItem.ts [293:322]
private async deleteBlobs(
blobsToDelete: azureStorageBlob.BlobItem[],
transferProgress: TransferProgress,
notificationProgress: NotificationProgress,
cancellationToken: vscode.CancellationToken,
properties: TelemetryProperties,
): Promise<void> {
const containerClient: azureStorageBlob.ContainerClient = createBlobContainerClient(this.root, this.container.name);
for (const blobIndex of blobsToDelete.keys()) {
const blob: azureStorageBlob.BlobItem = blobsToDelete[blobIndex];
try {
ext.outputChannel.appendLog(`Deleting blob "${blob.name}"...`);
const response: azureStorageBlob.BlobDeleteResponse = await containerClient.deleteBlob(blob.name);
if (cancellationToken.isCancellationRequested) {
throw new UserCancelledError();
} else if (response.errorCode) {
throw new Error(response.errorCode);
} else {
transferProgress.reportToNotification(blobIndex, blobsToDelete.length, notificationProgress);
}
} catch (error) {
if (parseError(error).isUserCancelledError) {
properties.cancelStep = "deleteBlobs";
throw error;
}
throw new Error(`Error deleting blob "${blob.name}" : ${parseError(error).message}`);
}
}
}