public override void ExecuteCmdlet() { Func <long, Task> taskGenerator = null; IStorageBlobManagement localChannel = Channel; switch (ParameterSetName) { case BlobPipelineParameterSet: break; case ContainerPipelineParameterSet: this.BlobBaseClient = Util.GetTrack2BlobClient(this.BlobContainerClient, this.Blob, Channel.StorageContext, this.VersionId, null, this.SnapshotTime is null ? null : this.SnapshotTime.Value.ToString("o"), this.ClientOptions, Track2Models.BlobType.Block); break; case NameParameterSet: default: BlobContainerClient container = localChannel.GetBlobContainerClient(this.Container, this.ClientOptions); this.BlobBaseClient = Util.GetTrack2BlobClient( container, this.Blob, Channel.StorageContext, this.VersionId, null, this.SnapshotTime is null ? null : this.SnapshotTime.Value.ToString("o"), this.ClientOptions, Track2Models.BlobType.Block); break; } taskGenerator = (taskId) => QueryAzureBlob(taskId, localChannel, this.BlobBaseClient, this.QueryString, true); RunTask(taskGenerator); }