public class ShareDirectoryClient extends Object
Instantiating an Synchronous Directory Client
ShareDirectoryClient client = new ShareFileClientBuilder()
.connectionString("${connectionString}")
.endpoint("${endpoint}")
.buildDirectoryClient();
View this for additional ways to construct the client.
| Modifier and Type | Method and Description |
|---|---|
ShareDirectoryInfo |
create()
Creates a directory in the file share and returns a response of
ShareDirectoryInfo to interact with it. |
ShareFileClient |
createFile(String fileName,
long maxSize)
Creates a file in this directory with specific name, max number of results and returns a response of
ShareDirectoryInfo to interact with it.
|
com.azure.core.http.rest.Response<ShareFileClient> |
createFileWithResponse(String fileName,
long maxSize,
ShareFileHttpHeaders httpHeaders,
FileSmbProperties smbProperties,
String filePermission,
Map<String,String> metadata,
Duration timeout,
com.azure.core.util.Context context)
Creates a file in this directory with specific name and returns a response of ShareDirectoryInfo to
interact with it.
|
com.azure.core.http.rest.Response<ShareFileClient> |
createFileWithResponse(String fileName,
long maxSize,
ShareFileHttpHeaders httpHeaders,
FileSmbProperties smbProperties,
String filePermission,
Map<String,String> metadata,
ShareRequestConditions requestConditions,
Duration timeout,
com.azure.core.util.Context context)
Creates a file in this directory with specific name and returns a response of ShareDirectoryInfo to
interact with it.
|
ShareDirectoryClient |
createSubdirectory(String subdirectoryName)
Creates a subdirectory under current directory with specific name and returns a response of ShareDirectoryClient
to interact with it.
|
com.azure.core.http.rest.Response<ShareDirectoryClient> |
createSubdirectoryWithResponse(String subdirectoryName,
FileSmbProperties smbProperties,
String filePermission,
Map<String,String> metadata,
Duration timeout,
com.azure.core.util.Context context)
Creates a subdirectory under current directory with specific name , metadata and returns a response of
ShareDirectoryClient to interact with it.
|
com.azure.core.http.rest.Response<ShareDirectoryInfo> |
createWithResponse(FileSmbProperties smbProperties,
String filePermission,
Map<String,String> metadata,
Duration timeout,
com.azure.core.util.Context context)
Creates a directory in the file share and returns a response of ShareDirectoryInfo to interact with it.
|
void |
delete()
Deletes the directory in the file share.
|
void |
deleteFile(String fileName)
Deletes the file with specific name in this directory.
|
com.azure.core.http.rest.Response<Void> |
deleteFileWithResponse(String fileName,
Duration timeout,
com.azure.core.util.Context context)
Deletes the file with specific name in this directory.
|
com.azure.core.http.rest.Response<Void> |
deleteFileWithResponse(String fileName,
ShareRequestConditions requestConditions,
Duration timeout,
com.azure.core.util.Context context)
Deletes the file with specific name in this directory.
|
void |
deleteSubdirectory(String subdirectoryName)
Deletes the subdirectory with specific name in this directory.
|
com.azure.core.http.rest.Response<Void> |
deleteSubdirectoryWithResponse(String subdirectoryName,
Duration timeout,
com.azure.core.util.Context context)
Deletes the subdirectory with specific name in this directory.
|
com.azure.core.http.rest.Response<Void> |
deleteWithResponse(Duration timeout,
com.azure.core.util.Context context)
Deletes the directory in the file share.
|
Boolean |
exists()
Determines if the directory this client represents exists in the cloud.
|
com.azure.core.http.rest.Response<Boolean> |
existsWithResponse(Duration timeout,
com.azure.core.util.Context context)
Determines if the directory this client represents exists in the cloud.
|
CloseHandlesInfo |
forceCloseAllHandles(boolean recursive,
Duration timeout,
com.azure.core.util.Context context)
Closes all handles opened on the directory at the service.
|
CloseHandlesInfo |
forceCloseHandle(String handleId)
Closes a handle on the directory at the service.
|
com.azure.core.http.rest.Response<CloseHandlesInfo> |
forceCloseHandleWithResponse(String handleId,
Duration timeout,
com.azure.core.util.Context context)
Closes a handle on the directory at the service.
|
String |
generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues)
Generates a service SAS for the directory using the specified
ShareServiceSasSignatureValues |
String |
generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues,
com.azure.core.util.Context context)
Generates a service SAS for the directory using the specified
ShareServiceSasSignatureValues |
String |
getAccountName()
Get associated account name.
|
String |
getDirectoryPath()
Get the directory path of the client.
|
String |
getDirectoryUrl()
Get the url of the storage directory client.
|
ShareFileClient |
getFileClient(String fileName)
Constructs a ShareFileClient that interacts with the specified file.
|
com.azure.core.http.HttpPipeline |
getHttpPipeline()
Gets the
HttpPipeline powering this client. |
ShareDirectoryProperties |
getProperties()
Retrieves the properties of this directory.
|
com.azure.core.http.rest.Response<ShareDirectoryProperties> |
getPropertiesWithResponse(Duration timeout,
com.azure.core.util.Context context)
Retrieves the properties of this directory.
|
ShareServiceVersion |
getServiceVersion()
Gets the service version the client is using.
|
String |
getShareName()
Get the share name of directory client.
|
String |
getShareSnapshotId()
Get snapshot id which attached to
ShareDirectoryClient. |
ShareDirectoryClient |
getSubdirectoryClient(String subdirectoryName)
Constructs a ShareDirectoryClient that interacts with the specified directory.
|
com.azure.core.http.rest.PagedIterable<ShareFileItem> |
listFilesAndDirectories()
Lists all sub-directories and files in this directory without their prefix or maxResult in single page.
|
com.azure.core.http.rest.PagedIterable<ShareFileItem> |
listFilesAndDirectories(ShareListFilesAndDirectoriesOptions options,
Duration timeout,
com.azure.core.util.Context context)
Lists all sub-directories and files in this directory with their prefix or snapshots.
|
com.azure.core.http.rest.PagedIterable<ShareFileItem> |
listFilesAndDirectories(String prefix,
Integer maxResultsPerPage,
Duration timeout,
com.azure.core.util.Context context)
Lists all sub-directories and files in this directory with their prefix or snapshots.
|
com.azure.core.http.rest.PagedIterable<HandleItem> |
listHandles(Integer maxResultsPerPage,
boolean recursive,
Duration timeout,
com.azure.core.util.Context context)
List of open handles on a directory or a file.
|
ShareDirectorySetMetadataInfo |
setMetadata(Map<String,String> metadata)
Sets the user-defined metadata to associate to the directory.
|
com.azure.core.http.rest.Response<ShareDirectorySetMetadataInfo> |
setMetadataWithResponse(Map<String,String> metadata,
Duration timeout,
com.azure.core.util.Context context)
Sets the user-defined metadata to associate to the directory.
|
ShareDirectoryInfo |
setProperties(FileSmbProperties smbProperties,
String filePermission)
Sets the properties of this directory.
|
com.azure.core.http.rest.Response<ShareDirectoryInfo> |
setPropertiesWithResponse(FileSmbProperties smbProperties,
String filePermission,
Duration timeout,
com.azure.core.util.Context context)
Sets the properties of this directory.
|
public String getDirectoryUrl()
public ShareServiceVersion getServiceVersion()
public ShareFileClient getFileClient(String fileName)
If the file doesn't exist in this directory ShareFileClient.create(long) create} in the client will
need to be called before interaction with the file can happen.
fileName - Name of the filepublic ShareDirectoryClient getSubdirectoryClient(String subdirectoryName)
If the file doesn't exist in this directory ShareDirectoryClient.create() create} in the client will
need to be called before interaction with the directory can happen.
subdirectoryName - Name of the directorypublic Boolean exists()
Code Samples
System.out.printf("Exists? %b%n", client.exists());
public com.azure.core.http.rest.Response<Boolean> existsWithResponse(Duration timeout, com.azure.core.util.Context context)
Code Samples
Context context = new Context("Key", "Value");
System.out.printf("Exists? %b%n", client.existsWithResponse(timeout, context).getValue());
timeout - An optional timeout value beyond which a RuntimeException will be raised.context - Additional context that is passed through the Http pipeline during the service call.public ShareDirectoryInfo create()
ShareDirectoryInfo to interact with it.
Code Samples
Create the directory
shareDirectoryClient.create();
System.out.println("Completed creating the directory. ");
For more information, see the Azure Docs.
directory info.ShareStorageException - If the directory has already existed, the parent directory does not exist or
directory name is an invalid resource name.public com.azure.core.http.rest.Response<ShareDirectoryInfo> createWithResponse(FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata, Duration timeout, com.azure.core.util.Context context)
Code Samples
Create the directory
FileSmbProperties smbProperties = new FileSmbProperties();
String filePermission = "filePermission";
Response<ShareDirectoryInfo> response = shareDirectoryClient.createWithResponse(smbProperties, filePermission,
Collections.singletonMap("directory", "metadata"), Duration.ofSeconds(1), new Context(key1, value1));
System.out.println("Completed creating the directory with status code: " + response.getStatusCode());
For more information, see the Azure Docs.
smbProperties - The SMB properties of the directory.filePermission - The file permission of the directory.metadata - Optional metadata to associate with the directory.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the directory has already existed, the parent directory does not exist or
directory name is an invalid resource name.RuntimeException - if the operation doesn't complete before the timeout concludes.public void delete()
Code Samples
Delete the directory
shareDirectoryClient.delete();
System.out.println("Completed deleting the file.");
For more information, see the Azure Docs.
ShareStorageException - If the share doesn't existpublic com.azure.core.http.rest.Response<Void> deleteWithResponse(Duration timeout, com.azure.core.util.Context context)
Code Samples
Delete the directory
Response<Void> response = shareDirectoryClient.deleteWithResponse(Duration.ofSeconds(1), new Context(key1, value1));
System.out.println("Completed deleting the file with status code: " + response.getStatusCode());
For more information, see the Azure Docs.
timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the share doesn't existRuntimeException - if the operation doesn't complete before the timeout concludes.public ShareDirectoryProperties getProperties()
Code Samples
Retrieve directory properties
ShareDirectoryProperties response = shareDirectoryClient.getProperties();
System.out.printf("Directory latest modified date is %s.", response.getLastModified());
For more information, see the Azure Docs.
public com.azure.core.http.rest.Response<ShareDirectoryProperties> getPropertiesWithResponse(Duration timeout, com.azure.core.util.Context context)
Code Samples
Retrieve directory properties
Response<ShareDirectoryProperties> response = shareDirectoryClient.getPropertiesWithResponse(
Duration.ofSeconds(1), new Context(key1, value1));
System.out.printf("Directory latest modified date is %s.", response.getValue().getLastModified());
For more information, see the Azure Docs.
timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.RuntimeException - if the operation doesn't complete before the timeout concludes.public ShareDirectoryInfo setProperties(FileSmbProperties smbProperties, String filePermission)
Code Samples
Set directory properties
FileSmbProperties smbProperties = new FileSmbProperties();
String filePermission = "filePermission";
ShareDirectoryInfo response = shareDirectoryClient.setProperties(smbProperties, filePermission);
System.out.printf("Directory latest modified date is %s.", response.getLastModified());
For more information, see the Azure Docs.
smbProperties - The SMB properties of the directory.filePermission - The file permission of the directory.public com.azure.core.http.rest.Response<ShareDirectoryInfo> setPropertiesWithResponse(FileSmbProperties smbProperties, String filePermission, Duration timeout, com.azure.core.util.Context context)
Code Samples
Set directory properties
FileSmbProperties smbProperties = new FileSmbProperties();
String filePermission = "filePermission";
Response<ShareDirectoryInfo> response = shareDirectoryClient.setPropertiesWithResponse(smbProperties, filePermission,
Duration.ofSeconds(1), new Context(key1, value1));
System.out.printf("Directory latest modified date is %s.", response.getValue().getLastModified());
For more information, see the Azure Docs.
smbProperties - The SMB properties of the directory.filePermission - The file permission of the directory.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.public ShareDirectorySetMetadataInfo setMetadata(Map<String,String> metadata)
If null is passed for the metadata it will clear the metadata associated to the directory.
Code Samples
Set the metadata to "directory:updatedMetadata"
ShareDirectorySetMetadataInfo response =
shareDirectoryClient.setMetadata(Collections.singletonMap("directory", "updatedMetadata"));
System.out.printf("Setting the directory metadata completed with updated etag %s", response.getETag());
Clear the metadata of the directory
ShareDirectorySetMetadataInfo response = shareDirectoryClient.setMetadata(null);
System.out.printf("Cleared metadata.");
For more information, see the Azure Docs.
metadata - Optional metadata to set on the directory, if null is passed the metadata for the directory is
clearedShareStorageException - If the directory doesn't exist or the metadata contains invalid keyspublic com.azure.core.http.rest.Response<ShareDirectorySetMetadataInfo> setMetadataWithResponse(Map<String,String> metadata, Duration timeout, com.azure.core.util.Context context)
If null is passed for the metadata it will clear the metadata associated to the directory.
Code Samples
Set the metadata to "directory:updatedMetadata"
Response<ShareDirectorySetMetadataInfo> response =
shareDirectoryClient.setMetadataWithResponse(Collections.singletonMap("directory", "updatedMetadata"),
Duration.ofSeconds(1), new Context(key1, value1));
System.out.printf("Setting the directory metadata completed with updated etag %d", response.getStatusCode());
Clear the metadata of the directory
Response<ShareDirectorySetMetadataInfo> response = shareDirectoryClient.setMetadataWithResponse(null,
Duration.ofSeconds(1), new Context(key1, value1));
System.out.printf("Directory latest modified date is %s.", response.getStatusCode());
For more information, see the Azure Docs.
metadata - Optional metadata to set on the directory, if null is passed the metadata for the directory is
clearedtimeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the directory doesn't exist or the metadata contains invalid keysRuntimeException - if the operation doesn't complete before the timeout concludes.public com.azure.core.http.rest.PagedIterable<ShareFileItem> listFilesAndDirectories()
Code Samples
List all sub-directories and files in the account
shareDirectoryClient.listFilesAndDirectories().forEach(
fileRef -> System.out.printf("Is the resource a directory? %b. The resource name is: %s.",
fileRef.isDirectory(), fileRef.getName())
);
For more information, see the Azure Docs.
File info in the storage directorypublic com.azure.core.http.rest.PagedIterable<ShareFileItem> listFilesAndDirectories(String prefix, Integer maxResultsPerPage, Duration timeout, com.azure.core.util.Context context)
Code Samples
List all sub-directories and files in this directory with "subdir" prefix and return 10 results in the account
shareDirectoryClient.listFilesAndDirectories("subdir", 10, Duration.ofSeconds(1),
new Context(key1, value1)).forEach(
fileRef -> System.out.printf("Is the resource a directory? %b. The resource name is: %s.",
fileRef.isDirectory(), fileRef.getName())
);
For more information, see the Azure Docs.
prefix - Optional prefix which filters the results to return only files and directories whose name begins
with.maxResultsPerPage - Optional maximum number of files and/or directories to return per page.
If the request does not specify maxResultsPerPage or specifies a value greater than 5,000,
the server will return up to 5,000 items. If iterating by page, the page size passed to byPage methods such as
ContinuablePagedIterable.iterableByPage(int) will be preferred over this value.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.File info in this directory with prefix and max number of return results.RuntimeException - if the operation doesn't complete before the timeout concludes.public com.azure.core.http.rest.PagedIterable<ShareFileItem> listFilesAndDirectories(ShareListFilesAndDirectoriesOptions options, Duration timeout, com.azure.core.util.Context context)
Code Samples
List all sub-directories and files in this directory with "subdir" prefix and return 10 results in the account
shareDirectoryClient.listFilesAndDirectories(new ShareListFilesAndDirectoriesOptions()
.setPrefix("subdir").setMaxResultsPerPage(10), Duration.ofSeconds(1), new Context(key1, value1))
.forEach(fileRef -> System.out.printf("Is the resource a directory? %b. The resource name is: %s.",
fileRef.isDirectory(), fileRef.getName()));
For more information, see the Azure Docs.
options - Optional parameters.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.File info in this directory with prefix and max number of return results.RuntimeException - if the operation doesn't complete before the timeout concludes.public com.azure.core.http.rest.PagedIterable<HandleItem> listHandles(Integer maxResultsPerPage, boolean recursive, Duration timeout, com.azure.core.util.Context context)
Code Samples
Get 10 handles with recursive call.
Iterable<HandleItem> result = shareDirectoryClient.listHandles(10, true, Duration.ofSeconds(1),
new Context(key1, value1));
System.out.printf("Get handles completed with handle id %s", result.iterator().next().getHandleId());
For more information, see the Azure Docs.
maxResultsPerPage - Optional maximum number of results will return per pagerecursive - Specifies operation should apply to the directory specified in the URI, its files, its
subdirectories and their files.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.handles in the directory that satisfy the requirementsRuntimeException - if the operation doesn't complete before the timeout concludes.public CloseHandlesInfo forceCloseHandle(String handleId)
ShareDirectoryClient.listHandles(Integer, boolean, Duration, Context).
Code Samples
Force close handles returned by list handles.
shareDirectoryClient.listHandles(null, true, Duration.ofSeconds(30), Context.NONE).forEach(handleItem -> {
shareDirectoryClient.forceCloseHandle(handleItem.getHandleId());
System.out.printf("Closed handle %s on resource %s%n", handleItem.getHandleId(), handleItem.getPath());
});
For more information, see the Azure Docs.
handleId - Handle ID to be closed.public com.azure.core.http.rest.Response<CloseHandlesInfo> forceCloseHandleWithResponse(String handleId, Duration timeout, com.azure.core.util.Context context)
ShareDirectoryClient.listHandles(Integer, boolean, Duration, Context).
Code Samples
Force close handles returned by list handles.
shareDirectoryClient.listHandles(null, true, Duration.ofSeconds(30), Context.NONE).forEach(handleItem -> {
Response<CloseHandlesInfo> closeResponse = shareDirectoryClient.forceCloseHandleWithResponse(
handleItem.getHandleId(), Duration.ofSeconds(30), Context.NONE);
System.out.printf("Closing handle %s on resource %s completed with status code %d%n",
handleItem.getHandleId(), handleItem.getPath(), closeResponse.getStatusCode());
});
For more information, see the Azure Docs.
handleId - Handle ID to be clsoed.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.public CloseHandlesInfo forceCloseAllHandles(boolean recursive, Duration timeout, com.azure.core.util.Context context)
Code Samples
Force close all handles recursively.
CloseHandlesInfo closeHandlesInfo = shareDirectoryClient.forceCloseAllHandles(true, Duration.ofSeconds(30),
Context.NONE);
System.out.printf("Closed %d open handles on the directory%n", closeHandlesInfo.getClosedHandles());
System.out.printf("Failed to close %d open handles on the directory%n", closeHandlesInfo.getFailedHandles());
For more information, see the Azure Docs.
recursive - Flag indicating if the operation should apply to all subdirectories and files contained in the
directory.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.public ShareDirectoryClient createSubdirectory(String subdirectoryName)
Code Samples
Create the sub directory "subdir"
shareDirectoryClient.createSubdirectory("subdir");
System.out.println("Completed creating the subdirectory.");
For more information, see the Azure Docs.
subdirectoryName - Name of the subdirectoryShareStorageException - If the subdirectory has already existed, the parent directory does not exist or
directory is an invalid resource name.public com.azure.core.http.rest.Response<ShareDirectoryClient> createSubdirectoryWithResponse(String subdirectoryName, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata, Duration timeout, com.azure.core.util.Context context)
Code Samples
Create the subdirectory named "subdir", with metadata
FileSmbProperties smbProperties = new FileSmbProperties();
String filePermission = "filePermission";
Response<ShareDirectoryClient> response = shareDirectoryClient.createSubdirectoryWithResponse("subdir",
smbProperties, filePermission, Collections.singletonMap("directory", "metadata"),
Duration.ofSeconds(1), new Context(key1, value1));
System.out.printf("Creating the sub directory completed with status code %d", response.getStatusCode());
For more information, see the Azure Docs.
subdirectoryName - Name of the subdirectorysmbProperties - The SMB properties of the directory.filePermission - The file permission of the directory.metadata - Optional metadata to associate with the subdirectorytimeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the directory has already existed, the parent directory does not exist or
subdirectory is an invalid resource name.RuntimeException - if the operation doesn't complete before the timeout concludes.public void deleteSubdirectory(String subdirectoryName)
Code Samples
Delete the subdirectory named "subdir"
shareDirectoryClient.deleteSubdirectory("mysubdirectory");
System.out.println("Complete deleting the subdirectory.");
For more information, see the Azure Docs.
subdirectoryName - Name of the subdirectoryShareStorageException - If the subdirectory doesn't exist, the parent directory does not exist or
subdirectory name is an invalid resource name.public com.azure.core.http.rest.Response<Void> deleteSubdirectoryWithResponse(String subdirectoryName, Duration timeout, com.azure.core.util.Context context)
Code Samples
Delete the subdirectory named "subdir"
Response<Void> response = shareDirectoryClient.deleteSubdirectoryWithResponse("mysubdirectory",
Duration.ofSeconds(1), new Context(key1, value1));
System.out.println("Completed deleting the subdirectory with status code: " + response.getStatusCode());
For more information, see the Azure Docs.
subdirectoryName - Name of the subdirectorycontext - Additional context that is passed through the Http pipeline during the service call.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.ShareStorageException - If the subdirectory doesn't exist, the parent directory does not exist or
subdirectory name is an invalid resource name.RuntimeException - if the operation doesn't complete before the timeout concludes.public ShareFileClient createFile(String fileName, long maxSize)
Code Samples
Create 1k file with named "myFile"
ShareFileClient response = shareDirectoryClient.createFile("myfile", 1024);
System.out.println("Completed creating the file: " + response);
For more information, see the Azure Docs.
fileName - Name of the filemaxSize - Size of the fileShareStorageException - If the file has already existed, the parent directory does not exist or file name
is an invalid resource name.public com.azure.core.http.rest.Response<ShareFileClient> createFileWithResponse(String fileName, long maxSize, ShareFileHttpHeaders httpHeaders, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata, Duration timeout, com.azure.core.util.Context context)
Code Samples
Create the file named "myFile"
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
Response<ShareFileClient> response = shareDirectoryClient.createFileWithResponse("myFile", 1024,
httpHeaders, smbProperties, filePermission, Collections.singletonMap("directory", "metadata"),
Duration.ofSeconds(1), new Context(key1, value1));
System.out.println("Completed creating the file with status code: " + response.getStatusCode());
For more information, see the Azure Docs.
fileName - Name of the filemaxSize - Max size of the filehttpHeaders - 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.timeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the directory has already existed, the parent directory does not exist or file
name is an invalid resource name.RuntimeException - if the operation doesn't complete before the timeout concludes.public com.azure.core.http.rest.Response<ShareFileClient> createFileWithResponse(String fileName, long maxSize, ShareFileHttpHeaders httpHeaders, FileSmbProperties smbProperties, String filePermission, Map<String,String> metadata, ShareRequestConditions requestConditions, Duration timeout, com.azure.core.util.Context context)
Code Samples
Create the file named "myFile"
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);
Response<ShareFileClient> response = shareDirectoryClient.createFileWithResponse("myFile", 1024,
httpHeaders, smbProperties, filePermission, Collections.singletonMap("directory", "metadata"),
requestConditions, Duration.ofSeconds(1), new Context(key1, value1));
System.out.println("Completed creating the file with status code: " + response.getStatusCode());
For more information, see the Azure Docs.
fileName - Name of the filemaxSize - Max size of the filehttpHeaders - 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 - ShareRequestConditionstimeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the directory has already existed, the parent directory does not exist or file
name is an invalid resource name.RuntimeException - if the operation doesn't complete before the timeout concludes.public void deleteFile(String fileName)
Code Samples
Delete the file "filetest"
shareDirectoryClient.deleteFile("myfile");
System.out.println("Completed deleting the file.");
For more information, see the Azure Docs.
fileName - Name of the fileShareStorageException - If the directory doesn't exist or the file doesn't exist or file name is an invalid
resource name.public com.azure.core.http.rest.Response<Void> deleteFileWithResponse(String fileName, Duration timeout, com.azure.core.util.Context context)
Code Samples
Delete the file "filetest"
Response<Void> response = shareDirectoryClient.deleteFileWithResponse("myfile",
Duration.ofSeconds(1), new Context(key1, value1));
System.out.println("Completed deleting the file with status code: " + response.getStatusCode());
For more information, see the Azure Docs.
fileName - Name of the filetimeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the directory doesn't exist or the file doesn't exist or file name is an invalid
resource name.RuntimeException - if the operation doesn't complete before the timeout concludes.public com.azure.core.http.rest.Response<Void> deleteFileWithResponse(String fileName, ShareRequestConditions requestConditions, Duration timeout, com.azure.core.util.Context context)
Code Samples
Delete the file "filetest"
ShareRequestConditions requestConditions = new ShareRequestConditions().setLeaseId(leaseId);
Response<Void> response = shareDirectoryClient.deleteFileWithResponse("myfile", requestConditions,
Duration.ofSeconds(1), new Context(key1, value1));
System.out.println("Completed deleting the file with status code: " + response.getStatusCode());
For more information, see the Azure Docs.
fileName - Name of the filerequestConditions - ShareRequestConditionstimeout - An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException will be thrown.context - Additional context that is passed through the Http pipeline during the service call.ShareStorageException - If the directory doesn't exist or the file doesn't exist or file name is an invalid
resource name.RuntimeException - if the operation doesn't complete before the timeout concludes.public String getShareSnapshotId()
ShareDirectoryClient. Return null if no snapshot id attached.
Code Samples
Get the share snapshot id.
OffsetDateTime currentTime = OffsetDateTime.of(LocalDateTime.now(), ZoneOffset.UTC);
ShareDirectoryClient shareDirectoryClient = new ShareFileClientBuilder()
.endpoint("https://${accountName}.file.core.windows.net")
.sasToken("${SASToken}")
.shareName("myshare")
.resourcePath("mydirectory")
.snapshot(currentTime.toString())
.buildDirectoryClient();
System.out.printf("Snapshot ID: %s%n", shareDirectoryClient.getShareSnapshotId());
DateTime value that identifies the share snapshot to its base
share.public String getShareName()
Get the share name.
String shareName = directoryAsyncClient.getShareName();
System.out.println("The share name of the directory is " + shareName);
public String getDirectoryPath()
Get directory path.
String directoryPath = shareDirectoryClient.getDirectoryPath();
System.out.println("The name of the directory is " + directoryPath);
public String getAccountName()
public com.azure.core.http.HttpPipeline getHttpPipeline()
HttpPipeline powering this client.public String generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues)
ShareServiceSasSignatureValues
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);
ShareFileSasPermission permission = new ShareFileSasPermission().setReadPermission(true);
ShareServiceSasSignatureValues values = new ShareServiceSasSignatureValues(expiryTime, permission)
.setStartTime(OffsetDateTime.now());
shareDirectoryClient.generateSas(values); // Client must be authenticated via StorageSharedKeyCredential
shareServiceSasSignatureValues - ShareServiceSasSignatureValuesString representing the SAS query parameters.public String generateSas(ShareServiceSasSignatureValues shareServiceSasSignatureValues, com.azure.core.util.Context context)
ShareServiceSasSignatureValues
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);
ShareFileSasPermission permission = new ShareFileSasPermission().setReadPermission(true);
ShareServiceSasSignatureValues values = new ShareServiceSasSignatureValues(expiryTime, permission)
.setStartTime(OffsetDateTime.now());
// Client must be authenticated via StorageSharedKeyCredential
shareDirectoryClient.generateSas(values, new Context("key", "value"));
shareServiceSasSignatureValues - ShareServiceSasSignatureValuescontext - Additional context that is passed through the code when generating a SAS.String representing the SAS query parameters.Visit the Azure for Java Developers site for more Java documentation, including quick starts, tutorials, and code samples.