Partilhar via


DataLakeFileClient Classe

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

Modificador e tipo Método e descrição
void append(BinaryData data, long fileOffset)

Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação

void append(InputStream data, long fileOffset, long length)

Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação

Response<Void> appendWithResponse(BinaryData data, long fileOffset, byte[] contentMd5, String leaseId, Duration timeout, Context context)

Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação

Response<Void> appendWithResponse(BinaryData data, long fileOffset, DataLakeFileAppendOptions appendOptions, Duration timeout, Context context)

Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação

Response<Void> appendWithResponse(InputStream data, long fileOffset, long length, byte[] contentMd5, String leaseId, Duration timeout, Context context)

Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação

Response<Void> appendWithResponse(InputStream data, long fileOffset, long length, DataLakeFileAppendOptions appendOptions, Duration timeout, Context context)

Acrescenta dados ao recurso especificado a serem liberados posteriormente (gravados) por uma chamada para liberação

void delete()

Exclui um arquivo.

boolean deleteIfExists()

Exclui um arquivo se ele existir.

Response<Boolean> deleteIfExistsWithResponse(DataLakePathDeleteOptions options, Duration timeout, Context context)

Exclui um arquivo se ele existir.

Response<Void> deleteWithResponse(DataLakeRequestConditions requestConditions, Duration timeout, Context context)

Exclui um arquivo.

PathInfo flush(long position)

Preterido

Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar.

PathInfo flush(long position, boolean overwrite)

Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar.

Response<PathInfo> flushWithResponse(long position, boolean retainUncommittedData, boolean close, PathHttpHeaders httpHeaders, DataLakeRequestConditions requestConditions, Duration timeout, Context context)

Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar.

Response<PathInfo> flushWithResponse(long position, DataLakeFileFlushOptions flushOptions, Duration timeout, Context context)

Libera (grava) dados acrescentados anteriormente ao arquivo por meio de uma chamada para acrescentar.

DataLakeFileClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Cria um novo DataLakeFileClient com o customerProvidedKey especificado.

String getFileName()

Obtém o nome desse arquivo, não incluindo seu caminho completo.

String getFilePath()

Obtém o caminho desse arquivo, sem incluir o nome do recurso em si.

String getFileUrl()

Obtém a URL do arquivo representado por esse cliente no serviço Data Lake.

OutputStream getOutputStream()

Cria e abre um fluxo de saída para gravar dados no arquivo.

OutputStream getOutputStream(DataLakeFileOutputStreamOptions options)

Cria e abre um fluxo de saída para gravar dados no arquivo.

OutputStream getOutputStream(DataLakeFileOutputStreamOptions options, Context context)

Cria e abre um fluxo de saída para gravar dados no arquivo.

DataLakeFileOpenInputStreamResult openInputStream()

Abre um fluxo de entrada de arquivo para baixar o arquivo.

DataLakeFileOpenInputStreamResult openInputStream(DataLakeFileInputStreamOptions options)

Abre um fluxo de entrada de arquivo para baixar o intervalo especificado do arquivo.

DataLakeFileOpenInputStreamResult openInputStream(DataLakeFileInputStreamOptions options, Context context)

Abre um fluxo de entrada de arquivo para baixar o intervalo especificado do arquivo.

InputStream openQueryInputStream(String expression)

Abre um fluxo de entrada para consultar o arquivo.

Response<InputStream> openQueryInputStreamWithResponse(FileQueryOptions queryOptions)

Abre um fluxo de entrada para consultar o arquivo.

void query(OutputStream stream, String expression)

Consulta um arquivo inteiro em um fluxo de saída.

FileQueryResponse queryWithResponse(FileQueryOptions queryOptions, Duration timeout, Context context)

Consulta um arquivo inteiro em um fluxo de saída.

void read(OutputStream stream)

Lê o arquivo inteiro em um fluxo de saída.

PathProperties readToFile(String filePath)

Lê todo o arquivo em um arquivo especificado pelo caminho.

