azure-storage-blobs
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Azure::Storage::Blobs::BlobLeaseClient Class Referencefinal

BlobLeaseClient allows you to manipulate Azure Storage leases on containers and blobs.

#include <blob_lease_client.hpp>

Public Member Functions

 BlobLeaseClient (BlobClient blobClient, std::string leaseId)
 Initializes a new instance of the BlobLeaseClient. More...
 
 BlobLeaseClient (BlobContainerClient blobContainerClient, std::string leaseId)
 Initializes a new instance of the BlobLeaseClient. More...
 
std::string GetLeaseId ()
 Get lease id of this lease client. More...
 
Azure::Response< Models::AcquireLeaseResultAcquire (std::chrono::seconds duration, const AcquireLeaseOptions &options=AcquireLeaseOptions(), const Azure::Core::Context &context=Azure::Core::Context())
 Acquires a lease on the blob or blob container. More...
 
Azure::Response< Models::RenewLeaseResultRenew (const RenewLeaseOptions &options=RenewLeaseOptions(), const Azure::Core::Context &context=Azure::Core::Context())
 Renews the blob or blob container's previously-acquired lease. More...
 
Azure::Response< Models::ReleaseLeaseResultRelease (const ReleaseLeaseOptions &options=ReleaseLeaseOptions(), const Azure::Core::Context &context=Azure::Core::Context())
 Releases the blob or blob container's previously-acquired lease. More...
 
Azure::Response< Models::ChangeLeaseResultChange (const std::string &proposedLeaseId, const ChangeLeaseOptions &options=ChangeLeaseOptions(), const Azure::Core::Context &context=Azure::Core::Context())
 Changes the lease of an active lease. More...
 
Azure::Response< Models::BreakLeaseResultBreak (const BreakLeaseOptions &options=BreakLeaseOptions(), const Azure::Core::Context &context=Azure::Core::Context())
 Breaks the previously-acquired lease. More...
 

Static Public Member Functions

static std::string CreateUniqueLeaseId ()
 Gets a unique lease ID. More...
 

Static Public Attributes

AZ_STORAGE_BLOBS_DLLEXPORT static const std::chrono::seconds InfiniteLeaseDuration {-1}
 A value representing infinite lease duration.
 

Constructor & Destructor Documentation

◆ BlobLeaseClient() [1/2]

Azure::Storage::Blobs::BlobLeaseClient::BlobLeaseClient ( BlobClient  blobClient,
std::string  leaseId 
)
inlineexplicit
Parameters
blobClientA BlobClient representing the blob being leased.
leaseIdA lease ID. This is not required for break operation.

◆ BlobLeaseClient() [2/2]

Azure::Storage::Blobs::BlobLeaseClient::BlobLeaseClient ( BlobContainerClient  blobContainerClient,
std::string  leaseId 
)
inlineexplicit
Parameters
blobContainerClientA BlobContainerClient representing the blob container being leased.
leaseIdA lease ID. This is not required for break operation.

Member Function Documentation

◆ Acquire()

Azure::Response< Models::AcquireLeaseResult > Azure::Storage::Blobs::BlobLeaseClient::Acquire ( std::chrono::seconds  duration,
const AcquireLeaseOptions options = AcquireLeaseOptions(),
const Azure::Core::Context &  context = Azure::Core::Context() 
)
Parameters
durationSpecifies the duration of the lease, in seconds, or InfiniteLeaseDuration for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change.
optionsOptional parameters to execute this function.
contextContext for cancelling long running operations.
Returns
An AcquireLeaseResult describing the lease.

◆ Break()

Azure::Response< Models::BreakLeaseResult > Azure::Storage::Blobs::BlobLeaseClient::Break ( const BreakLeaseOptions options = BreakLeaseOptions(),
const Azure::Core::Context &  context = Azure::Core::Context() 
)
Parameters
optionsOptional parameters to execute this function.
contextContext for cancelling long running operations.
Returns
A BreakLeaseResult describing the broken lease.

◆ Change()

Azure::Response< Models::ChangeLeaseResult > Azure::Storage::Blobs::BlobLeaseClient::Change ( const std::string &  proposedLeaseId,
const ChangeLeaseOptions options = ChangeLeaseOptions(),
const Azure::Core::Context &  context = Azure::Core::Context() 
)
Parameters
proposedLeaseIdProposed lease ID, in a GUID string format.
optionsOptional parameters to execute this function.
contextContext for cancelling long running operations.
Returns
A ChangeLeaseResult describing the changed lease.
Remarks
The current BlobLeaseClient becomes invalid if this operation succeeds.

◆ CreateUniqueLeaseId()

std::string Azure::Storage::Blobs::BlobLeaseClient::CreateUniqueLeaseId ( )
static
Returns
A unique lease ID.

◆ GetLeaseId()

std::string Azure::Storage::Blobs::BlobLeaseClient::GetLeaseId ( )
inline
Returns
Lease id of this lease client.

◆ Release()

Azure::Response< Models::ReleaseLeaseResult > Azure::Storage::Blobs::BlobLeaseClient::Release ( const ReleaseLeaseOptions options = ReleaseLeaseOptions(),
const Azure::Core::Context &  context = Azure::Core::Context() 
)
Parameters
optionsOptional parameters to execute this function.
contextContext for cancelling long running operations.
Returns
A ReleaseLeaseResult describing the updated container or blob.

◆ Renew()

Azure::Response< Models::RenewLeaseResult > Azure::Storage::Blobs::BlobLeaseClient::Renew ( const RenewLeaseOptions options = RenewLeaseOptions(),
const Azure::Core::Context &  context = Azure::Core::Context() 
)
Parameters
optionsOptional parameters to execute this function.
contextContext for cancelling long running operations.
Returns
A RenewLeaseResult describing the lease.

The documentation for this class was generated from the following files: