public virtual Response <LeaseContainerResponse> Lease(LeaseContainerRequest parameters = null, CancellationToken cancellationToken = default) { using var scope = _blobContainerClientDiagnostics.CreateScope("BlobContainer.Lease"); scope.Start(); try { var response = _blobContainerRestClient.Lease(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name, parameters, cancellationToken); return(response); } catch (Exception e) { scope.Failed(e); throw; } }
public virtual async Task <Response <LeaseContainerResponse> > LeaseAsync(LeaseContainerRequest parameters = null, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("BlobContainer.Lease"); scope.Start(); try { var response = await _restClient.LeaseAsync(Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, parameters, cancellationToken).ConfigureAwait(false); return(response); } catch (Exception e) { scope.Failed(e); throw; } }
/// <summary> /// The Lease Container operation establishes and manages a lock on a container /// for delete operations. The lock duration can be 15 to 60 seconds, or can be /// infinite. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group within the user's subscription. The name is /// case insensitive. /// </param> /// <param name='accountName'> /// The name of the storage account within the specified resource group. /// Storage account names must be between 3 and 24 characters in length and use /// numbers and lower-case letters only. /// </param> /// <param name='containerName'> /// The name of the blob container within the specified storage account. Blob /// container names must be between 3 and 63 characters in length and use /// numbers, lower-case letters and dash (-) only. Every dash (-) character /// must be immediately preceded and followed by a letter or number. /// </param> /// <param name='parameters'> /// Lease Container request body. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <LeaseContainerResponseInner> LeaseAsync(this IBlobContainersOperations operations, string resourceGroupName, string accountName, string containerName, LeaseContainerRequest parameters = default(LeaseContainerRequest), CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.LeaseWithHttpMessagesAsync(resourceGroupName, accountName, containerName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }