public final class BlobLeaseAsyncClient extends Object
containers
and blobs
. This client acts as a supplement to those clients and only handles leasing
operations.
Instantiating a BlobLeaseAsyncClient
BlobLeaseAsyncClient blobLeaseAsyncClient = new BlobLeaseClientBuilder() .blobAsyncClient(blobAsyncClient) .buildAsyncClient();
BlobLeaseAsyncClient blobLeaseAsyncClient = new BlobLeaseClientBuilder() .containerAsyncClient(blobContainerAsyncClient) .buildAsyncClient();
View this
for additional ways to construct the client.
For more information about leasing see the container leasing or blob leasing documentation.
BlobLeaseClientBuilder
Modifier and Type | Method and Description |
---|---|
Mono<String> |
acquireLease(int duration)
Acquires a lease for write and delete operations.
|
Mono<com.azure.core.http.rest.Response<String>> |
acquireLeaseWithResponse(BlobAcquireLeaseOptions options)
Acquires a lease for write and delete operations.
|
Mono<com.azure.core.http.rest.Response<String>> |
acquireLeaseWithResponse(int duration,
com.azure.core.http.RequestConditions modifiedRequestConditions)
Acquires a lease for write and delete operations.
|
Mono<Integer> |
breakLease()
Breaks the previously acquired lease, if it exists.
|
Mono<com.azure.core.http.rest.Response<Integer>> |
breakLeaseWithResponse(BlobBreakLeaseOptions options)
Breaks the previously acquired lease, if it exists.
|
Mono<com.azure.core.http.rest.Response<Integer>> |
breakLeaseWithResponse(Integer breakPeriodInSeconds,
com.azure.core.http.RequestConditions modifiedRequestConditions)
Breaks the previously acquired lease, if it exists.
|
Mono<String> |
changeLease(String proposedId)
Changes the lease ID.
|
Mono<com.azure.core.http.rest.Response<String>> |
changeLeaseWithResponse(BlobChangeLeaseOptions options)
Changes the lease ID.
|
Mono<com.azure.core.http.rest.Response<String>> |
changeLeaseWithResponse(String proposedId,
com.azure.core.http.RequestConditions modifiedRequestConditions)
Changes the lease ID.
|
String |
getAccountName()
Get associated account name.
|
String |
getLeaseId()
Get the lease ID for this lease.
|
String |
getResourceUrl()
Gets the
URL of the lease client. |
Mono<Void> |
releaseLease()
Releases the previously acquired lease.
|
Mono<com.azure.core.http.rest.Response<Void>> |
releaseLeaseWithResponse(BlobReleaseLeaseOptions options)
Releases the previously acquired lease.
|
Mono<com.azure.core.http.rest.Response<Void>> |
releaseLeaseWithResponse(com.azure.core.http.RequestConditions modifiedRequestConditions)
Releases the previously acquired lease.
|
Mono<String> |
renewLease()
Renews the previously acquired lease.
|
Mono<com.azure.core.http.rest.Response<String>> |
renewLeaseWithResponse(BlobRenewLeaseOptions options)
Renews the previously acquired lease.
|
Mono<com.azure.core.http.rest.Response<String>> |
renewLeaseWithResponse(com.azure.core.http.RequestConditions modifiedRequestConditions)
Renews the previously acquired lease.
|
public String getResourceUrl()
URL
of the lease client.
The lease will either be a container or blob URL depending on which the lease client is associated.
public String getLeaseId()
public Mono<String> acquireLease(int duration)
Code Samples
client.acquireLease(60).subscribe(response -> System.out.printf("Lease ID is %s%n", response));
duration
- The duration of the lease between 15 to 60 seconds or -1 for an infinite duration.public Mono<com.azure.core.http.rest.Response<String>> acquireLeaseWithResponse(int duration, com.azure.core.http.RequestConditions modifiedRequestConditions)
Code Samples
RequestConditions modifiedRequestConditions = new RequestConditions() .setIfModifiedSince(OffsetDateTime.now().minusDays(3)); client.acquireLeaseWithResponse(60, modifiedRequestConditions).subscribe(response -> System.out.printf("Lease ID is %s%n", response.getValue()));
duration
- The duration of the lease between 15 to 60 seconds or -1 for an infinite duration.modifiedRequestConditions
- Standard HTTP Access conditions related to the modification of data. ETag and
LastModifiedTime are used to construct conditions related to when the resource was changed relative to the given
request. The request will fail if the specified condition is not satisfied.public Mono<com.azure.core.http.rest.Response<String>> acquireLeaseWithResponse(BlobAcquireLeaseOptions options)
Code Samples
BlobLeaseRequestConditions requestConditions = new BlobLeaseRequestConditions() .setIfModifiedSince(OffsetDateTime.now().minusDays(3)); BlobAcquireLeaseOptions options = new BlobAcquireLeaseOptions(60) .setRequestConditions(requestConditions); client.acquireLeaseWithResponse(options).subscribe(response -> System.out.printf("Lease ID is %s%n", response.getValue()));
options
- BlobAcquireLeaseOptions
public Mono<String> renewLease()
Code Samples
client.renewLease().subscribe(response -> System.out.printf("Renewed lease ID is %s%n", response));
public Mono<com.azure.core.http.rest.Response<String>> renewLeaseWithResponse(com.azure.core.http.RequestConditions modifiedRequestConditions)
Code Samples
RequestConditions modifiedRequestConditions = new RequestConditions() .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3)); client.renewLeaseWithResponse(modifiedRequestConditions).subscribe(response -> System.out.printf("Renewed lease ID is %s%n", response.getValue()));
modifiedRequestConditions
- Standard HTTP Access conditions related to the modification of data. ETag and
LastModifiedTime are used to construct conditions related to when the resource was changed relative to the given
request. The request will fail if the specified condition is not satisfied.public Mono<com.azure.core.http.rest.Response<String>> renewLeaseWithResponse(BlobRenewLeaseOptions options)
Code Samples
BlobLeaseRequestConditions requestConditions = new BlobLeaseRequestConditions() .setIfModifiedSince(OffsetDateTime.now().minusDays(3)); BlobRenewLeaseOptions options = new BlobRenewLeaseOptions() .setRequestConditions(requestConditions); client.renewLeaseWithResponse(options).subscribe(response -> System.out.printf("Lease ID is %s%n", response.getValue()));
options
- BlobRenewLeaseOptions
public Mono<Void> releaseLease()
Code Samples
client.releaseLease().subscribe(response -> System.out.println("Completed release lease"));
public Mono<com.azure.core.http.rest.Response<Void>> releaseLeaseWithResponse(com.azure.core.http.RequestConditions modifiedRequestConditions)
Code Samples
RequestConditions modifiedRequestConditions = new RequestConditions() .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3)); client.releaseLeaseWithResponse(modifiedRequestConditions).subscribe(response -> System.out.printf("Release lease completed with status %d%n", response.getStatusCode()));
modifiedRequestConditions
- Standard HTTP Access conditions related to the modification of data. ETag and
LastModifiedTime are used to construct conditions related to when the resource was changed relative to the given
request. The request will fail if the specified condition is not satisfied.public Mono<com.azure.core.http.rest.Response<Void>> releaseLeaseWithResponse(BlobReleaseLeaseOptions options)
Code Samples
BlobLeaseRequestConditions requestConditions = new BlobLeaseRequestConditions() .setIfModifiedSince(OffsetDateTime.now().minusDays(3)); BlobReleaseLeaseOptions options = new BlobReleaseLeaseOptions() .setRequestConditions(requestConditions); client.releaseLeaseWithResponse(options).subscribe(response -> System.out.printf("Release lease completed with status %d%n", response.getStatusCode()));
options
- BlobReleaseLeaseOptions
public Mono<Integer> breakLease()
Code Samples
client.breakLease().subscribe(response -> System.out.printf("The broken lease has %d seconds remaining on the lease", response));
public Mono<com.azure.core.http.rest.Response<Integer>> breakLeaseWithResponse(Integer breakPeriodInSeconds, com.azure.core.http.RequestConditions modifiedRequestConditions)
If null
is passed for breakPeriodInSeconds
a fixed duration lease will break after the
remaining lease period elapses and an infinite lease will break immediately.
Code Samples
Integer retainLeaseInSeconds = 5; RequestConditions modifiedRequestConditions = new RequestConditions() .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3)); client.breakLeaseWithResponse(retainLeaseInSeconds, modifiedRequestConditions).subscribe(response -> System.out.printf("The broken lease has %d seconds remaining on the lease", response.getValue()));
breakPeriodInSeconds
- An optional duration, between 0 and 60 seconds, that the lease should continue before
it is broken. If the break period is longer than the time remaining on the lease the remaining time on the lease
is used. A new lease will not be available before the break period has expired, but the lease may be held for
longer than the break period.modifiedRequestConditions
- Standard HTTP Access conditions related to the modification of data. ETag and
LastModifiedTime are used to construct conditions related to when the resource was changed relative to the given
request. The request will fail if the specified condition is not satisfied.public Mono<com.azure.core.http.rest.Response<Integer>> breakLeaseWithResponse(BlobBreakLeaseOptions options)
If null
is passed for breakPeriodInSeconds
a fixed duration lease will break after the
remaining lease period elapses and an infinite lease will break immediately.
Code Samples
Integer retainLeaseInSeconds = 5; BlobLeaseRequestConditions requestConditions = new BlobLeaseRequestConditions() .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3)); BlobBreakLeaseOptions options = new BlobBreakLeaseOptions() .setBreakPeriod(Duration.ofSeconds(retainLeaseInSeconds)) .setRequestConditions(requestConditions); client.breakLeaseWithResponse(options).subscribe(response -> System.out.printf("The broken lease has %d seconds remaining on the lease", response.getValue()));
options
- BlobBreakLeaseOptions
public Mono<String> changeLease(String proposedId)
Code Samples
client.changeLease("proposedId").subscribe(response -> System.out.printf("Changed lease ID is %s%n", response));
proposedId
- A new lease ID in a valid GUID format.public Mono<com.azure.core.http.rest.Response<String>> changeLeaseWithResponse(String proposedId, com.azure.core.http.RequestConditions modifiedRequestConditions)
Code Samples
RequestConditions modifiedRequestConditions = new RequestConditions() .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3)); client.changeLeaseWithResponse("proposedId", modifiedRequestConditions).subscribe(response -> System.out.printf("Changed lease ID is %s%n", response.getValue()));
proposedId
- A new lease ID in a valid GUID format.modifiedRequestConditions
- Standard HTTP Access conditions related to the modification of data. ETag and
LastModifiedTime are used to construct conditions related to when the resource was changed relative to the given
request. The request will fail if the specified condition is not satisfied.public Mono<com.azure.core.http.rest.Response<String>> changeLeaseWithResponse(BlobChangeLeaseOptions options)
Code Samples
BlobLeaseRequestConditions requestConditions = new BlobLeaseRequestConditions() .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3)); BlobChangeLeaseOptions options = new BlobChangeLeaseOptions("proposedId") .setRequestConditions(requestConditions); client.changeLeaseWithResponse(options).subscribe(response -> System.out.printf("Changed lease ID is %s%n", response.getValue()));
options
- BlobChangeLeaseOptions
public String getAccountName()
Visit the Azure for Java Developers site for more Java documentation, including quick starts, tutorials, and code samples.