Exemples de code Partage de fichiers Azure utilisant des bibliothèques de client Java version 8

Cet article présente des exemples de code qui utilisent la version 8 de la bibliothèque de client Partage de fichiers Azure pour Java.

Le 31 mars 2023, nous avons mis fin à la prise en charge des bibliothèques de Kit de développement logiciel (SDK) Azure qui ne respectent pas les instructions actuelles concernant le SDK Azure. Les nouvelles bibliothèques du Kit de développement logiciel (SDK) Azure sont régulièrement mises à jour pour offrir des expériences cohérentes et renforcer votre posture de sécurité. Nous vous recommandons une transition vers les nouvelles bibliothèques du Kit de développement logiciel Azure pour profiter des nouvelles fonctionnalités et des correctifs de sécurité.

Bien que les anciennes bibliothèques puissent toujours être utilisées au-delà du 31 mars 2023, elles ne seront plus prises en charge officiellement et mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.

Prérequis

Pour utiliser la bibliothèque de client Partage de fichiers Azure, ajoutez les directives import suivantes :

// Include the following imports to use Azure Files APIs v11
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.file.*;

Accéder à un partage de fichiers Azure

Article connexe : Développer pour Azure Files avec Java

Pour accéder à votre compte de stockage, utilisez l’objet CloudStorageAccount, en transmettant la chaîne de connexion à sa méthode parse.

// Use the CloudStorageAccount object to connect to your storage account
try {
    CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
    // Handle the exception
}

CloudStorageAccount.parse lève une exception InvalidKeyException. Vous devrez donc le placer dans un bloc try/catch.

Créer un partage de fichier

Article connexe : Développer pour Azure Files avec Java

Tous les fichiers et répertoires dans Azure Files sont stockés dans un conteneur qu’on appelle un partage.

Pour pouvoir accéder à un partage et à son contenu, créez un client Azure Files. L’exemple de code suivant montre comment créer un partage de fichiers :

// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();

À l’aide de ce dernier, vous pouvez ensuite obtenir une référence à un partage.

// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");

Pour créer le partage, utilisez la méthode createIfNotExists de l’objet CloudFileShare.

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

À ce stade, le partage contient une référence à un partage nommé sample share.

Supprimer un partage de fichiers

Article connexe : Développer pour Azure Files avec Java

L’exemple de code suivant supprime un partage de fichiers.

Supprimez un partage en appelant la méthode deleteIfExists sur un objet 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();
}

Créer un répertoire

Article connexe : Développer pour Azure Files avec Java

Vous pouvez organiser le stockage en plaçant des fichiers dans des sous-répertoires, plutôt que de tous les mettre dans le répertoire racine.

Le code suivant crée un sous-répertoire nommé sampledir sous le répertoire racine :

//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");
}

Supprimer un répertoire

Article connexe : Développer pour Azure Files avec Java

L’exemple de code suivant montre comment supprimer un répertoire. Vous ne pouvez pas supprimer un répertoire qui contient toujours des fichiers ou des sous-répertoires.

// 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");
}

Énumérer des fichiers et répertoires dans un partage de fichiers Azure

Article connexe : Développer pour Azure Files avec Java

Obtenez la liste des fichiers et répertoires en appelant listFilesAndDirectories sur une référence CloudFileDirectory. La méthode retourne une liste d’objets ListFileItem sur laquelle vous pouvez effectuer une itération.

Le code suivant répertorie les fichiers et les répertoires du répertoire racine :

//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

for ( ListFileItem fileItem : rootDir.listFilesAndDirectories() ) {
    System.out.println(fileItem.getUri());
}

Charger un fichier

Article connexe : Développer pour Azure Files avec Java

Obtenez une référence au répertoire dans lequel le fichier sera chargé en appelant la méthode getRootDirectoryReference sur l’objet share.

//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

Maintenant que vous avez une référence au répertoire racine du partage, vous pouvez y charger un fichier à l’aide du code suivant :

// Define the path to a local file.
final String filePath = "C:\\temp\\Readme.txt";

CloudFile cloudFile = rootDir.getFileReference("Readme.txt");
cloudFile.uploadFromFile(filePath);

Téléchargement d’un fichier

Article connexe : Développer pour Azure Files avec Java

L’exemple suivant télécharge SampleFile.txt et affiche son contenu :

//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());

Supprimer un fichier

Article connexe : Développer pour Azure Files avec Java

Le code suivant supprime un fichier nommé SampleFile.txt stocké dans un répertoire nommé 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");
}