Udostępnij za pośrednictwem


DataLakeLeaseAsyncClient Class

  • java.lang.Object
    • com.azure.storage.file.datalake.specialized.DataLakeLeaseAsyncClient

public final class DataLakeLeaseAsyncClient

This class provides a client that contains all the leasing operations for DataLakeFileSystemAsyncClient, DataLakeFileAsyncClient and DataLakeDirectoryAsyncClient. This client acts as a supplement to those clients and only handles leasing operations.

Instantiating a DataLakeLeaseAsyncClient

DataLakeLeaseAsyncClient dataLakeLeaseAsyncClient = new DataLakeLeaseClientBuilder()
     .fileAsyncClient(fileAsyncClient)
     .buildAsyncClient();
DataLakeLeaseAsyncClient dataLakeLeaseAsyncClient = new DataLakeLeaseClientBuilder()
     .directoryAsyncClient(directoryAsyncClient)
     .buildAsyncClient();
DataLakeLeaseAsyncClient dataLakeLeaseAsyncClient = new DataLakeLeaseClientBuilder()
     .fileSystemAsyncClient(dataLakeFileSystemAsyncClient)
     .buildAsyncClient();

View DataLakeLeaseClientBuilder for additional ways to construct the client.

For more information about leasing see the file system leasing or path leasing documentation.

Method Summary

Modifier and Type Method and Description
Mono<String> acquireLease(int durationInSeconds)

Acquires a lease for write and delete operations.

Mono<Response<String>> acquireLeaseWithResponse(int durationInSeconds, RequestConditions modifiedRequestConditions)

Acquires a lease for write and delete operations.

Mono<Integer> breakLease()

Breaks the previously acquired lease, if it exists.

Mono<Response<Integer>> breakLeaseWithResponse(Integer breakPeriodInSeconds, RequestConditions modifiedRequestConditions)

Breaks the previously acquired lease, if it exists.

Mono<String> changeLease(String proposedId)

Changes the lease ID.

