DataLakeDirectoryClient クラス
- java.
lang. Object - com.
azure. storage. file. datalake. DataLakePathClient - com.
azure. storage. file. datalake. DataLakeDirectoryClient
- com.
- com.
public class DataLakeDirectoryClient
extends DataLakePathClient
このクラスは、Azure Storage Data Lake のディレクトリ操作を含むクライアントを提供します。 このクライアントによって提供される操作には、ディレクトリの作成、ディレクトリの削除、ディレクトリの名前変更、メタデータと http ヘッダーの設定、アクセス制御の設定と取得、プロパティの取得、ファイルとサブディレクトリの作成と削除が含まれます。
このクライアントは を介して DataLakePathClientBuilder インスタンス化されるか、 を介して getDirectoryClient(String directoryName)取得されます。
詳細については、 Azure Docs を参照してください。
メソッドの概要
メソッドの継承元: DataLakePathClient
メソッドの継承元: java.lang.Object
メソッドの詳細
createFile
public DataLakeFileClient createFile(String fileName)
ディレクトリ内に新しいファイルを作成します。 既定では、このメソッドは既存のファイルを上書きしません。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
DataLakeFileClient fileClient = client.createFile(fileName);
Parameters:
Returns:
createFile
public DataLakeFileClient createFile(String fileName, boolean overwrite)
ディレクトリ内に新しいファイルを作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
boolean overwrite = false; /* Default value. */
DataLakeFileClient fClient = client.createFile(fileName, overwrite);
Parameters:
Returns:
createFileIfNotExists
public DataLakeFileClient createFileIfNotExists(String fileName)
ディレクトリ内に新しいファイルが存在しない場合は作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
DataLakeFileClient fileClient = client.createFileIfNotExists(fileName);
Parameters:
Returns:
createFileIfNotExistsWithResponse
public Response
ディレクトリ内に新しいファイルが存在しない場合は作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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
ディレクトリ内に新しいファイルを作成します。 同じ名前のファイルが既に存在する場合、ファイルは上書きされます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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
ディレクトリ内に新しいファイルを作成します。 同じ名前のファイルが既に存在する場合、ファイルは上書きされます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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)
ディレクトリ内に新しいサブディレクトリを作成します。 既定では、このメソッドは既存のサブディレクトリを上書きしません。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
DataLakeDirectoryClient directoryClient = client.createSubdirectory(directoryName);
Parameters:
Returns:
createSubdirectory
public DataLakeDirectoryClient createSubdirectory(String subdirectoryName, boolean overwrite)
ディレクトリ内に新しいサブディレクトリを作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
boolean overwrite = false; /* Default value. */
DataLakeDirectoryClient dClient = client.createSubdirectory(fileName, overwrite);
Parameters:
Returns:
createSubdirectoryIfNotExists
public DataLakeDirectoryClient createSubdirectoryIfNotExists(String subdirectoryName)
ディレクトリ内に存在しない場合は、新しいサブディレクトリを作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
DataLakeDirectoryClient directoryClient = client.createSubdirectoryIfNotExists(directoryName);
Parameters:
Returns:
createSubdirectoryIfNotExistsWithResponse
public Response
ディレクトリ内に新しいサブディレクトリが存在しない場合は作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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
ディレクトリ内に新しいサブディレクトリを作成します。 同じ名前のサブディレクトリが既に存在する場合は、サブディレクトリが上書きされます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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
ディレクトリ内に新しいサブディレクトリを作成します。 同じ名前のサブディレクトリが既に存在する場合は、サブディレクトリが上書きされます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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()
ディレクトリを削除します。
コード サンプル
client.delete();
System.out.println("Delete request completed");
詳細については、Azure Docs を参照してください。
deleteFile
public void deleteFile(String fileName)
ディレクトリ内の指定したファイルを削除します。 ファイルが存在しない場合、操作は失敗します。 詳細については、 Azure Docs を参照してください。
コード サンプル
client.deleteFile(fileName);
System.out.println("Delete request completed");
Parameters:
deleteFileIfExists
public boolean deleteFileIfExists(String fileName)
ディレクトリ内の指定したファイルが存在する場合は削除します。 詳細については、 Azure Docs を参照してください。
コード サンプル
boolean result = client.deleteFileIfExists(fileName);
System.out.println("Delete request completed: " + result);
Parameters:
Returns:
true
ファイルが正常に削除された場合は 。 false
ファイルが存在しない場合は 。deleteFileIfExistsWithResponse
public Response
ディレクトリ内の指定したファイルが存在する場合は削除します。 詳細については、 Azure Docs を参照してください。
コード サンプル
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
ディレクトリ内の指定したファイルを削除します。 ファイルが存在しない場合、操作は失敗します。 詳細については、 Azure Docs を参照してください。
コード サンプル
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()
ディレクトリが存在する場合は削除します。
コード サンプル
boolean result = client.deleteIfExists();
System.out.println("Delete request completed: " + result);
詳細については、Azure Docs を参照してください。
Overrides:
DataLakeDirectoryClient.deleteIfExists()Returns:
true
ディレクトリが正常に削除された場合は 。 false
ディレクトリが存在しない場合は 。deleteIfExistsWithResponse
public Response
ディレクトリが存在する場合は削除します。
コード サンプル
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());
}
詳細については、Azure Docs を参照してください。
Overrides:
DataLakeDirectoryClient.deleteIfExistsWithResponse(DataLakePathDeleteOptions options, Duration timeout, Context context)Parameters:
Returns:
deleteRecursively
public void deleteRecursively()
ディレクトリとディレクトリ内のすべてのコンテンツを再帰的に削除します。
コード サンプル
client.deleteRecursively();
System.out.println("Delete request completed");
詳細については、Azure Docs を参照してください。
deleteRecursivelyWithResponse
public Response
ディレクトリとディレクトリ内のすべてのコンテンツを再帰的に削除します。
コード サンプル
DataLakeRequestConditions deleteRequestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
client.deleteRecursivelyWithResponse(deleteRequestConditions, timeout, new Context(key1, value1));
System.out.println("Delete request completed");
詳細については、Azure Docs を参照してください。
Parameters:
Returns:
deleteSubdirectory
public void deleteSubdirectory(String subdirectoryName)
ディレクトリ内の指定したサブディレクトリを削除します。 サブディレクトリが存在しないか、空でない場合、操作は失敗します。 詳細については、 Azure Docs を参照してください。
コード サンプル
client.deleteSubdirectory(directoryName);
System.out.println("Delete request completed");
Parameters:
deleteSubdirectoryIfExists
public boolean deleteSubdirectoryIfExists(String subdirectoryName)
ディレクトリ内の指定したサブディレクトリが存在する場合は削除します。 詳細については、 Azure Docs を参照してください。
コード サンプル
boolean result = client.deleteSubdirectoryIfExists(directoryName);
System.out.println("Delete request completed: " + result);
Parameters:
Returns:
true
サブディレクトリが正常に削除された場合は 。 false
サブディレクトリが存在しない場合は 。deleteSubdirectoryIfExistsWithResponse
public Response
ディレクトリ内の指定したサブディレクトリが存在する場合は削除します。 詳細については、 Azure Docs を参照してください。
コード サンプル
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
ディレクトリ内の指定したサブディレクトリを削除します。 サブディレクトリが存在しないか、空でない場合、操作は失敗します。 詳細については、 Azure Docs を参照してください。
コード サンプル
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
ディレクトリを削除します。
コード サンプル
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");
詳細については、Azure Docs を参照してください。
Parameters:
Returns:
getCustomerProvidedKeyClient
public DataLakeDirectoryClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
指定した DataLakeDirectoryClient を使用して、新しい customerProvidedKey
を作成します。
Overrides:
DataLakeDirectoryClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parameters:
Returns:
customerProvidedKey
を持つ 。getDirectoryName
public String getDirectoryName()
完全なパスを含まない、このディレクトリの名前を取得します。
Returns:
getDirectoryPath
public String getDirectoryPath()
リソース自体の名前を含まない、このディレクトリのパスを取得します。
Returns:
getDirectoryUrl
public String getDirectoryUrl()
Data Lake サービス上のこのクライアントによって表されるディレクトリの URL を取得します。
Returns:
getFileClient
public DataLakeFileClient getFileClient(String fileName)
FileName を DataLakeDirectoryClient の URL の末尾に連結して、新しい DataLakeFileClient オブジェクトを初期化します。 新しい DataLakeFileClient は、DataLakeDirectoryClient と同じ要求ポリシー パイプラインを使用します。
Parameters:
String
ファイルの名前を表す 。
コード サンプル
DataLakeFileClient dataLakeFileClient = client.getFileClient(fileName);
Returns:
getSubdirectoryClient
public DataLakeDirectoryClient getSubdirectoryClient(String subdirectoryName)
dataLakeDirectoryClient の URL の末尾に directoryName を連結して、新しい DataLakeDirectoryClient オブジェクトを初期化します。 新しい DataLakeDirectoryClient は、DataLakeDirectoryClient と同じ要求ポリシー パイプラインを使用します。
Parameters:
String
サブディレクトリの名前を表す 。
コード サンプル
DataLakeDirectoryClient dataLakeDirectoryClient = client.getSubdirectoryClient(directoryName);
Returns:
listPaths
public PagedIterable
このディレクトリ内のファイル/ディレクトリの遅延読み込みリストを返します。 返された PagedIterable<T> は、必要に応じて新しい項目が自動的に取得される間に使用できます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
client.listPaths().forEach(path -> System.out.printf("Name: %s%n", path.getName()));
Returns:
listPaths
public PagedIterable
このディレクトリ内のファイル/ディレクトリの遅延読み込みリストを返します。 返された PagedIterable<T> は、必要に応じて新しい項目が自動的に取得される間に使用できます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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)
ディレクトリをファイル システム内の別の場所に移動します。 詳細については、 Azure Docs を参照してください。
コード サンプル
DataLakeDirectoryClient renamedClient = client.rename(fileSystemName, destinationPath);
System.out.println("Directory Client has been renamed");
Parameters:
null
現在のファイル システムの場合は 。
Returns:
renameWithResponse
public Response
ディレクトリをファイル システム内の別の場所に移動します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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
現在のファイル システムの場合は 。
Returns:
適用対象
Azure SDK for Java