Compartir a través de


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ó la compatibilidad con las bibliotecas de Azure SDK que no se ajustan a 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 para Azure Files con Java

Para acceder a la cuenta de almacenamiento, use el objeto CloudStorageAccount y pase 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 excepción InvalidKeyException, por lo que deberá colocarla dentro de un bloque try/catch.

Creación de un recurso compartido de archivos

Artículo relacionado: Desarrollo para Azure Files con Java

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 realmente el recurso compartido, use el método createIfNotExists del objeto CloudFileShare .

if (share.createIfNotExists()) {
    System.out.println("New share created");
}

En este momento, el recurso compartido contiene una referencia a un recurso compartido denominado recurso compartido de ejemplo.

Eliminación de un recurso compartido de archivos

Artículo relacionado: Desarrollo para Azure Files con Java

En el siguiente código de ejemplo se elimina un recurso compartido de archivos.

Elimine un recurso compartido llamando 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 para Azure Files con Java

Para organizar el almacenamiento, coloque los archivos en los subdirectorios, en lugar de mantenerlos todos en el directorio raíz.

El código siguiente 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 para Azure Files con Java

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 para Azure Files con Java

Obtenga una lista de archivos y directorios llamando a listFilesAndDirectories en una referencia de CloudFileDirectory . El método devuelve una lista de objetos ListFileItem en los que se puede iterar.

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 para Azure Files con Java

Obtenga una referencia al directorio donde se cargará el archivo llamando al método getRootDirectoryReference en el objeto 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 para Azure Files con Java

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 para Azure Files con Java

El código siguiente elimina un archivo denominado SampleFile.txt almacenado dentro de 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");
}