コード例 #1
0
        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);
        }