Calcolare le dimensioni di un contenitore di archiviazione BLOB

Lo script consente di calcolare le dimensioni di un contenitore dell'Archiviazione BLOB di Azure sommando le dimensioni dei BLOB del contenitore.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Importante

Questo script dell'interfaccia della riga di comando offre una dimensione stimata per il contenitore e non deve essere usato per calcoli di fatturazione.

Il numero massimo di BLOB restituiti con una singola chiamata di elenco è 5000. Se è necessario restituire più di 5000 BLOB, usare un token di continuazione per richiedere set di risultati aggiuntivi.

Prerequisiti

Script di esempio

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com.

Quando si apre Cloud Shell, verificare che Bash sia selezionato per l'ambiente in uso. Le sessioni successive useranno l'interfaccia della riga di comando di Azure in un ambiente Bash, selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirlo.

Accedere ad Azure

Cloud Shell viene autenticato automaticamente con l'account iniziale con cui è stato eseguito l'accesso. Usare lo script seguente per accedere usando una sottoscrizione diversa, sostituendo <Subscription ID> con l'ID sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Per altre informazioni, vedere Impostare una sottoscrizione attiva o accedere in modo interattivo

Eseguire lo script

# Calculate container size

# Variables for storage
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="calculate-container-size"
storage="msdocsstorage$randomIdentifier"
container="msdocs-storage-container-$randomIdentifier"

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create storage account
echo "Creating $storage..."
az storage account create --name $storage --resource-group $resourceGroup --location "$location" --sku Standard_LRS

# Create a container
echo "Creating $container on $storage..."
key=$(az storage account keys list --account-name $storage --resource-group $resourceGroup -o json --query [0].value | tr -d '"')

az storage container create --name $container --account-key $key --account-name $storage #--public-access container

# Create sample files to upload as blobs
for i in `seq 1 3`; do
    echo $randomIdentifier > container_size_sample_file_$i.txt
done

# Upload sample files to container
az storage blob upload-batch \
    --pattern "container_size_sample_file_*.txt" \
    --source . \
    --destination $container \
    --account-key $key \
    --account-name $storage

# Calculate total size of container. Use the --query parameter to display only
# blob contentLength and output it in TSV format so only the values are
# returned. Then pipe the results to the paste and bc utilities to total the
# size of the blobs in the container. The bc utility is not supported in Cloud Shell.
bytes=`az storage blob list \
    --container-name $container \
    --account-key $key \
    --account-name $storage \
    --query "[*].[properties.contentLength]" \
    --output tsv | paste -s -d+ | bc`

# Display total bytes
echo "Total bytes in container: $bytes"

# Delete the sample files created by this script
rm container_size_sample_file_*.txt

Pulire le risorse

Usare il comando seguente per rimuovere il gruppo di risorse e tutte le risorse associate usando il comando az group delete , a meno che non si disponga di una necessità continua per queste risorse. La creazione di alcune di queste risorse può richiedere tempo, nonché l'eliminazione.

az group delete --name $resourceGroup

Informazioni di riferimento per l'esempio

Lo script usa i comandi seguenti per calcolare le dimensioni del contenitore dell'archiviazione BLOB. Ogni elemento della tabella include collegamenti alla documentazione specifica del comando.

Comando Note
az group create Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.
az storage blob upload Carica file locali in un contenitore dell'Archiviazione BLOB di Azure.
az storage blob list Elenca i BLOB in un contenitore dell'Archiviazione BLOB di Azure.

Passaggi successivi

Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere la documentazione sull'interfaccia della riga di comando di Azure.

Altri esempi di script dell'interfaccia della riga di comando sono disponibili in Azure CLI samples for Azure Blob storage (Esempi dell'interfaccia della riga di comando di Azure per l'Archiviazione BLOB di Azure).