Class ShareAsyncClient
- java.lang.Object
-
- com.azure.storage.file.share.ShareAsyncClient
-
public class ShareAsyncClient extends Object
This class provides a azureFileStorageClient that contains all the operations for interacting with a share in Azure Storage Share. Operations allowed by the azureFileStorageClient are creating and deleting the share, creating snapshots for the share, creating and deleting directories in the share and retrieving and updating properties metadata and access policies of the share.Instantiating an Asynchronous Share Client
ShareAsyncClient client = new ShareClientBuilder() .connectionString("${connectionString}") .endpoint("${endpoint}") .buildAsyncClient();
View
this
for additional ways to construct the azureFileStorageClient.- See Also:
ShareClientBuilder
,ShareClient
,StorageSharedKeyCredential
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Mono<ShareInfo>
create()
Creates the share in the storage account.Mono<ShareDirectoryAsyncClient>
createDirectory(String directoryName)
Creates the directory in the share with the given name.Mono<com.azure.core.http.rest.Response<ShareDirectoryAsyncClient>>
createDirectoryWithResponse(String directoryName, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata)
Creates the directory in the share with the given name and associates the passed metadata to it.Mono<ShareFileAsyncClient>
createFile(String fileName, long maxSize)
Creates the file in the share with the given name and file max size.Mono<com.azure.core.http.rest.Response<ShareFileAsyncClient>>
createFileWithResponse(String fileName, long maxSize, ShareFileHttpHeaders httpHeaders, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata)
Creates the file in the share with the given name, file max size and associates the passed properties to it.Mono<com.azure.core.http.rest.Response<ShareFileAsyncClient>>
createFileWithResponse(String fileName, long maxSize, ShareFileHttpHeaders httpHeaders, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata, ShareRequestConditions requestConditions)
Creates the file in the share with the given name, file max size and associates the passed properties to it.Mono<String>
createPermission(String filePermission)
Creates a permission at the share level.Mono<com.azure.core.http.rest.Response<String>>
createPermissionWithResponse(String filePermission)
Creates a permission at the share level.Mono<ShareSnapshotInfo>
createSnapshot()
Creates a snapshot of the share with the same metadata associated to the share at the time of creation.Mono<com.azure.core.http.rest.Response<ShareSnapshotInfo>>
createSnapshotWithResponse(Map<String,String> metadata)
Creates a snapshot of the share with the metadata that was passed associated to the snapshot.Mono<com.azure.core.http.rest.Response<ShareInfo>>
createWithResponse(ShareCreateOptions options)
Creates the share in the storage account with the specified options.Mono<com.azure.core.http.rest.Response<ShareInfo>>
createWithResponse(Map<String,String> metadata, Integer quotaInGB)
Creates the share in the storage account with the specified metadata and quota.Mono<Void>
delete()
Deletes the share in the storage accountMono<Void>
deleteDirectory(String directoryName)
Deletes the specified directory in the share.Mono<com.azure.core.http.rest.Response<Void>>
deleteDirectoryWithResponse(String directoryName)
Deletes the specified directory in the share.Mono<Void>
deleteFile(String fileName)
Deletes the specified file in the share.Mono<com.azure.core.http.rest.Response<Void>>
deleteFileWithResponse(String fileName)
Deletes the specified file in the share.Mono<com.azure.core.http.rest.Response<Void>>
deleteFileWithResponse(String fileName, ShareRequestConditions requestConditions)
Deletes the specified file in the share.Mono<com.azure.core.http.rest.Response<Void>>
deleteWithResponse()
Deletes the share in the storage accountMono<com.azure.core.http.rest.Response<Void>>
deleteWithResponse(ShareDeleteOptions options)
Deletes the share in the storage accountMono<Boolean>
exists()
Determines if the share this client represents exists in the cloud.Mono<com.azure.core.http.rest.Response<Boolean>>
existsWithResponse()
Determines if the share this client represents exists in the cloud.String
generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues)
Generates a service sas for the queue using the specifiedShareServiceSasSignatureValues
String
generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues, com.azure.core.util.Context context)
Generates a service sas for the queue using the specifiedShareServiceSasSignatureValues
com.azure.core.http.rest.PagedFlux<ShareSignedIdentifier>
getAccessPolicy()
Retrieves stored access policies specified for the share.com.azure.core.http.rest.PagedFlux<ShareSignedIdentifier>
getAccessPolicy(ShareGetAccessPolicyOptions options)
Retrieves stored access policies specified for the share.String
getAccountName()
Get associated account name.String
getAccountUrl()
Get the url of the storage account.ShareDirectoryAsyncClient
getDirectoryClient(String directoryName)
Constructs aShareDirectoryAsyncClient
that interacts with the specified directory.ShareFileAsyncClient
getFileClient(String filePath)
Constructs aShareFileAsyncClient
that interacts with the specified file.com.azure.core.http.HttpPipeline
getHttpPipeline()
Gets theHttpPipeline
powering this client.Mono<String>
getPermission(String filePermissionKey)
Gets a permission for a given key.Mono<com.azure.core.http.rest.Response<String>>
getPermissionWithResponse(String filePermissionKey)
Gets a permission for a given key.Mono<ShareProperties>
getProperties()
Retrieves the properties of the share, these include the metadata associated to it and the quota that the share is restricted to.Mono<com.azure.core.http.rest.Response<ShareProperties>>
getPropertiesWithResponse()
Retrieves the properties of the share, these include the metadata associated with it and the quota that the share is restricted to.Mono<com.azure.core.http.rest.Response<ShareProperties>>
getPropertiesWithResponse(ShareGetPropertiesOptions options)
Retrieves the properties of the share, these include the metadata associated with it and the quota that the share is restricted to.ShareDirectoryAsyncClient
getRootDirectoryClient()
Constructs aShareDirectoryAsyncClient
that interacts with the root directory in the share.ShareServiceVersion
getServiceVersion()
Gets the service version the client is using.String
getShareName()
Get share name from share client.String
getShareUrl()
Get the url of the storage share client.ShareAsyncClient
getSnapshotClient(String snapshot)
Creates a newShareAsyncClient
linked to thesnapshot
of this share resource.String
getSnapshotId()
Get snapshot id which attached toShareAsyncClient
.Mono<ShareStatistics>
getStatistics()
Retrieves storage statistics about the share.Mono<com.azure.core.http.rest.Response<ShareStatistics>>
getStatisticsWithResponse()
Retrieves storage statistics about the share.Mono<com.azure.core.http.rest.Response<ShareStatistics>>
getStatisticsWithResponse(ShareGetStatisticsOptions options)
Retrieves storage statistics about the share.Mono<ShareInfo>
setAccessPolicy(List<ShareSignedIdentifier> permissions)
Sets stored access policies for the share.Mono<com.azure.core.http.rest.Response<ShareInfo>>
setAccessPolicyWithResponse(ShareSetAccessPolicyOptions options)
Sets stored access policies for the share.Mono<com.azure.core.http.rest.Response<ShareInfo>>
setAccessPolicyWithResponse(List<ShareSignedIdentifier> permissions)
Sets stored access policies for the share.Mono<ShareInfo>
setMetadata(Map<String,String> metadata)
Sets the user-defined metadata to associate to the share.Mono<com.azure.core.http.rest.Response<ShareInfo>>
setMetadataWithResponse(ShareSetMetadataOptions options)
Sets the user-defined metadata to associate to the share.Mono<com.azure.core.http.rest.Response<ShareInfo>>
setMetadataWithResponse(Map<String,String> metadata)
Sets the user-defined metadata to associate to the share.Mono<ShareInfo>
setProperties(ShareSetPropertiesOptions options)
Sets the share's properties.Mono<com.azure.core.http.rest.Response<ShareInfo>>
setPropertiesWithResponse(ShareSetPropertiesOptions options)
Sets the share's properties.Mono<ShareInfo>
setQuota(int quotaInGB)
Deprecated.Mono<com.azure.core.http.rest.Response<ShareInfo>>
setQuotaWithResponse(int quotaInGB)
Deprecated.
-
-
-
Method Detail
-
getAccountUrl
public String getAccountUrl()
Get the url of the storage account.- Returns:
- the URL of the storage account
-
getShareUrl
public String getShareUrl()
Get the url of the storage share client.- Returns:
- the url of the Storage Share.
-
getServiceVersion
public ShareServiceVersion getServiceVersion()
Gets the service version the client is using.- Returns:
- the service version the client is using.
-
getRootDirectoryClient
public ShareDirectoryAsyncClient getRootDirectoryClient()
Constructs aShareDirectoryAsyncClient
that interacts with the root directory in the share.If the directory doesn't exist in the share
ShareDirectoryAsyncClient.create()
in the azureFileStorageClient will need to be called before interaction with the directory can happen.- Returns:
- a
ShareDirectoryAsyncClient
that interacts with the root directory in the share
-
getDirectoryClient
public ShareDirectoryAsyncClient getDirectoryClient(String directoryName)
Constructs aShareDirectoryAsyncClient
that interacts with the specified directory.If the directory doesn't exist in the share
create
in the azureFileStorageClient will need to be called before interaction with the directory can happen.- Parameters:
directoryName
- Name of the directory- Returns:
- a
ShareDirectoryAsyncClient
that interacts with the directory in the share
-
getFileClient
public ShareFileAsyncClient getFileClient(String filePath)
Constructs aShareFileAsyncClient
that interacts with the specified file.If the file doesn't exist in the share
ShareFileAsyncClient.create(long)
) create} in the client will need to be called before interaction with the file can happen.- Parameters:
filePath
- Name of the file- Returns:
- a
ShareFileAsyncClient
that interacts with the file in the share
-
getSnapshotClient
public ShareAsyncClient getSnapshotClient(String snapshot)
Creates a newShareAsyncClient
linked to thesnapshot
of this share resource.- Parameters:
snapshot
- the identifier for a specific snapshot of this share- Returns:
- a
ShareAsyncClient
used to interact with the specific snapshot.
-
exists
public Mono<Boolean> exists()
Determines if the share this client represents exists in the cloud.Code Samples
client.exists().subscribe(response -> System.out.printf("Exists? %b%n", response));
- Returns:
- Flag indicating existence of the share.
-
existsWithResponse
public Mono<com.azure.core.http.rest.Response<Boolean>> existsWithResponse()
Determines if the share this client represents exists in the cloud.Code Samples
client.existsWithResponse().subscribe(response -> System.out.printf("Exists? %b%n", response.getValue()));
- Returns:
- Flag indicating existence of the share.
-
create
public Mono<ShareInfo> create()
Creates the share in the storage account.Code Samples
Create the share
shareAsyncClient.create().subscribe( response -> { }, error -> System.err.print(error.toString()), () -> System.out.println("Complete creating the share!") );
For more information, see the Azure Docs.
- Returns:
- The information about the
share
- Throws:
ShareStorageException
- If the share already exists with different metadata
-
createWithResponse
public Mono<com.azure.core.http.rest.Response<ShareInfo>> createWithResponse(Map<String,String> metadata, Integer quotaInGB)
Creates the share in the storage account with the specified metadata and quota.Code Samples
Create the share with metadata "share:metadata"
shareAsyncClient.createWithResponse(Collections.singletonMap("share", "metadata"), null).subscribe( response -> System.out.printf("Creating the share completed with status code %d", response.getStatusCode()), error -> System.err.print(error.toString()), () -> System.out.println("Complete creating the share!") );
Create the share with a quota of 10 GB
shareAsyncClient.createWithResponse(null, 10).subscribe( response -> System.out.printf("Creating the share completed with status code %d", response.getStatusCode()), error -> System.err.print(error.toString()), () -> System.out.println("Complete creating the share!") );
For more information, see the Azure Docs.
- Parameters:
metadata
- Optional metadata to associate with the sharequotaInGB
- Optional maximum size the share is allowed to grow to in GB. This must be greater than 0 and less than or equal to 5120. The default value is 5120.- Returns:
- A response containing information about the
share
and the status its creation. - Throws:
ShareStorageException
- If the share already exists with different metadata orquotaInGB
is outside the allowed range.
-
createWithResponse
public Mono<com.azure.core.http.rest.Response<ShareInfo>> createWithResponse(ShareCreateOptions options)
Creates the share in the storage account with the specified options.Code Samples
Create the share with optional parameters
shareAsyncClient.createWithResponse(new ShareCreateOptions() .setMetadata(Collections.singletonMap("share", "metadata")).setQuotaInGb(1) .setAccessTier(ShareAccessTier.HOT)).subscribe( response -> System.out.printf("Creating the share completed with status code %d", response.getStatusCode()), error -> System.err.print(error.toString()), () -> System.out.println("Complete creating the share!") );
For more information, see the Azure Docs.
- Parameters:
options
-ShareCreateOptions
- Returns:
- A response containing information about the
share
and the status its creation. - Throws:
ShareStorageException
- If the share already exists with different metadata orquotaInGB
is outside the allowed range.
-
createSnapshot
public Mono<ShareSnapshotInfo> createSnapshot()
Creates a snapshot of the share with the same metadata associated to the share at the time of creation.Code Samples
Create a snapshot
shareAsyncClient.createSnapshot().subscribe( response -> System.out.println("Successfully creating the share snapshot with snapshot id: " + response.getSnapshot()), error -> System.err.println(error.toString()), () -> System.out.println("Complete creating the share snapshot.") );
For more information, see the Azure Docs.
- Returns:
- The information about the
snapshot of share
. - Throws:
ShareStorageException
- If the share doesn't exist, there are 200 snapshots of the share, or a snapshot is in progress for the share
-
createSnapshotWithResponse
public Mono<com.azure.core.http.rest.Response<ShareSnapshotInfo>> createSnapshotWithResponse(Map<String,String> metadata)
Creates a snapshot of the share with the metadata that was passed associated to the snapshot.Code Samples
Create a snapshot with metadata "snapshot:metadata"
shareAsyncClient.createSnapshotWithResponse(Collections.singletonMap("snapshot", "metadata")).subscribe( response -> System.out.println("Successfully creating the share snapshot with snapshot id: " + response.getValue().getSnapshot()), error -> System.err.println(error.toString()), () -> System.out.println("Complete creating the share snapshot.") );
For more information, see the Azure Docs.
- Parameters:
metadata
- Optional metadata to associate with the snapshot. Ifnull
the metadata of the share will be copied to the snapshot.- Returns:
- A response containing information about the
snapshot of share
. - Throws:
ShareStorageException
- If the share doesn't exist, there are 200 snapshots of the share, or a snapshot is in progress for the share
-
delete
public Mono<Void> delete()
Deletes the share in the storage accountCode Samples
Delete the share
shareAsyncClient.delete().subscribe( response -> System.out.println("Deleting the shareAsyncClient completed."), error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the share.") );
For more information, see the Azure Docs.
- Returns:
- An empty response
- Throws:
ShareStorageException
- If the share doesn't exist
-
deleteWithResponse
public Mono<com.azure.core.http.rest.Response<Void>> deleteWithResponse()
Deletes the share in the storage accountCode Samples
Delete the share
shareAsyncClient.deleteWithResponse().subscribe( response -> System.out.println("Deleting the shareAsyncClient completed with status code: " + response.getStatusCode()), error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the share.") );
For more information, see the Azure Docs.
- Returns:
- A response that only contains headers and response status code
- Throws:
ShareStorageException
- If the share doesn't exist
-
deleteWithResponse
public Mono<com.azure.core.http.rest.Response<Void>> deleteWithResponse(ShareDeleteOptions options)
Deletes the share in the storage accountCode Samples
Delete the share
shareAsyncClient.deleteWithResponse(new ShareDeleteOptions() .setRequestConditions(new ShareRequestConditions().setLeaseId(leaseId))).subscribe( response -> System.out.println("Deleting the shareAsyncClient completed with status code: " + response.getStatusCode()), error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the share.") );
For more information, see the Azure Docs.
- Parameters:
options
-ShareDeleteOptions
- Returns:
- A response that only contains headers and response status code
- Throws:
ShareStorageException
- If the share doesn't exist
-
getProperties
public Mono<ShareProperties> getProperties()
Retrieves the properties of the share, these include the metadata associated to it and the quota that the share is restricted to.Code Samples
Retrieve the share properties
shareAsyncClient.getProperties() .subscribe(properties -> { System.out.printf("Share quota: %d, Metadata: %s", properties.getQuota(), properties.getMetadata()); });
For more information, see the Azure Docs.
- Returns:
- The
properties of the share
- Throws:
ShareStorageException
- If the share doesn't exist
-
getPropertiesWithResponse
public Mono<com.azure.core.http.rest.Response<ShareProperties>> getPropertiesWithResponse()
Retrieves the properties of the share, these include the metadata associated with it and the quota that the share is restricted to.Code Samples
Retrieve the share properties
shareAsyncClient.getPropertiesWithResponse() .subscribe(properties -> { System.out.printf("Share quota: %d, Metadata: %s", properties.getValue().getQuota(), properties.getValue().getMetadata()); });
For more information, see the Azure Docs.
- Returns:
- A response containing the
properties of the share
with headers and response status code - Throws:
ShareStorageException
- If the share doesn't exist
-
getPropertiesWithResponse
public Mono<com.azure.core.http.rest.Response<ShareProperties>> getPropertiesWithResponse(ShareGetPropertiesOptions options)
Retrieves the properties of the share, these include the metadata associated with it and the quota that the share is restricted to.Code Samples
Retrieve the share properties
shareAsyncClient.getPropertiesWithResponse(new ShareGetPropertiesOptions() .setRequestConditions(new ShareRequestConditions().setLeaseId(leaseId))) .subscribe(properties -> { System.out.printf("Share quota: %d, Metadata: %s", properties.getValue().getQuota(), properties.getValue().getMetadata()); });
For more information, see the Azure Docs.
- Parameters:
options
-ShareGetPropertiesOptions
- Returns:
- A response containing the
properties of the share
with headers and response status code - Throws:
ShareStorageException
- If the share doesn't exist
-
setQuota
@Deprecated public Mono<ShareInfo> setQuota(int quotaInGB)
Deprecated.Sets the maximum size in GB that the share is allowed to grow.Code Samples
Set the quota to 1024 GB
shareAsyncClient.setQuota(1024).doOnSuccess(response -> System.out.println("Setting the share quota completed.") );
For more information, see the Azure Docs.
- Parameters:
quotaInGB
- Size in GB to limit the share's growth. The quota in GB must be between 1 and 5120.- Returns:
- The
information about the share
- Throws:
ShareStorageException
- If the share doesn't exist orquotaInGB
is outside the allowed bounds
-
setQuotaWithResponse
@Deprecated public Mono<com.azure.core.http.rest.Response<ShareInfo>> setQuotaWithResponse(int quotaInGB)
Deprecated.Sets the maximum size in GB that the share is allowed to grow.Code Samples
Set the quota to 1024 GB
shareAsyncClient.setQuotaWithResponse(1024) .subscribe(response -> System.out.printf("Setting the share quota completed with status code %d", response.getStatusCode()) );
For more information, see the Azure Docs.
- Parameters:
quotaInGB
- Size in GB to limit the share's growth. The quota in GB must be between 1 and 5120.- Returns:
- A response containing the
information about the share
with headers and response status code - Throws:
ShareStorageException
- If the share doesn't exist orquotaInGB
is outside the allowed bounds
-
setProperties
public Mono<ShareInfo> setProperties(ShareSetPropertiesOptions options)
Sets the share's properties.Code Samples
shareAsyncClient.setProperties(new ShareSetPropertiesOptions().setAccessTier(ShareAccessTier.HOT) .setQuotaInGb(2014)) .doOnSuccess(response -> System.out.println("Setting the share access tier completed."));
For more information, see the Azure Docs.
- Parameters:
options
-ShareSetPropertiesOptions
- Returns:
- The
information about the share
-
setPropertiesWithResponse
public Mono<com.azure.core.http.rest.Response<ShareInfo>> setPropertiesWithResponse(ShareSetPropertiesOptions options)
Sets the share's properties.Code Samples
shareAsyncClient.setPropertiesWithResponse(new ShareSetPropertiesOptions().setAccessTier(ShareAccessTier.HOT) .setQuotaInGb(1024).setRequestConditions(new ShareRequestConditions().setLeaseId(leaseId))) .subscribe(response -> System.out.printf("Setting the share quota completed with status code %d", response.getStatusCode()) );
For more information, see the Azure Docs.
- Parameters:
options
-ShareSetPropertiesOptions
- Returns:
- A response containing the
information about the share
with headers and response status code
-
setMetadata
public Mono<ShareInfo> setMetadata(Map<String,String> metadata)
Sets the user-defined metadata to associate to the share.If
null
is passed for the metadata it will clear the metadata associated to the share.Code Samples
Set the metadata to "share:updatedMetadata"
shareAsyncClient.setMetadata(Collections.singletonMap("share", "updatedMetadata")).doOnSuccess(response -> System.out.println("Setting the share metadata completed.") );
Clear the metadata of the share
shareAsyncClient.setMetadata(null).doOnSuccess(response -> System.out.println("Setting the share metadata completed.") );
For more information, see the Azure Docs.
- Parameters:
metadata
- Metadata to set on the share, if null is passed the metadata for the share is cleared- Returns:
- The
information about the share
- Throws:
ShareStorageException
- If the share doesn't exist or the metadata contains invalid keys
-
setMetadataWithResponse
public Mono<com.azure.core.http.rest.Response<ShareInfo>> setMetadataWithResponse(Map<String,String> metadata)
Sets the user-defined metadata to associate to the share.If
null
is passed for the metadata it will clear the metadata associated to the share.Code Samples
Set the metadata to "share:updatedMetadata"
shareAsyncClient.setMetadata(Collections.singletonMap("share", "updatedMetadata")).doOnSuccess(response -> System.out.println("Setting the share metadata completed.") );
Clear the metadata of the share
shareAsyncClient.setMetadata(null).doOnSuccess(response -> System.out.println("Setting the share metadata completed.") );
For more information, see the Azure Docs.
- Parameters:
metadata
- Metadata to set on the share, if null is passed the metadata for the share is cleared- Returns:
- A response containing the
information about the share
with headers and response status code - Throws:
ShareStorageException
- If the share doesn't exist or the metadata contains invalid keys
-
setMetadataWithResponse
public Mono<com.azure.core.http.rest.Response<ShareInfo>> setMetadataWithResponse(ShareSetMetadataOptions options)
Sets the user-defined metadata to associate to the share.If
null
is passed for the metadata it will clear the metadata associated to the share.Code Samples
shareAsyncClient.setMetadataWithResponse(new ShareSetMetadataOptions() .setMetadata(Collections.singletonMap("share", "updatedMetadata")) .setRequestConditions(new ShareRequestConditions().setLeaseId(leaseId))) .subscribe(response -> System.out.printf("Setting the share metadata completed with status code %d", response.getStatusCode()) );
For more information, see the Azure Docs.
- Parameters:
options
-ShareSetMetadataOptions
- Returns:
- A response containing the
information about the share
with headers and response status code - Throws:
ShareStorageException
- If the share doesn't exist or the metadata contains invalid keys
-
getAccessPolicy
public com.azure.core.http.rest.PagedFlux<ShareSignedIdentifier> getAccessPolicy()
Retrieves stored access policies specified for the share.Code Samples
List the stored access policies
shareAsyncClient.getAccessPolicy() .subscribe(result -> System.out.printf("Access policy %s allows these permissions: %s", result.getId(), result.getAccessPolicy().getPermissions()) );
For more information, see the Azure Docs.
- Returns:
- The stored access policies specified on the queue.
- Throws:
ShareStorageException
- If the share doesn't exist
-
getAccessPolicy
public com.azure.core.http.rest.PagedFlux<ShareSignedIdentifier> getAccessPolicy(ShareGetAccessPolicyOptions options)
Retrieves stored access policies specified for the share.Code Samples
List the stored access policies
shareAsyncClient.getAccessPolicy(new ShareGetAccessPolicyOptions() .setRequestConditions(new ShareRequestConditions().setLeaseId(leaseId))) .subscribe(result -> System.out.printf("Access policy %s allows these permissions: %s", result.getId(), result.getAccessPolicy().getPermissions()) );
For more information, see the Azure Docs.
- Parameters:
options
-ShareGetAccessPolicyOptions
- Returns:
- The stored access policies specified on the queue.
- Throws:
ShareStorageException
- If the share doesn't exist
-
setAccessPolicy
public Mono<ShareInfo> setAccessPolicy(List<ShareSignedIdentifier> permissions)
Sets stored access policies for the share.Code Samples
Set a read only stored access policy
ShareAccessPolicy accessPolicy = new ShareAccessPolicy().setPermissions("r") .setStartsOn(OffsetDateTime.now(ZoneOffset.UTC)) .setExpiresOn(OffsetDateTime.now(ZoneOffset.UTC).plusDays(10)); ShareSignedIdentifier permission = new ShareSignedIdentifier().setId("mypolicy").setAccessPolicy(accessPolicy); shareAsyncClient.setAccessPolicy(Collections.singletonList(permission)).doOnSuccess( response -> System.out.println("Setting access policies completed."));
For more information, see the Azure Docs.
- Parameters:
permissions
- Access policies to set on the queue- Returns:
- The
information about the share
- Throws:
ShareStorageException
- If the share doesn't exist, a stored access policy doesn't have all fields filled out, or the share will have more than five policies.
-
setAccessPolicyWithResponse
public Mono<com.azure.core.http.rest.Response<ShareInfo>> setAccessPolicyWithResponse(List<ShareSignedIdentifier> permissions)
Sets stored access policies for the share.Code Samples
Set a read only stored access policy
ShareAccessPolicy accessPolicy = new ShareAccessPolicy().setPermissions("r") .setStartsOn(OffsetDateTime.now(ZoneOffset.UTC)) .setExpiresOn(OffsetDateTime.now(ZoneOffset.UTC).plusDays(10)); ShareSignedIdentifier permission = new ShareSignedIdentifier().setId("mypolicy").setAccessPolicy(accessPolicy); shareAsyncClient.setAccessPolicyWithResponse(Collections.singletonList(permission)) .subscribe(response -> System.out.printf("Setting access policies completed completed with status code %d", response.getStatusCode()));
For more information, see the Azure Docs.
- Parameters:
permissions
- Access policies to set on the queue- Returns:
- A response containing the
information about the share
with headers and response status code - Throws:
ShareStorageException
- If the share doesn't exist, a stored access policy doesn't have all fields filled out, or the share will have more than five policies.
-
setAccessPolicyWithResponse
public Mono<com.azure.core.http.rest.Response<ShareInfo>> setAccessPolicyWithResponse(ShareSetAccessPolicyOptions options)
Sets stored access policies for the share.Code Samples
Set a read only stored access policy
ShareAccessPolicy accessPolicy = new ShareAccessPolicy().setPermissions("r") .setStartsOn(OffsetDateTime.now(ZoneOffset.UTC)) .setExpiresOn(OffsetDateTime.now(ZoneOffset.UTC).plusDays(10)); ShareSignedIdentifier permission = new ShareSignedIdentifier().setId("mypolicy").setAccessPolicy(accessPolicy); shareAsyncClient.setAccessPolicyWithResponse(new ShareSetAccessPolicyOptions() .setPermissions(Collections.singletonList(permission)) .setRequestConditions(new ShareRequestConditions().setLeaseId(leaseId))) .subscribe(response -> System.out.printf("Setting access policies completed completed with status code %d", response.getStatusCode()));
For more information, see the Azure Docs.
- Parameters:
options
-ShareSetAccessPolicyOptions
- Returns:
- A response containing the
information about the share
with headers and response status code - Throws:
ShareStorageException
- If the share doesn't exist, a stored access policy doesn't have all fields filled out, or the share will have more than five policies.
-
getStatistics
public Mono<ShareStatistics> getStatistics()
Retrieves storage statistics about the share.Code Samples
Retrieve the storage statistics
shareAsyncClient.getStatistics().doOnSuccess(response -> System.out.printf("The share is using %d GB", response.getShareUsageInGB()));
For more information, see the Azure Docs.
- Returns:
- The storage
statistics of the share
-
getStatisticsWithResponse
public Mono<com.azure.core.http.rest.Response<ShareStatistics>> getStatisticsWithResponse()
Retrieves storage statistics about the share.Code Samples
Retrieve the storage statistics
shareAsyncClient.getStatisticsWithResponse().subscribe(response -> System.out.printf("The share is using %d GB", response.getValue().getShareUsageInGB()));
For more information, see the Azure Docs.
- Returns:
- A response containing the storage
statistics of the share
with headers and response status code
-
getStatisticsWithResponse
public Mono<com.azure.core.http.rest.Response<ShareStatistics>> getStatisticsWithResponse(ShareGetStatisticsOptions options)
Retrieves storage statistics about the share.Code Samples
Retrieve the storage statistics
shareAsyncClient.getStatisticsWithResponse(new ShareGetStatisticsOptions() .setRequestConditions(new ShareRequestConditions().setLeaseId(leaseId))) .subscribe(response -> System.out.printf("The share is using %d GB", response.getValue().getShareUsageInGB()));
For more information, see the Azure Docs.
- Parameters:
options
-ShareGetStatisticsOptions
- Returns:
- A response containing the storage
statistics of the share
with headers and response status code
-
createDirectory
public Mono<ShareDirectoryAsyncClient> createDirectory(String directoryName)
Creates the directory in the share with the given name.Code Samples
Create the directory "mydirectory"
shareAsyncClient.createDirectory("mydirectory").subscribe( response -> { }, error -> System.err.print(error.toString()), () -> System.out.println("Complete creating the directory!") );
For more information, see the Azure Docs.
- Parameters:
directoryName
- Name of the directory- Returns:
- The
ShareDirectoryAsyncClient
to interact with the created directory. - Throws:
ShareStorageException
- If the share doesn't exist, the directory already exists or is in the process of being deleted, or the parent directory for the new directory doesn't exist
-
createDirectoryWithResponse
public Mono<com.azure.core.http.rest.Response<ShareDirectoryAsyncClient>> createDirectoryWithResponse(String directoryName, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata)
Creates the directory in the share with the given name and associates the passed metadata to it.Code Samples
Create the directory "documents" with metadata "directory:metadata"
FileSmbProperties smbProperties = new FileSmbProperties(); String filePermission = "filePermission"; shareAsyncClient.createDirectoryWithResponse("documents", smbProperties, filePermission, Collections.singletonMap("directory", "metadata")) .subscribe(response -> System.out.printf("Creating the directory completed with status code %d", response.getStatusCode()));
For more information, see the Azure Docs.
- Parameters:
directoryName
- Name of the directorysmbProperties
- The SMB properties of the directory.filePermission
- The file permission of the directory.metadata
- Optional metadata to associate with the directory- Returns:
- A response containing a
ShareDirectoryAsyncClient
to interact with the created directory and the status of its creation. - Throws:
ShareStorageException
- If the share doesn't exist, the directory already exists or is in the process of being deleted, the parent directory for the new directory doesn't exist, or the metadata is using an illegal key name.
-
createFile
public Mono<ShareFileAsyncClient> createFile(String fileName, long maxSize)
Creates the file in the share with the given name and file max size.Code Samples
Create the file "myfile" with size of 1024 bytes.
shareAsyncClient.createFile("myfile", 1024).subscribe( response -> { }, error -> System.err.print(error.toString()), () -> System.out.println("Complete creating the directory!") );
For more information, see the Azure Docs.
- Parameters:
fileName
- Name of the file.maxSize
- The maximum size in bytes for the file.- Returns:
- The
ShareFileAsyncClient
to interact with the created file. - Throws:
ShareStorageException
- If one of the following cases happen:- If the share or parent directory does not exist.
- An attempt to create file on a share snapshot will fail with 400 (InvalidQueryParameterValue).
-
createFileWithResponse
public Mono<com.azure.core.http.rest.Response<ShareFileAsyncClient>> createFileWithResponse(String fileName, long maxSize, ShareFileHttpHeaders httpHeaders, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata)
Creates the file in the share with the given name, file max size and associates the passed properties to it.Code Samples
Create the file "myfile" with length of 1024 bytes, some headers, file smb properties and metadata
ShareFileHttpHeaders httpHeaders = new ShareFileHttpHeaders() .setContentType("text/html") .setContentEncoding("gzip") .setContentLanguage("en") .setCacheControl("no-transform") .setContentDisposition("attachment"); FileSmbProperties smbProperties = new FileSmbProperties() .setNtfsFileAttributes(EnumSet.of(NtfsFileAttributes.READ_ONLY)) .setFileCreationTime(OffsetDateTime.now()) .setFileLastWriteTime(OffsetDateTime.now()) .setFilePermissionKey("filePermissionKey"); String filePermission = "filePermission"; // NOTE: filePermission and filePermissionKey should never be both set shareAsyncClient.createFileWithResponse("myfile", 1024, httpHeaders, smbProperties, filePermission, Collections.singletonMap("directory", "metadata")) .subscribe(response -> System.out.printf("Creating the file completed with status code %d", response.getStatusCode()));
For more information, see the Azure Docs.
- Parameters:
fileName
- Name of the file.maxSize
- The maximum size in bytes for the file.httpHeaders
- The user settable file http headers.smbProperties
- The user settable file smb properties.filePermission
- The file permission of the file.metadata
- Optional name-value pairs associated with the file as metadata.- Returns:
- A response containing a
ShareFileAsyncClient
to interact with the created file and the status of its creation. - Throws:
ShareStorageException
- If one of the following cases happen:- If the share or parent directory does not exist.
- An attempt to create file on a share snapshot will fail with 400 (InvalidQueryParameterValue).
-
createFileWithResponse
public Mono<com.azure.core.http.rest.Response<ShareFileAsyncClient>> createFileWithResponse(String fileName, long maxSize, ShareFileHttpHeaders httpHeaders, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata, ShareRequestConditions requestConditions)
Creates the file in the share with the given name, file max size and associates the passed properties to it.Code Samples
Create the file "myfile" with length of 1024 bytes, some headers, file smb properties and metadata
ShareFileHttpHeaders httpHeaders = new ShareFileHttpHeaders() .setContentType("text/html") .setContentEncoding("gzip") .setContentLanguage("en") .setCacheControl("no-transform") .setContentDisposition("attachment"); FileSmbProperties smbProperties = new FileSmbProperties() .setNtfsFileAttributes(EnumSet.of(NtfsFileAttributes.READ_ONLY)) .setFileCreationTime(OffsetDateTime.now()) .setFileLastWriteTime(OffsetDateTime.now()) .setFilePermissionKey("filePermissionKey"); String filePermission = "filePermission"; // NOTE: filePermission and filePermissionKey should never be both set ShareRequestConditions requestConditions = new ShareRequestConditions().setLeaseId(leaseId); shareAsyncClient.createFileWithResponse("myfile", 1024, httpHeaders, smbProperties, filePermission, Collections.singletonMap("directory", "metadata"), requestConditions) .subscribe(response -> System.out.printf("Creating the file completed with status code %d", response.getStatusCode()));
For more information, see the Azure Docs.
- Parameters:
fileName
- Name of the file.maxSize
- The maximum size in bytes for the file.httpHeaders
- The user settable file http headers.smbProperties
- The user settable file smb properties.filePermission
- The file permission of the file.metadata
- Optional name-value pairs associated with the file as metadata.requestConditions
-ShareRequestConditions
- Returns:
- A response containing a
ShareFileAsyncClient
to interact with the created file and the status of its creation. - Throws:
ShareStorageException
- If one of the following cases happen:- If the share or parent directory does not exist.
- An attempt to create file on a share snapshot will fail with 400 (InvalidQueryParameterValue).
-
deleteDirectory
public Mono<Void> deleteDirectory(String directoryName)
Deletes the specified directory in the share.Code Samples
Delete the directory "mydirectory"
shareAsyncClient.deleteDirectory("mydirectory").subscribe( response -> { }, error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the directory.") );
For more information, see the Azure Docs.
- Parameters:
directoryName
- Name of the directory- Returns:
- An empty response
- Throws:
ShareStorageException
- If the share doesn't exist or the directory isn't empty
-
deleteDirectoryWithResponse
public Mono<com.azure.core.http.rest.Response<Void>> deleteDirectoryWithResponse(String directoryName)
Deletes the specified directory in the share.Code Samples
Delete the directory "mydirectory"
shareAsyncClient.deleteDirectory("mydirectory").subscribe( response -> { }, error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the directory.") );
For more information, see the Azure Docs.
- Parameters:
directoryName
- Name of the directory- Returns:
- A response that only contains headers and response status code
- Throws:
ShareStorageException
- If the share doesn't exist or the directory isn't empty
-
deleteFile
public Mono<Void> deleteFile(String fileName)
Deletes the specified file in the share.Code Samples
Delete the file "myfile"
shareAsyncClient.deleteFile("myfile").subscribe( response -> { }, error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the file.") );
For more information, see the Azure Docs.
- Parameters:
fileName
- Name of the file.- Returns:
- A empty response
- Throws:
ShareStorageException
- If the share or the file doesn't exist.
-
deleteFileWithResponse
public Mono<com.azure.core.http.rest.Response<Void>> deleteFileWithResponse(String fileName)
Deletes the specified file in the share.Code Samples
Delete the file "myfile"
shareAsyncClient.deleteFile("myfile").subscribe( response -> { }, error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the file.") );
For more information, see the Azure Docs.
- Parameters:
fileName
- Name of the file.- Returns:
- A response that only contains headers and response status code
- Throws:
ShareStorageException
- If the share or the file doesn't exist.
-
deleteFileWithResponse
public Mono<com.azure.core.http.rest.Response<Void>> deleteFileWithResponse(String fileName, ShareRequestConditions requestConditions)
Deletes the specified file in the share.Code Samples
Delete the file "myfile"
ShareRequestConditions requestConditions = new ShareRequestConditions().setLeaseId(leaseId); shareAsyncClient.deleteFileWithResponse("myfile", requestConditions).subscribe( response -> { }, error -> System.err.println(error.toString()), () -> System.out.println("Complete deleting the file.") );
For more information, see the Azure Docs.
- Parameters:
fileName
- Name of the file.requestConditions
-ShareRequestConditions
- Returns:
- A response that only contains headers and response status code
- Throws:
ShareStorageException
- If the share or the file doesn't exist.
-
createPermission
public Mono<String> createPermission(String filePermission)
Creates a permission at the share level. If a permission already exists, it returns the key of it, else creates a new permission and returns the key.Code Samples
shareAsyncClient.createPermission("filePermission").subscribe( response -> System.out.printf("The file permission key is %s", response));
- Parameters:
filePermission
- The file permission to get/create.- Returns:
- The file permission key associated with the file permission.
-
createPermissionWithResponse
public Mono<com.azure.core.http.rest.Response<String>> createPermissionWithResponse(String filePermission)
Creates a permission at the share level. If a permission already exists, it returns the key of it, else creates a new permission and returns the key.Code Samples
shareAsyncClient.createPermissionWithResponse("filePermission").subscribe( response -> System.out.printf("The file permission key is %s", response.getValue()));
- Parameters:
filePermission
- The file permission to get/create.- Returns:
- A response that contains the file permission key associated with the file permission.
-
getPermission
public Mono<String> getPermission(String filePermissionKey)
Gets a permission for a given key.Code Samples
shareAsyncClient.getPermission("filePermissionKey").subscribe( response -> System.out.printf("The file permission is %s", response));
- Parameters:
filePermissionKey
- The file permission key.- Returns:
- The file permission associated with the file permission key.
-
getPermissionWithResponse
public Mono<com.azure.core.http.rest.Response<String>> getPermissionWithResponse(String filePermissionKey)
Gets a permission for a given key.Code Samples
shareAsyncClient.getPermissionWithResponse("filePermissionKey").subscribe( response -> System.out.printf("The file permission is %s", response.getValue()));
- Parameters:
filePermissionKey
- The file permission key.- Returns:
- A response that contains th file permission associated with the file permission key.
-
getSnapshotId
public String getSnapshotId()
Get snapshot id which attached toShareAsyncClient
. Returnnull
if no snapshot id attached.Code Samples
Get the share snapshot id.
OffsetDateTime currentTime = OffsetDateTime.of(LocalDateTime.now(), ZoneOffset.UTC); ShareAsyncClient shareAsyncClient = new ShareClientBuilder() .endpoint("https://${accountName}.file.core.windows.net") .sasToken("${SASToken}") .shareName("myshare") .snapshot(currentTime.toString()) .buildAsyncClient(); System.out.printf("Snapshot ID: %s%n", shareAsyncClient.getSnapshotId());
- Returns:
- The snapshot id which is a unique
DateTime
value that identifies the share snapshot to its base share.
-
getShareName
public String getShareName()
Get share name from share client.Code Samples
String shareName = shareAsyncClient.getShareName(); System.out.println("The name of the share is " + shareName);
- Returns:
- The name of the share.
-
getAccountName
public String getAccountName()
Get associated account name.- Returns:
- account name associated with this storage resource.
-
getHttpPipeline
public com.azure.core.http.HttpPipeline getHttpPipeline()
Gets theHttpPipeline
powering this client.- Returns:
- The pipeline.
-
generateSas
public String generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues)
Generates a service sas for the queue using the specifiedShareServiceSasSignatureValues
Note : The client must be authenticated via
StorageSharedKeyCredential
See
ShareServiceSasSignatureValues
for more information on how to construct a service SAS.Code Samples
OffsetDateTime expiryTime = OffsetDateTime.now().plusDays(1); ShareSasPermission permission = new ShareSasPermission().setReadPermission(true); ShareServiceSasSignatureValues values = new ShareServiceSasSignatureValues(expiryTime, permission) .setStartTime(OffsetDateTime.now()); shareAsyncClient.generateSas(values); // Client must be authenticated via StorageSharedKeyCredential
- Parameters:
shareServiceSasSignatureValues
-ShareServiceSasSignatureValues
- Returns:
- A
String
representing the SAS query parameters.
-
generateSas
public String generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues, com.azure.core.util.Context context)
Generates a service sas for the queue using the specifiedShareServiceSasSignatureValues
Note : The client must be authenticated via
StorageSharedKeyCredential
See
ShareServiceSasSignatureValues
for more information on how to construct a service SAS.Code Samples
OffsetDateTime expiryTime = OffsetDateTime.now().plusDays(1); ShareSasPermission permission = new ShareSasPermission().setReadPermission(true); ShareServiceSasSignatureValues values = new ShareServiceSasSignatureValues(expiryTime, permission) .setStartTime(OffsetDateTime.now()); // Client must be authenticated via StorageSharedKeyCredential shareAsyncClient.generateSas(values, new Context("key", "value"));
- Parameters:
shareServiceSasSignatureValues
-ShareServiceSasSignatureValues
context
- Additional context that is passed through the code when generating a SAS.- Returns:
- A
String
representing the SAS query parameters.
-
-