PathProperties readToFile(String filePath, boolean overwrite)

Lê todo o arquivo em um arquivo especificado pelo caminho.

Response<PathProperties> readToFileWithResponse(String filePath, FileRange range, ParallelTransferOptions parallelTransferOptions, DownloadRetryOptions downloadRetryOptions, DataLakeRequestConditions requestConditions, boolean rangeGetContentMd5, Set<OpenOption> openOptions, Duration timeout, Context context)

Lê todo o arquivo em um arquivo especificado pelo caminho.

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.

DataLakeFileClient rename(String destinationFileSystem, String destinationPath)

Move o arquivo para outro local dentro do sistema de arquivos.

Response<DataLakeFileClient> renameWithResponse(String destinationFileSystem, String destinationPath, DataLakeRequestConditions sourceRequestConditions, DataLakeRequestConditions destinationRequestConditions, Duration timeout, Context context)

Move o arquivo para outro local dentro do sistema de arquivos.

void scheduleDeletion(FileScheduleDeletionOptions options)

Agenda o arquivo para exclusão.

Response<Void> scheduleDeletionWithResponse(FileScheduleDeletionOptions options, Duration timeout, Context context)

Agenda o arquivo para exclusão.

PathInfo upload(BinaryData data)

Cria um arquivo novo.

PathInfo upload(BinaryData data, boolean overwrite)

Cria um novo arquivo ou atualiza o conteúdo de um arquivo existente.

PathInfo upload(InputStream data, long length)

Cria um arquivo novo.

PathInfo upload(InputStream data, long length, boolean overwrite)

Cria um novo arquivo ou atualiza o conteúdo de um arquivo existente.

void uploadFromFile(String filePath)

Cria um arquivo, com o conteúdo do arquivo especificado.

void uploadFromFile(String filePath, boolean overwrite)

Cria um arquivo, com o conteúdo do arquivo especificado.

void uploadFromFile(String filePath, ParallelTransferOptions parallelTransferOptions, PathHttpHeaders headers, Map<String,String> metadata, DataLakeRequestConditions requestConditions, Duration timeout)

Cria um arquivo, com o conteúdo do arquivo especificado.

Response<PathInfo> uploadFromFileWithResponse(String filePath, ParallelTransferOptions parallelTransferOptions, PathHttpHeaders headers, Map<String,String> metadata, DataLakeRequestConditions requestConditions, Duration timeout, Context context)

Cria um arquivo, com o conteúdo do arquivo especificado.

Response<PathInfo> uploadWithResponse(FileParallelUploadOptions options, Duration timeout, Context context)

Cria um arquivo novo.

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:

data - Os dados a serem gravados no arquivo.
fileOffset - A posição em que os dados devem ser acrescentados.

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:

data - Os dados a serem gravados no arquivo.
fileOffset - A posição em que os dados devem ser acrescentados.
length - O comprimento exato dos dados.

appendWithResponse

public Response appendWithResponse(BinaryData data, long fileOffset, byte[] contentMd5, String leaseId, Duration timeout, Context context)

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:

data - Os dados a serem gravados no arquivo.
fileOffset - A posição em que os dados devem ser acrescentados.
contentMd5 - Um hash MD5 do conteúdo dos dados. Se especificado, o serviço calculará o MD5 dos dados recebidos e falhará na solicitação se ele não corresponder ao MD5 fornecido.
leaseId - Ao definir a ID de concessão, as solicitações falharão se a concessão fornecida não corresponder à concessão ativa no arquivo.
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta sinalizando a conclusão.

appendWithResponse

public Response appendWithResponse(BinaryData data, long fileOffset, DataLakeFileAppendOptions appendOptions, Duration timeout, Context context)

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:

data - Os dados a serem gravados no arquivo.
fileOffset - A posição em que os dados devem ser acrescentados.
appendOptions - DataLakeFileAppendOptions
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta sinalizando a conclusão.

appendWithResponse

public Response appendWithResponse(InputStream data, long fileOffset, long length, byte[] contentMd5, String leaseId, Duration timeout, Context context)

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:

