Exemplos de código do Compartilhamento de Arquivo do Azure usando bibliotecas de clientes do Java versão 8
Este artigo mostra exemplos de código que usam a versão 8 da biblioteca de clientes do Compartilhamento de Arquivo do Azure para Java.
Em 31 de março de 2023, descontinuamos o suporte para bibliotecas de SDK do Azure que não estão em conformidade com as diretrizes atuais do SDK do Azure. As novas bibliotecas do SDK do Azure são atualizadas regularmente para gerar experiências consistentes e fortalecer sua postura de segurança. É recomendável que você faça a transição para as novas bibliotecas do SDK do Azure para aproveitar os novos recursos e as atualizações críticas de segurança.
Embora as bibliotecas mais antigas ainda possam ser usadas após 31 de março de 2023, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, confira o anúncio de desativação do suporte.
Pré-requisitos
Para usar a biblioteca de clientes do Compartilhamento de Arquivos do Azure, adicione as seguintes diretivas import
:
// Include the following imports to use Azure Files APIs v11
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.file.*;
Acessar um compartilhamento de arquivo do Azure
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
Para acessar à sua conta de armazenamento, use o objeto CloudStorageAccount, passando a cadeia de conexão para o método de análise.
// Use the CloudStorageAccount object to connect to your storage account
try {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
// Handle the exception
}
CloudStorageAccount.parse gera uma InvalidKeyException; portanto, você precisará colocá-lo dentro de um bloco try/catch.
Criar um compartilhamento de arquivo
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
Todos os arquivos e diretórios nos Arquivos do Azure são armazenados em um contêiner chamado de compartilhamento.
Para obter acesso a um compartilhamento e o conteúdo dele, crie um cliente de Arquivos do Azure. O exemplo de código a seguir mostra como criar um compartilhamento de arquivo:
// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
Usando o cliente do Arquivos do Azure, será possível obter uma referência a um compartilhamento.
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");
Para realmente criar o compartilhamento, use o método createIfNotExists do objeto CloudFileShare.
if (share.createIfNotExists()) {
System.out.println("New share created");
}
Neste ponto, o compartilhamento contém uma referência a um compartilhamento chamado compartilhamento de exemplo.
Excluir um compartilhamento de arquivos
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
O código de exemplo a seguir exclui um compartilhamento de arquivo.
Exclua um compartilhamento chamando o método deleteIfExists em um objeto CloudFileShare.
try
{
// Retrieve storage account from connection-string.
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
// Create the file client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");
if (share.deleteIfExists()) {
System.out.println("sampleshare deleted");
}
} catch (Exception e) {
e.printStackTrace();
}
Criar um diretório
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
Também é possível organizar o armazenamento colocando arquivos em subdiretórios em vez de manter todos eles no diretório raiz.
O código a seguir cria um subdiretório chamado sampledir no diretório raiz:
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
//Get a reference to the sampledir directory
CloudFileDirectory sampleDir = rootDir.getDirectoryReference("sampledir");
if (sampleDir.createIfNotExists()) {
System.out.println("sampledir created");
} else {
System.out.println("sampledir already exists");
}
Excluir um diretório
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
O exemplo a seguir mostra como excluir um diretório. Não é possível excluir um diretório que ainda contenha arquivos ou subdiretórios.
// Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
// Get a reference to the directory you want to delete
CloudFileDirectory containerDir = rootDir.getDirectoryReference("sampledir");
// Delete the directory
if ( containerDir.deleteIfExists() ) {
System.out.println("Directory deleted");
}
Enumerar arquivos e diretórios em um Compartilhamento de Arquivos do Azure
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
Obtenha uma lista de arquivos e diretórios chamando listFilesAndDirectories em uma referência CloudFileDirectory. O método retorna uma lista de objetos ListFileItem nos quais você pode iterar.
O código a seguir lista os arquivos e diretórios contidos no diretório raiz:
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
for ( ListFileItem fileItem : rootDir.listFilesAndDirectories() ) {
System.out.println(fileItem.getUri());
}
Fazer upload de um arquivo
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
Obtenha uma referência ao diretório em que o arquivo será carregado chamando o método getRootDirectoryReference no objeto do compartilhamento.
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
Agora que você tem uma referência para o diretório raiz do compartilhamento, pode carregar um arquivo usando o código a seguir.
// Define the path to a local file.
final String filePath = "C:\\temp\\Readme.txt";
CloudFile cloudFile = rootDir.getFileReference("Readme.txt");
cloudFile.uploadFromFile(filePath);
Baixar um arquivo
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
O exemplo a seguir baixa o arquivo SampleFile.txt e exibe o conteúdo dele:
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
//Get a reference to the directory that contains the file
CloudFileDirectory sampleDir = rootDir.getDirectoryReference("sampledir");
//Get a reference to the file you want to download
CloudFile file = sampleDir.getFileReference("SampleFile.txt");
//Write the contents of the file to the console.
System.out.println(file.downloadText());
Excluir um arquivo
Artigo relatado: Desenvolvimento para os Arquivos do Azure com Java
O código a seguir exclui um arquivo chamado SampleFile.txt armazenado em um diretório chamado sampledir:
// Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
// Get a reference to the directory where the file to be deleted is in
CloudFileDirectory containerDir = rootDir.getDirectoryReference("sampledir");
String filename = "SampleFile.txt"
CloudFile file;
file = containerDir.getFileReference(filename)
if ( file.deleteIfExists() ) {
System.out.println(filename + " was deleted");
}