DataLakeFileClient Classe
- java.
lang. Object - com.
azure. storage. file. datalake. DataLakePathClient - com.
azure. storage. file. datalake. DataLakeFileClient
- com.
- com.
public class DataLakeFileClient
extends DataLakePathClient
Essa classe fornece um cliente que contém operações de arquivo para o Azure Storage Data Lake. As operações fornecidas por esse cliente incluem criar um arquivo, excluir um arquivo, renomear um arquivo, definir metadados e cabeçalhos http, definir e recuperar o controle de acesso, obter propriedades, ler um arquivo e acrescentar e liberar dados para gravar em um arquivo.
Esse cliente é instanciado por meio DataLakePathClientBuilder de ou recuperado por meio de getFileClient(String fileName).
Consulte o Azure Docs para obter mais informações.
Resumo do método
Métodos herdados de DataLakePathClient
Métodos herdados de java.lang.Object
Detalhes do método
append
public void append(BinaryData data, long fileOffset)
Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação
Exemplos de código
client.append(binaryData, offset);
System.out.println("Append data completed");
Para obter mais informações, consulte o Azure Docs
Parameters:
append
public void append(InputStream data, long fileOffset, long length)
Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação
Exemplos de código
client.append(data, offset, length);
System.out.println("Append data completed");
Para obter mais informações, consulte o Azure Docs
Parameters:
appendWithResponse
public Response
Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação
Exemplos de código
FileRange range = new FileRange(1024, 2048L);
DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(5);
byte[] contentMd5 = new byte[0]; // Replace with valid md5
Response<Void> response = client.appendWithResponse(binaryData, offset, contentMd5, leaseId, timeout,
new Context(key1, value1));
System.out.printf("Append data completed with status %d%n", response.getStatusCode());
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
appendWithResponse
public Response
Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação
Exemplos de código
BinaryData binaryData = BinaryData.fromStream(data, length);
FileRange range = new FileRange(1024, 2048L);
byte[] contentMd5 = new byte[0]; // Replace with valid md5
DataLakeFileAppendOptions appendOptions = new DataLakeFileAppendOptions()
.setLeaseId(leaseId)
.setContentHash(contentMd5)
.setFlush(true);
Response<Void> response = client.appendWithResponse(binaryData, offset, appendOptions, timeout,
new Context(key1, value1));
System.out.printf("Append data completed with status %d%n", response.getStatusCode());
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
appendWithResponse
public Response
Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação
Exemplos de código
FileRange range = new FileRange(1024, 2048L);
DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(5);
byte[] contentMd5 = new byte[0]; // Replace with valid md5
Response<Void> response = client.appendWithResponse(data, offset, length, contentMd5, leaseId, timeout,
new Context(key1, value1));
System.out.printf("Append data completed with status %d%n", response.getStatusCode());
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
appendWithResponse
public Response
Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação
Exemplos de código
FileRange range = new FileRange(1024, 2048L);
byte[] contentMd5 = new byte[0]; // Replace with valid md5
DataLakeFileAppendOptions appendOptions = new DataLakeFileAppendOptions()
.setLeaseId(leaseId)
.setContentHash(contentMd5)
.setFlush(true);
Response<Void> response = client.appendWithResponse(data, offset, length, appendOptions, timeout,
new Context(key1, value1));
System.out.printf("Append data completed with status %d%n", response.getStatusCode());
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
delete
public void delete()
Exclui um arquivo.
Exemplos de código
client.delete();
System.out.println("Delete request completed");
Para obter mais informações, consulte o Azure Docs
deleteIfExists
public boolean deleteIfExists()
Exclui um arquivo se ele existir.
Exemplos de código
client.deleteIfExists();
System.out.println("Delete request completed");
Para obter mais informações, consulte o Azure Docs
Overrides:
DataLakeFileClient.deleteIfExists()Returns:
true
se o arquivo for excluído com êxito, false
se o arquivo não existir.deleteIfExistsWithResponse
public Response
Exclui um arquivo se ele existir.
Exemplos de código
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
DataLakePathDeleteOptions options = new DataLakePathDeleteOptions().setIsRecursive(false)
.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());
}
Para obter mais informações, consulte o Azure Docs
Overrides:
DataLakeFileClient.deleteIfExistsWithResponse(DataLakePathDeleteOptions options, Duration timeout, Context context)Parameters:
Returns:
deleteWithResponse
public Response
Exclui um arquivo.
Exemplos de código
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
client.deleteWithResponse(requestConditions, timeout, new Context(key1, value1));
System.out.println("Delete request completed");
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
flush
@Deprecated
public PathInfo flush(long position)
Preterido
Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar. Os dados carregados anteriormente devem ser contíguos.
Por padrão, esse método não substituirá os dados existentes.
Exemplos de código
client.flush(position);
System.out.println("Flush data completed");
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
flush
public PathInfo flush(long position, boolean overwrite)
Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar. Os dados carregados anteriormente devem ser contíguos.
Exemplos de código
boolean overwrite = true;
client.flush(position, overwrite);
System.out.println("Flush data completed");
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
flushWithResponse
public Response
Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar. Os dados carregados anteriormente devem ser contíguos.
Exemplos de código
FileRange range = new FileRange(1024, 2048L);
DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(5);
byte[] contentMd5 = new byte[0]; // Replace with valid md5
boolean retainUncommittedData = false;
boolean close = false;
PathHttpHeaders httpHeaders = new PathHttpHeaders()
.setContentLanguage("en-US")
.setContentType("binary");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
Response<PathInfo> response = client.flushWithResponse(position, retainUncommittedData, close, httpHeaders,
requestConditions, timeout, new Context(key1, value1));
System.out.printf("Flush data completed with status %d%n", response.getStatusCode());
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
flushWithResponse
public Response
Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar. Os dados carregados anteriormente devem ser contíguos.
Exemplos de código
FileRange range = new FileRange(1024, 2048L);
DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(5);
byte[] contentMd5 = new byte[0]; // Replace with valid md5
boolean retainUncommittedData = false;
boolean close = false;
PathHttpHeaders httpHeaders = new PathHttpHeaders()
.setContentLanguage("en-US")
.setContentType("binary");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
Integer leaseDuration = 15;
DataLakeFileFlushOptions flushOptions = new DataLakeFileFlushOptions()
.setUncommittedDataRetained(retainUncommittedData)
.setClose(close)
.setPathHttpHeaders(httpHeaders)
.setRequestConditions(requestConditions)
.setLeaseAction(LeaseAction.ACQUIRE)
.setLeaseDuration(leaseDuration)
.setProposedLeaseId(leaseId);
Response<PathInfo> response = client.flushWithResponse(position, flushOptions, timeout,
new Context(key1, value1));
System.out.printf("Flush data completed with status %d%n", response.getStatusCode());
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
getCustomerProvidedKeyClient
public DataLakeFileClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
Cria um novo DataLakeFileClient com o customerProvidedKey
especificado.
Overrides:
DataLakeFileClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parameters:
null
para não usar nenhuma chave fornecida pelo cliente.
Returns:
customerProvidedKey
.getFileName
public String getFileName()
Obtém o nome desse arquivo, não incluindo seu caminho completo.
Returns:
getFilePath
public String getFilePath()
Obtém o caminho desse arquivo, sem incluir o nome do recurso em si.
Returns:
getFileUrl
public String getFileUrl()
Obtém a URL do arquivo representado por esse cliente no serviço Data Lake.
Returns:
getOutputStream
public OutputStream getOutputStream()
Cria e abre um fluxo de saída para gravar dados no arquivo. Se o arquivo já existir no serviço, ele será substituído.
Returns:
getOutputStream
public OutputStream getOutputStream(DataLakeFileOutputStreamOptions options)
Cria e abre um fluxo de saída para gravar dados no arquivo. Se o arquivo já existir no serviço, ele será substituído.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Parameters:
Returns:
getOutputStream
public OutputStream getOutputStream(DataLakeFileOutputStreamOptions options, Context context)
Cria e abre um fluxo de saída para gravar dados no arquivo. Se o arquivo já existir no serviço, ele será substituído.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Parameters:
Returns:
openInputStream
public DataLakeFileOpenInputStreamResult openInputStream()
Abre um fluxo de entrada de arquivo para baixar o arquivo. Bloqueios em ETags.
DataLakeFileOpenInputStreamResult inputStream = client.openInputStream();
Returns:
openInputStream
public DataLakeFileOpenInputStreamResult openInputStream(DataLakeFileInputStreamOptions options)
Abre um fluxo de entrada de arquivo para baixar o intervalo especificado do arquivo. O padrão será o bloqueio de ETag se a opção não for especificada.
DataLakeFileInputStreamOptions options = new DataLakeFileInputStreamOptions().setBlockSize(1024)
.setRequestConditions(new DataLakeRequestConditions());
DataLakeFileOpenInputStreamResult streamResult = client.openInputStream(options);
Parameters:
Returns:
openInputStream
public DataLakeFileOpenInputStreamResult openInputStream(DataLakeFileInputStreamOptions options, Context context)
Abre um fluxo de entrada de arquivo para baixar o intervalo especificado do arquivo. O padrão será o bloqueio de ETag se a opção não for especificada.
options = new DataLakeFileInputStreamOptions().setBlockSize(1024)
.setRequestConditions(new DataLakeRequestConditions());
DataLakeFileOpenInputStreamResult stream = client.openInputStream(options, new Context(key1, value1));
Parameters:
Returns:
openQueryInputStream
public InputStream openQueryInputStream(String expression)
Abre um fluxo de entrada para consultar o arquivo.
Para obter mais informações, consulte o Azure Docs
Exemplos de código
String expression = "SELECT * from BlobStorage";
InputStream inputStream = client.openQueryInputStream(expression);
// Now you can read from the input stream like you would normally.
Parameters:
Returns:
InputStream
objeto que representa o fluxo a ser usado para ler a resposta da consulta.openQueryInputStreamWithResponse
public Response
Abre um fluxo de entrada para consultar o arquivo.
Para obter mais informações, consulte o Azure Docs
Exemplos de código
String expression = "SELECT * from BlobStorage";
FileQuerySerialization input = new FileQueryDelimitedSerialization()
.setColumnSeparator(',')
.setEscapeChar('\n')
.setRecordSeparator('\n')
.setHeadersPresent(true)
.setFieldQuote('"');
FileQuerySerialization output = new FileQueryJsonSerialization()
.setRecordSeparator('\n');
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId("leaseId");
Consumer<FileQueryError> errorConsumer = System.out::println;
Consumer<FileQueryProgress> progressConsumer = progress -> System.out.println("total file bytes read: "
+ progress.getBytesScanned());
FileQueryOptions queryOptions = new FileQueryOptions(expression)
.setInputSerialization(input)
.setOutputSerialization(output)
.setRequestConditions(requestConditions)
.setErrorConsumer(errorConsumer)
.setProgressConsumer(progressConsumer);
InputStream inputStream = client.openQueryInputStreamWithResponse(queryOptions).getValue();
// Now you can read from the input stream like you would normally.
Parameters:
Returns:
InputStream
objeto que representa o fluxo a ser usado para ler a resposta da consulta.query
public void query(OutputStream stream, String expression)
Consulta um arquivo inteiro em um fluxo de saída.
Para obter mais informações, consulte o Azure Docs
Exemplos de código
ByteArrayOutputStream queryData = new ByteArrayOutputStream();
String expression = "SELECT * from BlobStorage";
client.query(queryData, expression);
System.out.println("Query completed.");
Parameters:
queryWithResponse
public FileQueryResponse queryWithResponse(FileQueryOptions queryOptions, Duration timeout, Context context)
Consulta um arquivo inteiro em um fluxo de saída.
Para obter mais informações, consulte o Azure Docs
Exemplos de código
ByteArrayOutputStream queryData = new ByteArrayOutputStream();
String expression = "SELECT * from BlobStorage";
FileQueryJsonSerialization input = new FileQueryJsonSerialization()
.setRecordSeparator('\n');
FileQueryDelimitedSerialization output = new FileQueryDelimitedSerialization()
.setEscapeChar('\0')
.setColumnSeparator(',')
.setRecordSeparator('\n')
.setFieldQuote('\'')
.setHeadersPresent(true);
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions().setLeaseId(leaseId);
Consumer<FileQueryError> errorConsumer = System.out::println;
Consumer<FileQueryProgress> progressConsumer = progress -> System.out.println("total file bytes read: "
+ progress.getBytesScanned());
FileQueryOptions queryOptions = new FileQueryOptions(expression, queryData)
.setInputSerialization(input)
.setOutputSerialization(output)
.setRequestConditions(requestConditions)
.setErrorConsumer(errorConsumer)
.setProgressConsumer(progressConsumer);
System.out.printf("Query completed with status %d%n",
client.queryWithResponse(queryOptions, timeout, new Context(key1, value1))
.getStatusCode());
Parameters:
Returns:
read
public void read(OutputStream stream)
Lê o arquivo inteiro em um fluxo de saída.
Exemplos de código
client.read(new ByteArrayOutputStream());
System.out.println("Download completed.");
Para obter mais informações, consulte o Azure Docs
Parameters:
readToFile
public PathProperties readToFile(String filePath)
Lê todo o arquivo em um arquivo especificado pelo caminho.
O arquivo será criado e não deverá existir, se o arquivo já existir um FileAlreadyExistsException será gerado.
Exemplos de código
client.readToFile(file);
System.out.println("Completed download to file");
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
readToFile
public PathProperties readToFile(String filePath, boolean overwrite)
Lê todo o arquivo em um arquivo especificado pelo caminho.
Se overwrite for definido como false, o arquivo será criado e não deverá existir, se o arquivo já existir um FileAlreadyExistsException será gerado.
Exemplos de código
boolean overwrite = false; // Default value
client.readToFile(file, overwrite);
System.out.println("Completed download to file");
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
readToFileWithResponse
public Response
Lê todo o arquivo em um arquivo especificado pelo caminho.
Por padrão, o arquivo será criado e não deve existir, se o arquivo já existir, um FileAlreadyExistsException será gerado. Para substituir esse comportamento, forneça o apropriado OpenOptions
Exemplos de código
FileRange fileRange = new FileRange(1024, 2048L);
DownloadRetryOptions downloadRetryOptions = new DownloadRetryOptions().setMaxRetryRequests(5);
Set<OpenOption> openOptions = new HashSet<>(Arrays.asList(StandardOpenOption.CREATE_NEW,
StandardOpenOption.WRITE, StandardOpenOption.READ)); // Default options
client.readToFileWithResponse(file, fileRange, new ParallelTransferOptions().setBlockSizeLong(4L * Constants.MB),
downloadRetryOptions, null, false, openOptions, timeout, new Context(key2, value2));
System.out.println("Completed download to file");
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
readWithResponse
public FileReadResponse readWithResponse(OutputStream stream, FileRange range, DownloadRetryOptions options, DataLakeRequestConditions requestConditions, boolean getRangeContentMd5, Duration timeout, Context context)
Lê um intervalo de bytes de um arquivo em um fluxo de saída.
Exemplos de código
FileRange range = new FileRange(1024, 2048L);
DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(5);
System.out.printf("Download completed with status %d%n",
client.readWithResponse(new ByteArrayOutputStream(), range, options, null, false,
timeout, new Context(key2, value2)).getStatusCode());
Para obter mais informações, consulte o Azure Docs
Parameters:
Returns:
rename
public DataLakeFileClient rename(String destinationFileSystem, String destinationPath)
Move o arquivo para outro local dentro do sistema de arquivos. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
DataLakeDirectoryAsyncClient renamedClient = client.rename(fileSystemName, destinationPath).block();
System.out.println("Directory Client has been renamed");
Parameters:
null
para o sistema de arquivos atual.
Returns:
renameWithResponse
public Response
Move o arquivo para outro local dentro do sistema de arquivos. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
DataLakeRequestConditions sourceRequestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId);
DataLakeRequestConditions destinationRequestConditions = new DataLakeRequestConditions();
DataLakeFileClient newRenamedClient = client.renameWithResponse(fileSystemName, destinationPath,
sourceRequestConditions, destinationRequestConditions, timeout, new Context(key1, value1)).getValue();
System.out.println("Directory Client has been renamed");
Parameters:
null
para o sistema de arquivos atual.
Returns:
scheduleDeletion
public void scheduleDeletion(FileScheduleDeletionOptions options)
Agenda o arquivo para exclusão.
Exemplos de código
FileScheduleDeletionOptions options = new FileScheduleDeletionOptions(OffsetDateTime.now().plusDays(1));
client.scheduleDeletion(options);
System.out.println("File deletion has been scheduled");
Parameters:
scheduleDeletionWithResponse
public Response
Agenda o arquivo para exclusão.
Exemplos de código
FileScheduleDeletionOptions options = new FileScheduleDeletionOptions(OffsetDateTime.now().plusDays(1));
Context context = new Context("key", "value");
client.scheduleDeletionWithResponse(options, timeout, context);
System.out.println("File deletion has been scheduled");
Parameters:
Returns:
upload
public PathInfo upload(BinaryData data)
Cria um arquivo novo. Por padrão, esse método não substituirá um arquivo existente.
Exemplos de código
try {
client.upload(binaryData);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
Returns:
upload
public PathInfo upload(BinaryData data, boolean overwrite)
Cria um novo arquivo ou atualiza o conteúdo de um arquivo existente.
Exemplos de código
try {
boolean overwrite = false;
client.upload(binaryData, overwrite);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
Returns:
upload
public PathInfo upload(InputStream data, long length)
Cria um arquivo novo. Por padrão, esse método não substituirá um arquivo existente.
Exemplos de código
try {
client.upload(data, length);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
Returns:
upload
public PathInfo upload(InputStream data, long length, boolean overwrite)
Cria um novo arquivo ou atualiza o conteúdo de um arquivo existente.
Exemplos de código
try {
boolean overwrite = false;
client.upload(data, length, overwrite);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
Returns:
uploadFromFile
public void uploadFromFile(String filePath)
Cria um arquivo, com o conteúdo do arquivo especificado. Por padrão, esse método não substituirá um arquivo existente.
Exemplos de código
try {
client.uploadFromFile(filePath);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
uploadFromFile
public void uploadFromFile(String filePath, boolean overwrite)
Cria um arquivo, com o conteúdo do arquivo especificado.
Exemplos de código
try {
boolean overwrite = false;
client.uploadFromFile(filePath, overwrite);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
uploadFromFile
public void uploadFromFile(String filePath, ParallelTransferOptions parallelTransferOptions, PathHttpHeaders headers, Map
Cria um arquivo, com o conteúdo do arquivo especificado.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos de código
PathHttpHeaders headers = new PathHttpHeaders()
.setContentMd5("data".getBytes(StandardCharsets.UTF_8))
.setContentLanguage("en-US")
.setContentType("binary");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Long blockSize = 100L * 1024L * 1024L; // 100 MB;
ParallelTransferOptions parallelTransferOptions = new ParallelTransferOptions().setBlockSizeLong(blockSize);
try {
client.uploadFromFile(filePath, parallelTransferOptions, headers, metadata, requestConditions, timeout);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
uploadFromFileWithResponse
public Response
Cria um arquivo, com o conteúdo do arquivo especificado.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos de código
PathHttpHeaders headers = new PathHttpHeaders()
.setContentMd5("data".getBytes(StandardCharsets.UTF_8))
.setContentLanguage("en-US")
.setContentType("binary");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Long blockSize = 100L * 1024L * 1024L; // 100 MB;
ParallelTransferOptions parallelTransferOptions = new ParallelTransferOptions().setBlockSizeLong(blockSize);
try {
Response<PathInfo> response = client.uploadFromFileWithResponse(filePath, parallelTransferOptions, headers,
metadata, requestConditions, timeout, new Context("key", "value"));
System.out.printf("Upload from file succeeded with status %d%n", response.getStatusCode());
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
Returns:
uploadWithResponse
public Response
Cria um arquivo novo. Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos de código
PathHttpHeaders headers = new PathHttpHeaders()
.setContentMd5("data".getBytes(StandardCharsets.UTF_8))
.setContentLanguage("en-US")
.setContentType("binary");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
DataLakeRequestConditions requestConditions = new DataLakeRequestConditions()
.setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Long blockSize = 100L * 1024L * 1024L; // 100 MB;
ParallelTransferOptions parallelTransferOptions = new ParallelTransferOptions().setBlockSizeLong(blockSize);
try {
client.uploadWithResponse(new FileParallelUploadOptions(data, length)
.setParallelTransferOptions(parallelTransferOptions).setHeaders(headers)
.setMetadata(metadata).setRequestConditions(requestConditions)
.setPermissions("permissions").setUmask("umask"), timeout, new Context("key", "value"));
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
Returns:
Aplica-se a
Azure SDK for Java