Ejemplos de código del recurso compartido de archivos de Azure que usan bibliotecas cliente de Java versión 8
En este artículo, se muestran ejemplos de código que usan la versión 8 de la biblioteca cliente del recurso compartido de archivos de Azure para Java.
El 31 de marzo de 2023, se retiró el soporte técnico para las bibliotecas del SDK de Azure que no cumplen las directrices actuales del SDK de Azure. Las nuevas bibliotecas del SDK de Azure se actualizan periódicamente para impulsar experiencias coherentes y reforzar la posición de seguridad. Se recomienda realizar la transición a las nuevas bibliotecas del SDK de Azure para aprovechar las nuevas funcionalidades y las actualizaciones de seguridad críticas.
Aunque las bibliotecas anteriores todavía se pueden usar más allá del 31 de marzo de 2023, ya no recibirán soporte técnico oficial ni actualizaciones de Microsoft. Para obtener más información, consulte el anuncio de retirada de soporte técnico.
Requisitos previos
Para usar la biblioteca cliente del recurso compartido de archivos de Azure, agregue las siguientes directivas import
:
// Include the following imports to use Azure Files APIs v11
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.file.*;
Acceso a un recurso compartido de archivos de Azure
Artículo relacionado: Desarrollo con Java para Azure Files
Para acceder a su cuenta de almacenamiento, use el objeto CloudStorageAccount, pasando la cadena de conexión a su método de análisis.
// Use the CloudStorageAccount object to connect to your storage account
try {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
// Handle the exception
}
CloudStorageAccount.parse produce una InvalidKeyException, por lo que deberá colocarla dentro de un bloque try/catch.
Creación de un recurso compartido de archivos
Artículo relacionado: Desarrollo con Java para Azure Files
Todos los archivos y directorios de Azure Files se almacenan en un contenedor denominado recurso compartido.
Para acceder a un recurso compartido y su contenido, cree un cliente de Azure Files. En el ejemplo de código siguiente, se muestra cómo crear un recurso compartido de archivos:
// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
Se usa el cliente de Azure Files para obtener una referencia a un recurso compartido.
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");
Para crear el recurso compartido, utilice el método createIfNotExists del objeto CloudFileShare.
if (share.createIfNotExists()) {
System.out.println("New share created");
}
En este punto, share contiene una referencia a un recurso compartido denominado sample share.
Eliminación de un recurso compartido de archivos
Artículo relacionado: Desarrollo con Java para Azure Files
En el siguiente código de ejemplo se elimina un recurso compartido de archivos.
Para eliminar un recurso compartido, llame al método deleteIfExists en un 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();
}
Creación de un directorio
Artículo relacionado: Desarrollo con Java para Azure Files
Para organizar el almacenamiento, coloque los archivos en los subdirectorios, en lugar de mantenerlos todos en el directorio raíz.
En el código siguiente, se crea un subdirectorio denominado sampledir en el directorio raíz:
//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");
}
Eliminación de un directorio
Artículo relacionado: Desarrollo con Java para Azure Files
En el código de ejemplo siguiente, se muestra cómo eliminar un directorio. No se puede eliminar un directorio que todavía contenga archivos o subdirectorios.
// 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 los archivos y directorios de un recurso compartido de Azure File
Artículo relacionado: Desarrollo con Java para Azure Files
Obtenga una lista de archivos y directorios mediante una llamada a listFilesAndDirectories en una referencia de CloudFileDirectory. El método devuelve una lista de objetos ListFileItem en los que puede efectuar la iteración.
El siguiente código enumera archivos y directorios dentro del directorio raíz:
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
for ( ListFileItem fileItem : rootDir.listFilesAndDirectories() ) {
System.out.println(fileItem.getUri());
}
Cargar un archivo
Artículo relacionado: Desarrollo con Java para Azure Files
Obtenga una referencia al directorio en el que se cargará el archivo mediante una llamada al método getRootDirectoryReference en el objeto del recurso compartido.
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
Ahora que tiene una referencia al directorio raíz del recurso compartido, puede cargar un archivo en él utilizando el código siguiente:
// Define the path to a local file.
final String filePath = "C:\\temp\\Readme.txt";
CloudFile cloudFile = rootDir.getFileReference("Readme.txt");
cloudFile.uploadFromFile(filePath);
Descarga de un archivo
Artículo relacionado: Desarrollo con Java para Azure Files
En el ejemplo siguiente, se descarga el archivo SampleFile.txt y se muestra su contenido:
//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());
Eliminación de un archivo
Artículo relacionado: Desarrollo con Java para Azure Files
El código siguiente elimina un archivo denominado SampleFile.txt que se almacena en un directorio denominado 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");
}