Avvio rapido: Caricare, scaricare ed elencare BLOB con l'interfaccia della riga di comando di AzureQuickstart: Create, download, and list blobs with Azure CLI

L'interfaccia della riga di comando di Azure è l'esperienza della riga di comando di Azure per gestire le risorse di Azure.The Azure CLI is Azure's command-line experience for managing Azure resources. È possibile usarla nel browser con Azure Cloud Shell.You can use it in your browser with Azure Cloud Shell. È anche possibile installarla in macOS, Linux o Windows ed eseguirla dalla riga di comando.You can also install it on macOS, Linux, or Windows and run it from the command line. Questa guida introduttiva spiega come usare l'interfaccia della riga di comando di Azure per caricare e scaricare dati in Archiviazione BLOB di Azure.In this quickstart, you learn to use the Azure CLI to upload and download data to and from Azure Blob storage.

Nota

Le funzionalità descritte in questo articolo sono disponibili anche per gli account con uno spazio dei nomi gerarchico.The features described in this article are also available to accounts that have a hierarchical namespace. Per un elenco completo, vedere l'articolo Funzionalità di archiviazione BLOB disponibili in Azure Data Lake Storage Gen2.To review limitations, see the Blob storage features available in Azure Data Lake Storage Gen2 article.

PrerequisitiPrerequisites

Per accedere ad Archiviazione di Azure è necessaria una sottoscrizione di Azure.To access Azure Storage, you'll need an Azure subscription. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.If you don't already have a subscription, create a free account before you begin.

L'accesso ad Archiviazione di Azure viene eseguito esclusivamente tramite un account di archiviazione.All access to Azure Storage takes place through a storage account. Per questa guida introduttiva, creare rapidamente un account di archiviazione usando il portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di Azure.For this quickstart, create a storage account using the Azure portal, Azure PowerShell, or Azure CLI. Per informazioni sulla creazione di un account di archiviazione, vedere creare un account di archiviazione.For help creating a storage account, see Create a storage account.

Preparare l'ambiente per l'interfaccia della riga di comando di AzurePrepare your environment for the Azure CLI

  • Usare l'ambiente bash in Azure cloud Shell.Use the Bash environment in Azure Cloud Shell.

    Avviare Cloud Shell in una nuova finestraLaunch Cloud Shell in a new window

  • Se si preferisce, installare l'interfaccia della riga di comando di Azure per eseguire i relativi comandi di riferimento.If you prefer, install the Azure CLI to run CLI reference commands.

  • Questo articolo richiede l'interfaccia della riga di comando di Azure versione 2.0.46 o successiva.This article requires version 2.0.46 or later of the Azure CLI. Se si usa Azure Cloud Shell, la versione più recente è già installata.If using Azure Cloud Shell, the latest version is already installed.

Autorizzare l'accesso all'archiviazione BLOBAuthorize access to Blob storage

È possibile autorizzare l'accesso all'archiviazione BLOB dall'interfaccia della riga di comando di Azure con le credenziali di Azure AD o usando la chiave di accesso dell'account di archiviazione.You can authorize access to Blob storage from the Azure CLI either with Azure AD credentials or by using the storage account access key. È consigliabile usare le credenziali di Azure AD.Using Azure AD credentials is recommended. Questo articolo illustra come autorizzare le operazioni con l'archiviazione BLOB tramite Azure AD.This article shows how to authorize Blob storage operations using Azure AD.

I comandi dell'interfaccia della riga di comando di Azure per le operazioni sui dati dell'archiviazione BLOB supportano il parametro --auth-mode, che consente di specificare come autorizzare una determinata operazione.Azure CLI commands for data operations against Blob storage support the --auth-mode parameter, which enables you to specify how to authorize a given operation. Impostare il parametro --auth-mode su login per concedere l'autorizzazione con le credenziali di Azure AD.Set the --auth-mode parameter to login to authorize with Azure AD credentials. Per altre informazioni, vedere Autorizzare l'accesso ai dati di BLOB o code con l'interfaccia della riga di comando di Azure.For more information, see Authorize access to blob or queue data with Azure CLI.

Solo le operazioni sui dati dell'archiviazione BLOB supportano il parametro --auth-mode.Only Blob storage data operations support the --auth-mode parameter. Le operazioni di gestione, ad esempio la creazione di un gruppo di risorse o di un account di archiviazione, usano automaticamente le credenziali di Azure AD per l'autorizzazione.Management operations, such as creating a resource group or storage account, automatically use Azure AD credentials for authorization.

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse di Azure con il comando az group create.Create an Azure resource group with the az group create command. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.A resource group is a logical container into which Azure resources are deployed and managed.

È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:Remember to replace placeholder values in angle brackets with your own values:

az group create \
    --name <resource-group> \
    --location <location>

Creare un account di archiviazioneCreate a storage account

Creare un account di archiviazione per utilizzo generico con il comando az storage account create.Create a general-purpose storage account with the az storage account create command. L'account di archiviazione per utilizzo generico può essere usato per tutti e quattro i servizi: BLOB, file, tabelle e code.The general-purpose storage account can be used for all four services: blobs, files, tables, and queues.

È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:Remember to replace placeholder values in angle brackets with your own values:

az storage account create \
    --name <storage-account> \
    --resource-group <resource-group> \
    --location <location> \
    --sku Standard_ZRS \
    --encryption-services blob

Creare un contenitoreCreate a container

Gli elementi BLOB vengono sempre caricati in un contenitore.Blobs are always uploaded into a container. È possibile organizzare i gruppi di BLOB in contenitori, modo simile a come si organizzano i file in cartelle sul computer.You can organize groups of blobs in containers similar to the way you organize your files on your computer in folders. Creare un contenitore per l'archiviazione di BLOB con il comando az storage container create.Create a container for storing blobs with the az storage container create command.

Nell'esempio seguente viene usato l'account Azure AD per autorizzare l'operazione di creazione del contenitore.The following example uses your Azure AD account to authorize the operation to create the container. Prima di creare il contenitore, assegnare il ruolo Collaboratore ai dati dei BLOB di archiviazione a se stessi.Before you create the container, assign the Storage Blob Data Contributor role to yourself. Anche se si è il proprietario dell'account, sono necessarie autorizzazioni esplicite per eseguire operazioni sui dati nell'account di archiviazione.Even if you are the account owner, you need explicit permissions to perform data operations against the storage account. Per altre informazioni sull'assegnazione di ruoli di Azure, vedere Usare l'interfaccia della riga di comando di Azure per assegnare un ruolo di Azure per l'accesso.For more information about assigning Azure roles, see Use Azure CLI to assign an Azure role for access.

È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:Remember to replace placeholder values in angle brackets with your own values:

az ad signed-in-user show --query objectId -o tsv | az role assignment create \
    --role "Storage Blob Data Contributor" \
    --assignee @- \
    --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>"

az storage container create \
    --account-name <storage-account> \
    --name <container> \
    --auth-mode login

Importante

La propagazione delle assegnazioni dei ruoli può richiedere alcuni minuti.Azure role assignments may take a few minutes to propagate.

È anche possibile usare la chiave dell'account di archiviazione per autorizzare l'operazione di creazione del contenitore.You can also use the storage account key to authorize the operation to create the container. Per altre informazioni sull'autorizzazione delle operazioni sui dati con l'interfaccia della riga di comando di Azure, vedere Autorizzare l'accesso ai dati di BLOB o code con l'interfaccia della riga di comando di Azure.For more information about authorizing data operations with Azure CLI, see Authorize access to blob or queue data with Azure CLI.

Caricare un BLOBUpload a blob

L'archiviazione BLOB supporta BLOB in blocchi, BLOB di aggiunta e BLOB di pagine.Blob storage supports block blobs, append blobs, and page blobs. Gli esempi in questa Guida di avvio rapido illustrano come usare i BLOB in blocchi.The examples in this quickstart show how to work with block blobs.

Creare prima di tutto un file da caricare in un BLOB in blocchi.First, create a file to upload to a block blob. Se si usa Azure Cloud Shell, usare il comando seguente per creare un file:If you're using Azure Cloud Shell, use the following command to create a file:

vi helloworld

Quando si apre il file, premere INS.When the file opens, press insert. Digitare Hello World, quindi premere ESC. Digitare :x e quindi premere INVIO.Type Hello world, then press Esc. Next, type :x, then press Enter.

In questo esempio si usa il comando az storage blob upload per caricare un BLOB nel contenitore creato nel passaggio precedente.In this example, you upload a blob to the container you created in the last step using the az storage blob upload command. Non è necessario specificare un percorso perché il file è stato creato nella directory radice.It's not necessary to specify a file path since the file was created at the root directory. È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:Remember to replace placeholder values in angle brackets with your own values:

az storage blob upload \
    --account-name <storage-account> \
    --container-name <container> \
    --name helloworld \
    --file helloworld \
    --auth-mode login

Questa operazione crea il BLOB se non esiste o lo sovrascrive se esiste già.This operation creates the blob if it doesn't already exist, and overwrites it if it does. Caricare tutti i file desiderati prima di continuare.Upload as many files as you like before continuing.

Per caricare più file contemporaneamente, è possibile usare il comando az storage blob upload-batch.To upload multiple files at the same time, you can use the az storage blob upload-batch command.

Elencare i BLOB in un contenitoreList the blobs in a container

Elencare i BLOB nel contenitore con il comando az storage blob list.List the blobs in the container with the az storage blob list command. È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:Remember to replace placeholder values in angle brackets with your own values:

az storage blob list \
    --account-name <storage-account> \
    --container-name <container> \
    --output table \
    --auth-mode login

Scaricare un BLOBDownload a blob

Usare il comando az storage blob download per scaricare il BLOB caricato in precedenza.Use the az storage blob download command to download the blob you uploaded earlier. È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:Remember to replace placeholder values in angle brackets with your own values:

az storage blob download \
    --account-name <storage-account> \
    --container-name <container> \
    --name helloworld \
    --file ~/destination/path/for/file \
    --auth-mode login

Trasferimento dati con AzCopyData transfer with AzCopy

L'utilità da riga di comando AzCopy offre il trasferimento dei dati di script a elevate prestazioni per Archiviazione di Azure.The AzCopy command-line utility offers high-performance, scriptable data transfer for Azure Storage. È possibile usare AzCopy per trasferire i dati da e verso Archiviazione BLOB e File di Azure.You can use AzCopy to transfer data to and from Blob storage and Azure Files. Per altre informazioni su AzCopy v10, la versione più recente, vedere Introduzione ad AzCopy.For more information about AzCopy v10, the latest version of AzCopy, see Get started with AzCopy. Per informazioni sull'uso di AzCopy v10 con archiviazione BLOB, vedere Trasferire dati con AzCopy e archiviazione BLOB.To learn about using AzCopy v10 with Blob storage, see Transfer data with AzCopy and Blob storage.

Gli esempi seguenti usano AzCopy per caricare un file locale in un BLOB.The following example uses AzCopy to upload a local file to a blob. Ricordarsi di sostituire i valori dell'esempio con i propri valori:Remember to replace the sample values with your own values:

azcopy login
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

Pulire le risorseClean up resources

Se si vogliono eliminare le risorse create come parte di questo argomento di avvio rapido, incluso l'account di archiviazione, eliminare il gruppo di risorse usando il comando az group delete.If you want to delete the resources you created as part of this quickstart, including the storage account, delete the resource group by using the az group delete command. È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:Remember to replace placeholder values in angle brackets with your own values:

az group delete \
    --name <resource-group> \
    --no-wait

Passaggi successiviNext steps

In questa Guida di avvio rapido è stato descritto il trasferimento di file tra un file system locale e un contenitore in Archiviazione BLOB di Azure.In this quickstart, you learned how to transfer files between a local file system and a container in Azure Blob storage. Per altre informazioni sull'uso dell'archiviazione BLOB con l'interfaccia della riga di comando di Azure, esplorare gli esempi dell'interfaccia della riga di comando di Azure per l'archiviazione BLOB.To learn more about working with Blob storage by using Azure CLI, explore Azure CLI samples for Blob storage.