/// <summary> /// On Task run successfully /// </summary> /// <param name="data">User data</param> protected override void OnTaskSuccessful(DataMovementUserData data) { StorageBlob.CloudBlob blob = data.Data as StorageBlob.CloudBlob; IStorageBlobManagement localChannel = data.Channel; if (blob != null) { AccessCondition accessCondition = null; StorageBlob.BlobRequestOptions requestOptions = RequestOptions; if (BlobProperties != null || BlobMetadata != null) { Task[] tasks = new Task[2]; tasks[0] = SetBlobProperties(localChannel, blob, BlobProperties); tasks[1] = SetBlobMeta(localChannel, blob, BlobMetadata); Task.WaitAll(tasks); } try { localChannel.FetchBlobAttributesAsync(blob, accessCondition, requestOptions, OperationContext, CmdletCancellationToken).Wait(); } catch (AggregateException e) { StorageException storageException = e.InnerException as StorageException; //Handle the limited read permission. if (storageException == null || !storageException.IsNotFoundException()) { throw e.InnerException; } } WriteCloudBlobObject(data.TaskId, localChannel, blob); } }
/// <summary> /// On Task run successfully /// </summary> /// <param name="data">User data</param> protected override void OnTaskSuccessful(DataMovementUserData data) { StorageBlob.CloudBlob blob = data.Data as StorageBlob.CloudBlob; IStorageBlobManagement localChannel = data.Channel; if (blob != null) { AccessCondition accessCondition = null; StorageBlob.BlobRequestOptions requestOptions = RequestOptions; if (this.pageBlobTier != null || this.standardBlobTier != null) { this.SetBlobTier(localChannel, blob, pageBlobTier, standardBlobTier).Wait(); } try { localChannel.FetchBlobAttributesAsync(blob, accessCondition, requestOptions, OperationContext, CmdletCancellationToken).Wait(); } catch (AggregateException e) { StorageException storageException = e.InnerException as StorageException; //Handle the limited read permission. if (storageException == null || !storageException.IsNotFoundException()) { throw e.InnerException; } } WriteCloudBlobObject(data.TaskId, localChannel, blob); } }
public void IsNotFoundExceptionWithoutStatusTest() { RequestResult result = new RequestResult(); string message = string.Empty; ResourceAlreadyExistException innerException = new ResourceAlreadyExistException(message); StorageException exception = new StorageException(result, message, innerException); Assert.IsFalse(exception.IsNotFoundException()); }
public void IsNotFoundExceptionTest() { RequestResult result = new RequestResult() { HttpStatusCode = 500 }; string message = string.Empty; ResourceAlreadyExistException innerException = new ResourceAlreadyExistException(message); StorageException exception = new StorageException(result, message, innerException); Assert.IsFalse(exception.IsNotFoundException()); result = new RequestResult() { HttpStatusCode = 404 }; exception = new StorageException(result, message, innerException); Assert.IsTrue(exception.IsNotFoundException()); }
public void IsNotFoundExceptionWithoutInfoTest() { StorageException exception = new StorageException(null, string.Empty, null); Assert.IsFalse(exception.IsNotFoundException()); }