DataLakeLeaseClient Class
- java.
lang. Object - com.
azure. storage. file. datalake. specialized. DataLakeLeaseClient
- com.
public final class DataLakeLeaseClient
This class provides a client that contains all the leasing operations for DataLakeFileSystemClient and DataLakePathClient. This client acts as a supplement to those clients and only handles leasing operations.
Instantiating a DataLakeLeaseClient
DataLakeLeaseClient dataLakeLeaseClient = new DataLakeLeaseClientBuilder()
.fileClient(fileClient)
.buildClient();
DataLakeLeaseClient dataLakeLeaseClient = new DataLakeLeaseClientBuilder()
.directoryClient(directoryClient)
.buildClient();
DataLakeLeaseClient dataLakeLeaseClient = new DataLakeLeaseClientBuilder()
.fileSystemClient(dataLakeFileSystemClient)
.buildClient();
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
Methods inherited from java.lang.Object
Method Details
acquireLease
public String acquireLease(int durationInSeconds)
Acquires a lease for write and delete operations. The lease duration must be between 15 to 60 seconds or -1 for an infinite duration.
Code Samples
System.out.printf("Lease ID is %s%n", client.acquireLease(60));
Parameters:
Returns:
acquireLeaseWithResponse
public Response<String> acquireLeaseWithResponse(int durationInSeconds, RequestConditions modifiedRequestConditions, Duration timeout, Context context)
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;
System.out.printf("Lease ID is %s%n", client
.acquireLeaseWithResponse(60, modifiedRequestConditions, timeout, new Context(key, value))
.getValue());
Parameters:
Returns:
breakLease
public Integer breakLease()
Breaks the previously acquired lease, if it exists.
Code Samples
System.out.printf("The broken lease has %d seconds remaining on the lease", client.breakLease());
Returns:
breakLeaseWithResponse
public Response<Integer> breakLeaseWithResponse(Integer breakPeriodInSeconds, RequestConditions modifiedRequestConditions, Duration timeout, Context context)
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;
System.out.printf("The broken lease has %d seconds remaining on the lease", client
.breakLeaseWithResponse(retainLeaseInSeconds, modifiedRequestConditions, timeout, new Context(key, value))
.getValue());
Parameters:
Returns:
changeLease
public String changeLease(String proposedId)
Changes the lease ID.
Code Samples
System.out.printf("Changed lease ID is %s%n", client.changeLease("proposedId"));
Parameters:
Returns:
changeLeaseWithResponse
public Response<String> changeLeaseWithResponse(String proposedId, RequestConditions modifiedRequestConditions, Duration timeout, Context context)
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;
System.out.printf("Changed lease ID is %s%n",
client.changeLeaseWithResponse("proposedId", modifiedRequestConditions, timeout, new Context(key, value))
.getValue());
Parameters:
Returns:
getAccountName
public String getAccountName()
Get associated account name.
Returns:
getLeaseId
public String getLeaseId()
Get the lease ID for this lease.
Returns:
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:
releaseLease
public void releaseLease()
Releases the previously acquired lease.
Code Samples
client.releaseLease();
System.out.println("Release lease completed");
releaseLeaseWithResponse
public Response<Void> releaseLeaseWithResponse(RequestConditions modifiedRequestConditions, Duration timeout, Context context)
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;
System.out.printf("Release lease completed with status %d%n",
client.releaseLeaseWithResponse(modifiedRequestConditions, timeout, new Context(key, value))
.getStatusCode());
Parameters:
Returns:
renewLease
public String renewLease()
Renews the previously acquired lease.
Code Samples
System.out.printf("Renewed lease ID is %s%n", client.renewLease());
Returns:
renewLeaseWithResponse
public Response<String> renewLeaseWithResponse(RequestConditions modifiedRequestConditions, Duration timeout, Context context)
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;
System.out.printf("Renewed lease ID is %s%n",
client.renewLeaseWithResponse(modifiedRequestConditions, timeout, new Context(key, value))
.getValue());
Parameters:
Returns: