Partage via


Démarrage rapide : Bibliothèque de client de Stockage Blob Azure pour Ruby

Apprenez à utiliser Ruby pour créer, télécharger et lister des blobs dans un conteneur du Stockage Blob Azure de Microsoft.

Prérequis

Pour accéder à Stockage Azure, vous avez besoin d’un abonnement Azure. Si vous n’avez pas d’abonnement, vous pouvez créer un compte gratuit avant de commencer.

Tous les accès à Stockage Azure se font via un compte de stockage. Pour ce guide de démarrage rapide, créez un compte de stockage à l’aide du portail Azure, d’Azure PowerShell ou de l’interface Azure CLI. Pour obtenir de l’aide sur la création d’un compte de stockage, consultez Créer un compte de stockage.

Vérifiez que les prérequis suivants sont installés :

Téléchargement de l'exemple d'application

L’exemple d’application utilisé dans ce démarrage rapide est une application Ruby de base.

Utilisez Git pour télécharger une copie de l’application dans votre environnement de développement. Cette commande clone le dépôt dans votre machine locale :

git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git

Accédez au dossier storage-blobs-ruby-quickstart, puis ouvrez le fichier example.rb dans votre éditeur de code.

Copier vos informations d’identification depuis le portail Azure

L’exemple d’application doit autoriser l’accès à votre compte de stockage. Fournissez les informations d’identification de votre compte de stockage à l’application sous la forme d’une chaîne de connexion. Pour afficher les informations d’identification de votre compte de stockage :

  1. Dans le portail Azure, accédez à votre compte de stockage.

  2. Dans la section Paramètresde la vue d’ensemble du compte de stockage, sélectionnez Clés d’accès pour afficher les clés d’accès et la chaîne de connexion de votre compte.

  3. Notez le nom de votre compte de stockage, vous en aurez besoin pour l’autorisation.

  4. Recherchez la valeur Clé sous clé1, puis sélectionnez Copier pour copier la clé de compte.

    Capture d’écran montrant comment copier votre clé de compte à partir du portail Azure

Configurer votre chaîne de connexion de stockage

Fournissez le nom de votre compte de stockage et votre clé de compte pour créer une instance BlobService associée à votre application.

Le code suivant dans le fichier example.rb instancie un nouvel objet BlobService. Remplacez les valeurs accountname et accountkey par votre nom de compte et votre clé de compte.

# Create a BlobService object
account_name = "accountname"
account_key = "accountkey"

blob_client = Azure::Storage::Blob::BlobService.create(
    storage_account_name: account_name,
    storage_access_key: account_key
)

Exécution de l'exemple

L’exemple crée un conteneur dans le Stockage Blob, il crée un blob dans le conteneur, liste les blobs dans le conteneur et télécharge le blob dans un fichier local.

Exécutez l’exemple. Voici un exemple de la sortie générée par l’exécution de l’application :

C:\azure-samples\storage-blobs-ruby-quickstart> ruby example.rb

Creating a container: quickstartblobs18cd9ec0-f4ac-4688-a979-75c31a70503e

Creating blob: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

List blobs in the container following continuation token
        Blob name: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Downloading blob to C:/Users/azureuser/Documents/QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Paused, press the Enter key to delete resources created by the sample and exit the application

Quand vous appuyez sur Entrée pour continuer, l’exemple de programme supprime le conteneur de stockage et le fichier local. Avant de continuer, recherchez le fichier téléchargé dans votre dossier Documents.

Vous pouvez également utiliser l’Explorateur Stockage Azure pour afficher les fichiers dans votre compte de stockage. L’Explorateur Stockage Azure est un outil multiplateforme gratuit qui vous permet d’accéder aux informations de votre compte de stockage.

Une fois les fichiers vérifiés, appuyez sur la touche Entrée pour supprimer les fichiers de test et mettre fin à la démonstration. Ouvrez le fichier example.rb pour examiner le code.

Comprendre l’exemple de code

Ensuite, nous allons parcourir l’exemple de code pas à pas pour vous montrer son fonctionnement.

Obtenir des références aux objets de stockage

La première chose à faire est de créer les instances des objets utilisés pour accéder et gérer le Stockage Blob. Ces objets reposent les uns sur les autres. Chacun est utilisé par le suivant dans la liste.

  • Créez une instance de l’objet BlobService Stockage Azure pour configurer les informations d’identification de connexion.
  • Créez l’objet Container, qui représente le conteneur auquel vous accédez. Les conteneurs sont utilisés pour organiser vos objets blob de la même façon que vous utilisez des dossiers pour organiser vos fichiers sur votre ordinateur.

Une fois que vous avez l’objet conteneur, vous pouvez créer un blob Block qui pointe vers un blob particulier qui vous intéresse. Utilisez l’objet Block pour créer, télécharger et copier des blobs.

Important

Les noms de conteneurs doivent être en minuscules. Pour plus d’informations sur les noms des conteneurs et des objets blob, consultez Affectation de noms et références aux conteneurs, objets blob et métadonnées.

L’exemple de code suivant :

  • Crée un conteneur
  • Définit des autorisations sur le conteneur pour que les blobs soient publics. Le conteneur est appelé quickstartblobs, nom auquel est ajouté un ID unique.
# Create a container
container_name = "quickstartblobs" + SecureRandom.uuid
puts "\nCreating a container: " + container_name
container = blob_client.create_container(container_name)

# Set the permission so the blobs are public
blob_client.set_container_acl(container_name, "container")

Créer un blob dans le conteneur

Le Stockage Blob prend en charge les objets blob de blocs, d’ajouts et de pages. Pour créer un blob, appelez la méthode create_block_blob en passant les données du blob.

L’exemple suivant crée un blob appelé QuickStart_ avec un ID unique et une extension de fichier .txt dans le conteneur créé précédemment.

# Create a new block blob containing 'Hello, World!'
blob_name = "QuickStart_" + SecureRandom.uuid + ".txt"
blob_data = "Hello, World!"
puts "\nCreating blob: " + blob_name
blob_client.create_block_blob(container.name, blob_name, blob_data)

Les objets blob de blocs peuvent atteindre une taille maximale de 4,7 To, et représenter toutes sortes d’éléments allant des feuilles de calcul aux fichiers vidéo volumineux. Les objets blob de pages sont principalement utilisés pour les fichiers VHD qui viennent en soutien aux machines virtuelles IaaS. Les objets blob d’ajouts sont couramment utilisés pour la journalisation, par exemple quand vous voulez écrire dans un fichier et continuer à ajouter d’autres informations.

Lister les objets blob dans un conteneur

Vous pouvez obtenir la liste des fichiers du conteneur à l’aide de la méthode list_blobs. Le code suivant récupère la liste des blobs, puis affiche leur nom.

# List the blobs in the container
puts "\nList blobs in the container following continuation token"
nextMarker = nil
loop do
    blobs = blob_client.list_blobs(container_name, { marker: nextMarker })
    blobs.each do |blob|
        puts "\tBlob name: #{blob.name}"
    end
    nextMarker = blobs.continuation_token
    break unless nextMarker && !nextMarker.empty?
end

Télécharger un objet blob

Téléchargez un blob sur votre disque local à l’aide de la méthode get_blob. Le code suivant télécharge le blob créé dans une section précédente.

# Download the blob

# Set the path to the local folder for downloading
if(is_windows)
    local_path = File.expand_path("~/Documents")
else 
    local_path = File.expand_path("~/")
end

# Create the full path to the downloaded file
full_path_to_file = File.join(local_path, blob_name)

puts "\nDownloading blob to " + full_path_to_file
blob, content = blob_client.get_blob(container_name, blob_name)
File.open(full_path_to_file,"wb") {|f| f.write(content)}

Nettoyer les ressources

Si un blob n’est plus nécessaire, utilisez delete_blob pour le supprimer. Supprimez un conteneur entier à l’aide de la méthode delete_container. La suppression d’un conteneur supprime également tous les blobs stockés dans le conteneur.

# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)

Ressources sur le développement d’applications Ruby avec des objets blob

Consultez ces ressources supplémentaires sur le développement Ruby :

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez appris à transférer des fichiers entre le Stockage Blob Azure et un disque local avec Ruby. Pour en savoir plus sur l’utilisation de Stockage Blob, consultez la vue d’ensemble du compte de stockage.

Pour plus d’informations sur l’Explorateur Stockage et les blobs, consultez Gérer les ressources de Stockage Blob Azure avec l’Explorateur Stockage.