Mono<Response<String>> changeLeaseWithResponse(String proposedId, 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<Response<Void>> releaseLeaseWithResponse(RequestConditions modifiedRequestConditions)

Releases the previously acquired lease.

Mono<String> renewLease()

Renews the previously acquired lease.

Mono<Response<String>> renewLeaseWithResponse(RequestConditions modifiedRequestConditions)

Renews the previously acquired lease.

Methods inherited from java.lang.Object

Method Details

acquireLease

public Mono<String> acquireLease(int durationInSeconds)

Acquires a lease for write and delete operations. The lease duration must be between 15 and 60 seconds or -1 for an infinite duration.

Code Samples

client.acquireLease(60).subscribe(response -> System.out.printf("Lease ID is %s%n", response));

Parameters:

durationInSeconds - The duration of the lease between 15 and 60 seconds or -1 for an infinite duration.

Returns:

A reactive response containing the lease ID.

acquireLeaseWithResponse

public Mono<Response<String>> acquireLeaseWithResponse(int durationInSeconds, RequestConditions modifiedRequestConditions)

Acquires a lease for write and delete operations. The lease duration must be between 15 and 60 seconds, or -1 for an infinite duration.

Code Samples

// Optional HTTP request conditions that can be used to narrow the scope of the request.
 // The request conditions can be used to have the leasing request only succeed if the resource has been
 // modified and/or unmodified within a certain time frame and/or matches and/or doesn't match a specific ETag,
 // or any ETag.
 RequestConditions modifiedRequestConditions = yourOptionalRequestConditions;

 client.acquireLeaseWithResponse(60, modifiedRequestConditions).subscribe(response ->
     System.out.printf("Lease ID is %s%n", response.getValue()));

Parameters:

durationInSeconds - The duration of the lease between 15 and 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.

Returns:

A reactive response containing the lease ID.

breakLease

public Mono<Integer> breakLease()

Breaks the previously acquired lease, if it exists.

Code Samples

client.breakLease().subscribe(response ->
     System.out.printf("The broken lease has %d seconds remaining on the lease", response));

Returns:

A reactive response containing the remaining time in the broken lease in seconds.

breakLeaseWithResponse

public Mono<Response<Integer>> breakLeaseWithResponse(Integer breakPeriodInSeconds, RequestConditions modifiedRequestConditions)

Breaks the previously acquired lease, if it exists.

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;
 // Optional HTTP request conditions that can be used to narrow the scope of the request.
 // The request conditions can be used to have the leasing request only succeed if the resource has been
 // modified and/or unmodified within a certain time frame and/or matches and/or doesn't match a specific ETag,
 // or any ETag.
 RequestConditions modifiedRequestConditions = yourOptionalRequestConditions;

 client.breakLeaseWithResponse(retainLeaseInSeconds, modifiedRequestConditions).subscribe(response ->
     System.out.printf("The broken lease has %d seconds remaining on the lease", response.getValue()));

Parameters:

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.

Returns:

A reactive response containing the remaining time in the broken lease in seconds.

changeLease

public Mono<String> changeLease(String proposedId)

Changes the lease ID.

Code Samples

client.changeLease("proposedId").subscribe(response -> System.out.printf("Changed lease ID is %s%n", response));

Parameters:

proposedId - A new lease ID in a valid GUID format.

Returns:

A reactive response containing the new lease ID.

changeLeaseWithResponse

public Mono<Response<String>> changeLeaseWithResponse(String proposedId, RequestConditions modifiedRequestConditions)

Changes the lease ID.

Code Samples

// Optional HTTP request conditions that can be used to narrow the scope of the request.
 // The request conditions can be used to have the leasing request only succeed if the resource has been
 // modified and/or unmodified within a certain time frame and/or matches and/or doesn't match a specific ETag,
 // or any ETag.
 RequestConditions modifiedRequestConditions = yourOptionalRequestConditions;

 client.changeLeaseWithResponse("proposedId", modifiedRequestConditions).subscribe(response ->
     System.out.printf("Changed lease ID is %s%n", response.getValue()));

Parameters:

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.

Returns:

A reactive response containing the new lease ID.

getAccountName

public String getAccountName()

Get associated account name.

Returns:

account name associated with this storage resource.

getLeaseId

public String getLeaseId()

Get the lease ID for this lease.

Returns:

the lease ID.

getResourceUrl

public String getResourceUrl()

Gets the URL of the lease client.

The lease will either be a file system or path URL depending on which the lease client is associated.

Returns:

URL of the lease client.

releaseLease

public Mono<Void> releaseLease()

Releases the previously acquired lease.

Code Samples

client.releaseLease().subscribe(response -> System.out.println("Completed release lease"));

Returns:

A reactive response signalling completion.

releaseLeaseWithResponse

public Mono<Response<Void>> releaseLeaseWithResponse(RequestConditions modifiedRequestConditions)

Releases the previously acquired lease.

Code Samples

// Optional HTTP request conditions that can be used to narrow the scope of the request.
 // The request conditions can be used to have the leasing request only succeed if the resource has been
 // modified and/or unmodified within a certain time frame and/or matches and/or doesn't match a specific ETag,
 // or any ETag.
 RequestConditions modifiedRequestConditions = yourOptionalRequestConditions;

 client.releaseLeaseWithResponse(modifiedRequestConditions).subscribe(response ->
     System.out.printf("Release lease completed with status %d%n", response.getStatusCode()));

Parameters:

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.

Returns:

A reactive response signalling completion.

renewLease

public Mono<String> renewLease()

Renews the previously acquired lease.

Code Samples

client.renewLease().subscribe(response -> System.out.printf("Renewed lease ID is %s%n", response));

Returns:

A reactive response containing the renewed lease ID.

renewLeaseWithResponse

public Mono<Response<String>> renewLeaseWithResponse(RequestConditions modifiedRequestConditions)

Renews the previously acquired lease.

Code Samples

// Optional HTTP request conditions that can be used to narrow the scope of the request.
 // The request conditions can be used to have the leasing request only succeed if the resource has been
 // modified and/or unmodified within a certain time frame and/or matches and/or doesn't match a specific ETag,
 // or any ETag.
 RequestConditions modifiedRequestConditions = yourOptionalRequestConditions;

 client.renewLeaseWithResponse(modifiedRequestConditions).subscribe(response ->
     System.out.printf("Renewed lease ID is %s%n", response.getValue()));

Parameters:

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.

Returns:

A reactive response containing the renewed lease ID.

Applies to