data - Os dados a serem gravados no arquivo.
fileOffset - A posição em que os dados devem ser acrescentados.
length - O comprimento exato dos dados.
contentMd5 - Um hash MD5 do conteúdo dos dados. Se especificado, o serviço calculará o MD5 dos dados recebidos e falhará na solicitação se ele não corresponder ao MD5 fornecido.
leaseId - Ao definir a ID de concessão, as solicitações falharão se a concessão fornecida não corresponder à concessão ativa no arquivo.
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta sinalizando a conclusão.

appendWithResponse

public Response appendWithResponse(InputStream data, long fileOffset, long length, DataLakeFileAppendOptions appendOptions, Duration timeout, Context context)

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:

data - Os dados a serem gravados no arquivo.
fileOffset - A posição em que os dados devem ser acrescentados.
length - O comprimento exato dos dados.
appendOptions - DataLakeFileAppendOptions
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta sinalizando a conclusão.

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 deleteIfExistsWithResponse(DataLakePathDeleteOptions options, Duration timeout, Context context)

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:

timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém status código e cabeçalhos HTTP. Se Response<T>o código status for 200, o arquivo será excluído com êxito. Se status código for 404, o arquivo não existirá.

deleteWithResponse

public Response deleteWithResponse(DataLakeRequestConditions requestConditions, Duration timeout, Context context)

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:

requestConditions - DataLakeRequestConditions
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém status código e cabeçalhos HTTP.

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:

position - O comprimento do arquivo após a gravação de todos os dados.

Returns:

Informações sobre o recurso criado.

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:

position - O comprimento do arquivo após a gravação de todos os dados.
overwrite - Se for necessário substituir, os dados devem existir no arquivo.

Returns:

Informações sobre o recurso criado.

flushWithResponse

public Response flushWithResponse(long position, boolean retainUncommittedData, boolean close, PathHttpHeaders httpHeaders, DataLakeRequestConditions requestConditions, Duration timeout, Context context)

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:

position - O comprimento do arquivo após a gravação de todos os dados.
retainUncommittedData - Se os dados não confirmados devem ser retidos após a operação.
close - Se um evento alterado de arquivo gerado indica conclusão (true) ou modificação (false).
httpHeaders - PathHttpHeaders
requestConditions - DataLakeRequestConditions
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém as informações do recurso criado.

flushWithResponse

public Response flushWithResponse(long position, DataLakeFileFlushOptions flushOptions, Duration timeout, Context context)

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:

position - O comprimento do arquivo após a gravação de todos os dados.
flushOptions - DataLakeFileFlushOptions
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém as informações do recurso criado.

getCustomerProvidedKeyClient

public DataLakeFileClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Cria um novo DataLakeFileClient com o customerProvidedKey especificado.

Overrides:

DataLakeFileClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Parameters:

customerProvidedKey - para CustomerProvidedKey o blob, passe null para não usar nenhuma chave fornecida pelo cliente.

Returns:

um DataLakeFileClient com o especificado customerProvidedKey.

getFileName

public String getFileName()

Obtém o nome desse arquivo, não incluindo seu caminho completo.

Returns:

O nome do arquivo.

getFilePath

public String getFilePath()

Obtém o caminho desse arquivo, sem incluir o nome do recurso em si.

Returns:

O caminho do arquivo.

getFileUrl

public String getFileUrl()

Obtém a URL do arquivo representado por esse cliente no serviço Data Lake.

Returns:

a URL.

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:

O OutputStream que pode ser usado para gravar no arquivo.

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:

O OutputStream que pode ser usado para gravar no arquivo.

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:

context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

O OutputStream que pode ser usado para gravar no arquivo.

openInputStream

public DataLakeFileOpenInputStreamResult openInputStream()

Abre um fluxo de entrada de arquivo para baixar o arquivo. Bloqueios em ETags.

DataLakeFileOpenInputStreamResult inputStream = client.openInputStream();

