DataLakeDirectoryClient Klasse
- java.
lang. Object - com.
azure. storage. file. datalake. DataLakePathClient - com.
azure. storage. file. datalake. DataLakeDirectoryClient
- com.
- com.
public class DataLakeDirectoryClient
extends DataLakePathClient
Diese Klasse stellt einen Client bereit, der Verzeichnisvorgänge für Azure Storage Data Lake enthält. Zu den von diesem Client bereitgestellten Vorgängen gehören das Erstellen eines Verzeichnisses, das Löschen eines Verzeichnisses, das Umbenennen eines Verzeichnisses, das Festlegen von Metadaten und HTTP-Headern, das Festlegen und Abrufen der Zugriffssteuerung, das Abrufen von Eigenschaften sowie das Erstellen und Löschen von Dateien und Unterverzeichnissen.
Dieser Client wird über DataLakePathClientBuilder instanziiert oder über getDirectoryClient(String directoryName)abgerufen.
Weitere Informationen finden Sie in der Azure-Dokumentation .
Methodenzusammenfassung
Geerbte Methoden von DataLakePathClient
Geerbte Methoden von java.lang.Object
Details zur Methode
createFile
public DataLakeFileClient createFile(String fileName)
Erstellt eine neue Datei in einem Verzeichnis. Standardmäßig überschreibt diese Methode keine vorhandene Datei. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeFileClient fileClient = client.createFile(fileName);
Parameters:
Returns:
createFile
public DataLakeFileClient createFile(String fileName, boolean overwrite)
Erstellt eine neue Datei in einem Verzeichnis. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
boolean overwrite = false; /* Default value. */
DataLakeFileClient fClient = client.createFile(fileName, overwrite);
Parameters:
Returns:
createFileIfNotExists
public DataLakeFileClient createFileIfNotExists(String fileName)
Erstellt eine neue Datei in einem Verzeichnis, wenn sie nicht vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeFileClient fileClient = client.createFileIfNotExists(fileName);
Parameters:
Returns:
createFileIfNotExistsWithResponse
public Response
Erstellt eine neue Datei in einem Verzeichnis, falls sie nicht vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
PathHttpHeaders headers = new PathHttpHeaders().setContentLanguage("en-US").setContentType("binary");
String permissions = "permissions";
String umask = "umask";
DataLakePathCreateOptions options = new DataLakePathCreateOptions()
.setPermissions(permissions)
.setUmask(umask)
.setPathHttpHeaders(headers)
.setMetadata(Collections.singletonMap("metadata", "value"));
Response<DataLakeFileClient> response = client.createFileIfNotExistsWithResponse(fileName, options, timeout,
new Context(key1, value1));
if (response.getStatusCode() == 409) {
System.out.println("Already existed.");
} else {
System.out.printf("Create completed with status %d%n", response.getStatusCode());
}
Parameters:
Returns:
createFileWithResponse
public Response
Erstellt eine neue Datei in einem Verzeichnis. Wenn bereits eine Datei mit demselben Namen vorhanden ist, wird die Datei überschrieben. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
PathHttpHeaders httpHeaders = new PathHttpHeaders()
.setContentLanguage("en-US")
.setContentType("binary");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
String permissions = "permissions";
String umask = "umask";
String owner = "rwx";
String group = "r--";
String leaseId = CoreUtils.randomUuid().toString();
Integer duration = 15;
DataLakePathCreateOptions options = new DataLakePathCreateOptions()
.setPermissions(permissions)
.setUmask(umask)
.setOwner(owner)
.setGroup(group)
.setPathHttpHeaders(httpHeaders)
.setRequestConditions(requestConditions)
.setMetadata(metadata)
.setProposedLeaseId(leaseId)
.setLeaseDuration(duration);
Response<DataLakeFileClient> newFileClient = client.createFileWithResponse(fileName, options, timeout,
new Context(key1, value1));
Parameters:
Returns:
createFileWithResponse
public Response
Erstellt eine neue Datei in einem Verzeichnis. Wenn bereits eine Datei mit demselben Namen vorhanden ist, wird die Datei überschrieben. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
PathHttpHeaders httpHeaders = new PathHttpHeaders()
.setContentLanguage("en-US")
.setContentType("binary");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
String permissions = "permissions";
String umask = "umask";
Response<DataLakeFileClient> newFileClient = client.createFileWithResponse(fileName, permissions, umask, httpHeaders,
Collections.singletonMap("metadata", "value"), requestConditions,
timeout, new Context(key1, value1));
Parameters:
Returns:
createSubdirectory
public DataLakeDirectoryClient createSubdirectory(String subdirectoryName)
Erstellt ein neues Unterverzeichnis innerhalb eines Verzeichnisses. Standardmäßig überschreibt diese Methode kein vorhandenes Unterverzeichnis. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeDirectoryClient directoryClient = client.createSubdirectory(directoryName);
Parameters:
Returns:
createSubdirectory
public DataLakeDirectoryClient createSubdirectory(String subdirectoryName, boolean overwrite)
Erstellt ein neues Unterverzeichnis innerhalb eines Verzeichnisses. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
boolean overwrite = false; /* Default value. */
DataLakeDirectoryClient dClient = client.createSubdirectory(fileName, overwrite);
Parameters:
Returns:
createSubdirectoryIfNotExists
public DataLakeDirectoryClient createSubdirectoryIfNotExists(String subdirectoryName)
Erstellt ein neues Unterverzeichnis, wenn es nicht in einem Verzeichnis vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeDirectoryClient directoryClient = client.createSubdirectoryIfNotExists(directoryName);
Parameters:
Returns:
createSubdirectoryIfNotExistsWithResponse
public Response
Erstellt ein neues Unterverzeichnis innerhalb eines Verzeichnisses, sofern es nicht vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
PathHttpHeaders headers = new PathHttpHeaders()
.setContentLanguage("en-US")
.setContentType("binary");
String permissions = "permissions";
String umask = "umask";
DataLakePathCreateOptions options = new DataLakePathCreateOptions()
.setPermissions(permissions)
.setUmask(umask)
.setPathHttpHeaders(headers)
.setMetadata(Collections.singletonMap("metadata", "value"));
Response<DataLakeDirectoryClient> response = client.createSubdirectoryIfNotExistsWithResponse(directoryName,
options, timeout, new Context(key1, value1));
if (response.getStatusCode() == 409) {
System.out.println("Already existed.");
} else {
System.out.printf("Create completed with status %d%n", response.getStatusCode());
}
Parameters:
Returns:
createSubdirectoryWithResponse
public Response
Erstellt ein neues Unterverzeichnis innerhalb eines Verzeichnisses. Wenn bereits ein Unterverzeichnis mit demselben Namen vorhanden ist, wird das Unterverzeichnis überschrieben. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
PathHttpHeaders httpHeaders = new PathHttpHeaders()
.setContentLanguage("en-US")
.setContentType("binary");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
String permissions = "permissions";
String umask = "umask";
String owner = "rwx";
String group = "r--";
String leaseId = CoreUtils.randomUuid().toString();
Integer duration = 15;
DataLakePathCreateOptions options = new DataLakePathCreateOptions()
.setPermissions(permissions)
.setUmask(umask)
.setOwner(owner)
.setGroup(group)
.setPathHttpHeaders(httpHeaders)
.setRequestConditions(requestConditions)
.setMetadata(metadata)
.setProposedLeaseId(leaseId)
.setLeaseDuration(duration);
Response<DataLakeDirectoryClient> newDirectoryClient = client.createSubdirectoryWithResponse(directoryName,
options, timeout, new Context(key1, value1));
Parameters:
Returns:
createSubdirectoryWithResponse
public Response
Erstellt ein neues Unterverzeichnis innerhalb eines Verzeichnisses. Wenn bereits ein Unterverzeichnis mit demselben Namen vorhanden ist, wird das Unterverzeichnis überschrieben. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
PathHttpHeaders httpHeaders = new PathHttpHeaders()
.setContentLanguage("en-US")
.setContentType("binary");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
String permissions = "permissions";
String umask = "umask";
Response<DataLakeDirectoryClient> newDirectoryClient = client.createSubdirectoryWithResponse(directoryName,
permissions, umask, httpHeaders, Collections.singletonMap("metadata", "value"), requestConditions, timeout,
new Context(key1, value1));
Parameters:
Returns:
delete
public void delete()
Löscht ein Verzeichnis.
Codebeispiele
client.delete();
System.out.println("Delete request completed");
Weitere Informationen finden Sie in der Azure-Dokumentation.
deleteFile
public void deleteFile(String fileName)
Löscht die angegebene Datei im Verzeichnis. Wenn die Datei nicht vorhanden ist, schlägt der Vorgang fehl. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
client.deleteFile(fileName);
System.out.println("Delete request completed");
Parameters:
deleteFileIfExists
public boolean deleteFileIfExists(String fileName)
Löscht die angegebene Datei im Verzeichnis, sofern sie vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
boolean result = client.deleteFileIfExists(fileName);
System.out.println("Delete request completed: " + result);
Parameters:
Returns:
true
, wenn die Datei erfolgreich gelöscht wurde, false
wenn die Datei nicht vorhanden ist.deleteFileIfExistsWithResponse
public Response
Löscht die angegebene Datei im Verzeichnis, sofern sie vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
DataLakePathDeleteOptions options = new DataLakePathDeleteOptions().setIsRecursive(false)
.setRequestConditions(requestConditions);
Response<Boolean> response = client.deleteFileIfExistsWithResponse(fileName, options, timeout,
new Context(key1, value1));
if (response.getStatusCode() == 404) {
System.out.println("Does not exist.");
} else {
System.out.printf("Delete completed with status %d%n", response.getStatusCode());
}
Parameters:
Returns:
deleteFileWithResponse
public Response
Löscht die angegebene Datei im Verzeichnis. Wenn die Datei nicht vorhanden ist, schlägt der Vorgang fehl. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
client.deleteFileWithResponse(fileName, requestConditions, timeout, new Context(key1, value1));
System.out.println("Delete request completed");
Parameters:
Returns:
deleteIfExists
public boolean deleteIfExists()
Löscht ein Verzeichnis, sofern es vorhanden ist.
Codebeispiele
boolean result = client.deleteIfExists();
System.out.println("Delete request completed: " + result);
Weitere Informationen finden Sie in der Azure-Dokumentation.
Overrides:
DataLakeDirectoryClient.deleteIfExists()Returns:
true
, wenn das Verzeichnis erfolgreich gelöscht wurde, false
wenn das Verzeichnis nicht vorhanden ist.deleteIfExistsWithResponse
public Response
Löscht ein Verzeichnis, sofern es vorhanden ist.
Codebeispiele
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
boolean recursive = false; // Default value
DataLakePathDeleteOptions options = new DataLakePathDeleteOptions().setIsRecursive(recursive)
.setRequestConditions(requestConditions);
Response<Boolean> response = client.deleteIfExistsWithResponse(options, timeout, new Context(key1, value1));
if (response.getStatusCode() == 404) {
System.out.println("Does not exist.");
} else {
System.out.printf("Delete completed with status %d%n", response.getStatusCode());
}
Weitere Informationen finden Sie in der Azure-Dokumentation.
Overrides:
DataLakeDirectoryClient.deleteIfExistsWithResponse(DataLakePathDeleteOptions options, Duration timeout, Context context)Parameters:
Returns:
deleteRecursively
public void deleteRecursively()
Löscht rekursiv ein Verzeichnis und alle Inhalte innerhalb des Verzeichnisses.
Codebeispiele
client.deleteRecursively();
System.out.println("Delete request completed");
Weitere Informationen finden Sie in der Azure-Dokumentation.
deleteRecursivelyWithResponse
public Response
Löscht rekursiv ein Verzeichnis und alle Inhalte innerhalb des Verzeichnisses.
Codebeispiele
DataLakeRequestConditions deleteRequestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
client.deleteRecursivelyWithResponse(deleteRequestConditions, timeout, new Context(key1, value1));
System.out.println("Delete request completed");
Weitere Informationen finden Sie in der Azure-Dokumentation.
Parameters:
Returns:
deleteSubdirectory
public void deleteSubdirectory(String subdirectoryName)
Löscht das angegebene Unterverzeichnis im Verzeichnis. Wenn das Unterverzeichnis nicht vorhanden ist oder nicht leer ist, schlägt der Vorgang fehl. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
client.deleteSubdirectory(directoryName);
System.out.println("Delete request completed");
Parameters:
deleteSubdirectoryIfExists
public boolean deleteSubdirectoryIfExists(String subdirectoryName)
Löscht das angegebene Unterverzeichnis im Verzeichnis, sofern es vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
boolean result = client.deleteSubdirectoryIfExists(directoryName);
System.out.println("Delete request completed: " + result);
Parameters:
Returns:
true
, wenn das Unterverzeichnis erfolgreich gelöscht wurde, false
wenn das Unterverzeichnis nicht vorhanden ist.deleteSubdirectoryIfExistsWithResponse
public Response
Löscht das angegebene Unterverzeichnis im Verzeichnis, sofern es vorhanden ist. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
boolean recursive = false; // Default value
DataLakePathDeleteOptions options = new DataLakePathDeleteOptions().setIsRecursive(recursive)
.setRequestConditions(requestConditions);
Response<Boolean> response = client.deleteSubdirectoryIfExistsWithResponse(directoryName, options,
timeout, new Context(key1, value1));
if (response.getStatusCode() == 404) {
System.out.println("Does not exist.");
} else {
System.out.printf("Delete completed with status %d%n", response.getStatusCode());
}
Parameters:
Returns:
deleteSubdirectoryWithResponse
public Response
Löscht das angegebene Unterverzeichnis im Verzeichnis. Wenn das Unterverzeichnis nicht vorhanden ist oder nicht leer ist, schlägt der Vorgang fehl. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
boolean recursive = false; // Default value
client.deleteSubdirectoryWithResponse(directoryName, recursive, requestConditions, timeout,
new Context(key1, value1));
System.out.println("Delete request completed");
Parameters:
Returns:
deleteWithResponse
public Response
Löscht ein Verzeichnis.
Codebeispiele
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
boolean recursive = false; // Default value
client.deleteWithResponse(recursive, requestConditions, timeout, new Context(key1, value1));
System.out.println("Delete request completed");
Weitere Informationen finden Sie in der Azure-Dokumentation.
Parameters:
Returns:
getCustomerProvidedKeyClient
public DataLakeDirectoryClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
Erstellt einen neuen DataLakeDirectoryClient mit dem angegebenen customerProvidedKey
.
Overrides:
DataLakeDirectoryClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parameters:
null
, um keinen vom Kunden bereitgestellten Schlüssel zu verwenden.
Returns:
customerProvidedKey
.getDirectoryName
public String getDirectoryName()
Ruft den Namen dieses Verzeichnisses ab, ohne den vollständigen Pfad zu enthalten.
Returns:
getDirectoryPath
public String getDirectoryPath()
Ruft den Pfad dieses Verzeichnisses ab, ohne den Namen der Ressource selbst.
Returns:
getDirectoryUrl
public String getDirectoryUrl()
Ruft die URL des Verzeichnisses ab, das von diesem Client im Data Lake-Dienst dargestellt wird.
Returns:
getFileClient
public DataLakeFileClient getFileClient(String fileName)
Initialisiert ein neues DataLakeFileClient-Objekt, indem fileName am Ende der DataLakeDirectoryClient-URL verkettet wird. Der neue DataLakeFileClient verwendet dieselbe Anforderungsrichtlinienpipeline wie dataLakeDirectoryClient.
Parameters:
String
, der den Namen der Datei darstellt.
Codebeispiele
DataLakeFileClient dataLakeFileClient = client.getFileClient(fileName);
Returns:
getSubdirectoryClient
public DataLakeDirectoryClient getSubdirectoryClient(String subdirectoryName)
Initialisiert ein neues DataLakeDirectoryClient-Objekt, indem directoryName mit dem Ende der DataLakeDirectoryClient-URL verkettet wird. Der neue DataLakeDirectoryClient verwendet dieselbe Anforderungsrichtlinienpipeline wie dataLakeDirectoryClient.
Parameters:
String
, der den Namen des Unterverzeichnisses darstellt.
Codebeispiele
DataLakeDirectoryClient dataLakeDirectoryClient = client.getSubdirectoryClient(directoryName);
Returns:
listPaths
public PagedIterable
Gibt eine verzögert geladene Liste von Dateien/Verzeichnissen in diesem Verzeichnis zurück. Das zurückgegebene PagedIterable<T> kann verwendet werden, während neue Elemente bei Bedarf automatisch abgerufen werden. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
client.listPaths().forEach(path -> System.out.printf("Name: %s%n", path.getName()));
Returns:
listPaths
public PagedIterable
Gibt eine verzögert geladene Liste von Dateien/Verzeichnissen in diesem Verzeichnis zurück. Das zurückgegebene PagedIterable<T> kann verwendet werden, während neue Elemente bei Bedarf automatisch abgerufen werden. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
client.listPaths(false, false, 10, timeout)
.forEach(path -> System.out.printf("Name: %s%n", path.getName()));
Parameters:
Returns:
rename
public DataLakeDirectoryClient rename(String destinationFileSystem, String destinationPath)
Verschiebt das Verzeichnis an einen anderen Speicherort im Dateisystem. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeDirectoryClient renamedClient = client.rename(fileSystemName, destinationPath);
System.out.println("Directory Client has been renamed");
Parameters:
null
für das aktuelle Dateisystem.
Returns:
renameWithResponse
public Response
Verschiebt das Verzeichnis an einen anderen Speicherort im Dateisystem. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
DataLakeRequestConditions sourceRequestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
DataLakeRequestConditions destinationRequestConditions = new DataLakeRequestConditions();
DataLakeDirectoryClient newRenamedClient = client.renameWithResponse(fileSystemName, destinationPath,
sourceRequestConditions, destinationRequestConditions, timeout, new Context(key1, value1)).getValue();
System.out.println("Directory Client has been renamed");
Parameters:
null
für das aktuelle Dateisystem.
Returns:
Gilt für:
Azure SDK for Java