Returns:

Um InputStream objeto que representa o fluxo a ser usado para leitura do arquivo.

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:

Um DataLakeFileOpenInputStreamResult objeto que contém o fluxo a ser usado para leitura do arquivo.

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:

context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Um DataLakeFileOpenInputStreamResult objeto que contém o fluxo a ser usado para leitura do arquivo.

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:

expression - A expressão de consulta.

Returns:

Um InputStream objeto que representa o fluxo a ser usado para ler a resposta da consulta.

openQueryInputStreamWithResponse

public Response openQueryInputStreamWithResponse(FileQueryOptions queryOptions)

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:

queryOptions - FileQueryOptions.

Returns:

Uma resposta que contém status código e cabeçalhos HTTP, incluindo um 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:

stream - Uma instância não nula OutputStream em que os dados baixados serão gravados.
expression - A expressão de consulta.

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:

queryOptions - FileQueryOptions.
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém status código e cabeçalhos HTTP.

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:

stream - Uma instância não nula OutputStream em que os dados baixados serão gravados.

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:

filePath - Um String que representa o filePath em que os dados baixados serão gravados.

Returns:

As propriedades e os metadados do arquivo.

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:

filePath - Um String que representa o filePath em que os dados baixados serão gravados.
overwrite - Se for necessário substituir o arquivo, caso o arquivo exista.

Returns:

As propriedades e os metadados do arquivo.

readToFileWithResponse

public Response readToFileWithResponse(String filePath, FileRange range, ParallelTransferOptions parallelTransferOptions, DownloadRetryOptions downloadRetryOptions, DataLakeRequestConditions requestConditions, boolean rangeGetContentMd5, Set openOptions, Duration timeout, Context context)

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:

filePath - Um String que representa o filePath em que os dados baixados serão gravados.
range - FileRange
parallelTransferOptions - ParallelTransferOptions a ser usado para baixar no arquivo. O número de parâmetros de transferências paralelas é ignorado.
downloadRetryOptions - DownloadRetryOptions
requestConditions - DataLakeRequestConditions
rangeGetContentMd5 - Se o contentMD5 para o intervalo de arquivos especificado deve ser retornado.
openOptions - OpenOptions para usar para configurar como abrir ou criar o arquivo.
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém as propriedades e os metadados do arquivo.

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:

stream - Uma instância não nula OutputStream em que os dados baixados serão gravados.
range - FileRange
requestConditions - DataLakeRequestConditions
getRangeContentMd5 - Se o contentMD5 para o intervalo de arquivos especificado deve ser retornado.
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém status código e cabeçalhos HTTP.

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:

destinationFileSystem - O sistema de arquivos do destino dentro da conta. null para o sistema de arquivos atual.
destinationPath - O caminho relativo do sistema de arquivos para o qual renomear o arquivo exclui o nome do sistema de arquivos. Por exemplo, se você quiser mover um arquivo com fileSystem = "myfilesystem", path = "mydir/hello.txt" para outro caminho no myfilesystem (ex: newdir/hi.txt), defina destinationPath = "newdir/hi.txt"

Returns:

Um DataLakeFileClient usado para interagir com o novo arquivo criado.

renameWithResponse

public Response renameWithResponse(String destinationFileSystem, String destinationPath, DataLakeRequestConditions sourceRequestConditions, DataLakeRequestConditions destinationRequestConditions, Duration timeout, Context context)

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:

destinationFileSystem - O sistema de arquivos do destino dentro da conta. null para o sistema de arquivos atual.
destinationPath - O caminho relativo do sistema de arquivos para o qual renomear o arquivo exclui o nome do sistema de arquivos. Por exemplo, se você quiser mover um arquivo com fileSystem = "myfilesystem", path = "mydir/hello.txt" para outro caminho no myfilesystem (ex: newdir/hi.txt), defina destinationPath = "newdir/hi.txt"
sourceRequestConditions - DataLakeRequestConditions em relação à origem.
destinationRequestConditions - DataLakeRequestConditions em relação ao destino.
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Um Response<T> cujo value que contém um DataLakeFileClient usado para interagir com o arquivo criado.

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:

options - Agendar parâmetros de exclusão.

scheduleDeletionWithResponse

public Response scheduleDeletionWithResponse(FileScheduleDeletionOptions options, Duration timeout, Context context)

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:

options - Agendar parâmetros de exclusão.
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Uma resposta que contém status código e cabeçalhos HTTP.

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:

data - Os dados a serem gravados no blob. Os dados devem ser marcados. Isso é para dar suporte a novas tentativas. Se os dados não puderem ser marcados, considere encapsular sua fonte de dados em um BufferedInputStream para adicionar suporte a marcas.

Returns:

Informações sobre o caminho carregado.

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:

data - Os dados a serem gravados no blob. Os dados devem ser marcados. Isso é para dar suporte a novas tentativas. Se os dados não puderem ser marcados, considere encapsular sua fonte de dados em um BufferedInputStream para adicionar suporte a marcas.
overwrite - Se for necessário substituir, os dados devem existir no arquivo.

Returns:

Informações sobre o caminho carregado.

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:

data - Os dados a serem gravados no blob. Os dados devem ser marcados. Isso é para dar suporte a novas tentativas. Se os dados não puderem ser marcados, considere encapsular sua fonte de dados em um BufferedInputStream para adicionar suporte a marcas.
length - O comprimento exato dos dados. É importante que esse valor corresponda precisamente ao comprimento dos dados fornecidos no InputStream.

Returns:

Informações sobre o caminho carregado.

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:

data - Os dados a serem gravados no blob. Os dados devem ser marcados. Isso é para dar suporte a novas tentativas. Se os dados não puderem ser marcados, considere encapsular sua fonte de dados em um BufferedInputStream para adicionar suporte a marcas.
length - O comprimento exato dos dados. É importante que esse valor corresponda precisamente ao comprimento dos dados fornecidos no InputStream.
overwrite - Se for necessário substituir, os dados devem existir no arquivo.

Returns:

Informações sobre o caminho carregado.

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:

filePath - Caminho do arquivo a ser carregado

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:

filePath - Caminho do arquivo a ser carregado
overwrite - Se for necessário substituir, caso o arquivo já exista

uploadFromFile

public void uploadFromFile(String filePath, ParallelTransferOptions parallelTransferOptions, PathHttpHeaders headers, Map metadata, DataLakeRequestConditions requestConditions, Duration timeout)

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:

filePath - Caminho do arquivo a ser carregado
parallelTransferOptions - ParallelTransferOptions usado para configurar o carregamento em buffer.
headers - PathHttpHeaders
metadata - Metadados a serem associados ao recurso. Se houver espaço em branco à esquerda ou à direita em qualquer chave ou valor de metadados, ele deverá ser removido ou codificado.
requestConditions - DataLakeRequestConditions
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.

uploadFromFileWithResponse

public Response uploadFromFileWithResponse(String filePath, ParallelTransferOptions parallelTransferOptions, PathHttpHeaders headers, Map metadata, DataLakeRequestConditions requestConditions, Duration timeout, Context context)

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:

filePath - Caminho do arquivo a ser carregado
parallelTransferOptions - ParallelTransferOptions usado para configurar o carregamento em buffer.
headers - PathHttpHeaders
metadata - Metadados a serem associados ao recurso. Se houver espaço em branco à esquerda ou à direita em qualquer chave ou valor de metadados, ele deverá ser removido ou codificado.
requestConditions - DataLakeRequestConditions
timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Resposta que contém informações sobre o caminho carregado.

uploadWithResponse

public Response uploadWithResponse(FileParallelUploadOptions options, Duration timeout, Context context)

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:

timeout - Um valor de tempo limite opcional além do qual um RuntimeException será gerado.
context - Contexto adicional que é passado pelo pipeline Http durante a chamada de serviço.

Returns:

Informações sobre o caminho carregado.

Aplica-se a