Inicio rápido: Carga, descarga y enumeración de blobs mediante PowerShell

Use el módulo de Azure PowerShell para crear y administrar los recursos de Azure. Puede crear o administrar recursos de Azure desde la línea de comandos de PowerShell o en scripts. En esta guía se detalla el uso de PowerShell para transferir archivos entre el disco local y Azure Blob Storage.

Requisitos previos

Para acceder a Azure Storage, necesitará una suscripción de Azure. Si todavía no tiene una suscripción, cree una cuenta gratuita antes de empezar.

También necesitará el rol Colaborador de datos de Storage Blob para leer, escribir y eliminar contenedores y blobs de Azure Storage.

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Para realizar los pasos de este inicio rápido, se requiere la versión 0.7 del módulo Az de Azure PowerShell, o cualquier versión posterior. Ejecute Get-InstalledModule -Name Az -AllVersions | select Name,Version para encontrar la versión. Si necesita instalarla o actualizarla, consulte el artículo sobre cómo instalar el módulo de Azure PowerShell.

Inicio de sesión en Azure

Inicie sesión en la suscripción a Azure con el comando Connect-AzAccount y siga las instrucciones de la pantalla.

Connect-AzAccount

Si no sabe qué ubicación desea usar, puede enumerar las ubicaciones disponibles. Muestre la lista de ubicaciones; para ello, use el siguiente ejemplo de código y busque la que desea usar. En este ejemplo se usa eastus. Almacénelo en una variable y úsela para que pueda cambiar este valor en un solo lugar.

Get-AzLocation | Select-Object -Property Location
$Location = 'eastus'

Crear un grupo de recursos

Cree un grupo de recursos de Azure con New-AzResourceGroup. Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure.

$ResourceGroup = 'MyResourceGroup'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

Crear una cuenta de almacenamiento

Cree una cuenta de almacenamiento estándar de uso general con replicación de almacenamiento con redundancia local mediante New-AzStorageAccount. Después, obtenga el contexto de la cuenta de almacenamiento que define la cuenta de almacenamiento que desea usar. Cuando actúa en una cuenta de almacenamiento, hace referencia al contexto en lugar de proporcionar varias veces las credenciales. Use el siguiente ejemplo para crear una cuenta de almacenamiento denominada mystorageaccount con el cifrado de blob y el almacenamiento con redundancia local (LRS) (habilitados de forma predeterminada).

$StorageHT = @{
  ResourceGroupName = $ResourceGroup
  Name              = 'mystorageaccount'
  SkuName           = 'Standard_LRS'
  Location          =  $Location
}
$StorageAccount = New-AzStorageAccount @StorageHT
$Context = $StorageAccount.Context

Crear un contenedor

Los blobs siempre se cargan en un contenedor. Puede organizar los grupos de blobs de una forma similar a como organiza los archivos en carpetas en el equipo.

Establezca el nombre del contenedor y, después, cree el contenedor mediante New-AzStorageContainer. El nombre del contenedor en este ejemplo es quickstartblobs.

$ContainerName = 'quickstartblobs'
New-AzStorageContainer -Name $ContainerName -Context $Context

Carga de blobs al contenedor

Blob Storage admite blobs en bloques, blobs en anexos y blobs en páginas. Los archivos VHD utilizados para respaldar VM IaaS son blobs en páginas. Use los blobs en anexos para el registro, por ejemplo, cuando desea escribir en un archivo y luego sigue agregando más información. La mayoría de los archivos almacenados en Blob Storage son blobs en bloques.

Para cargar un archivo en un blob en bloques, obtenga una referencia de contenedor y luego obtenga una referencia al blob en bloques en ese contenedor. Cuando tenga la referencia del blob, puede cargar datos en él mediante Set-AzStorageBlobContent. De este modo, se creará el blob si no existe, o se sobrescribirá si ya existe.

Los ejemplos siguientes cargan Image001.jpg e Image002.png desde la carpeta D:\Images del disco local al contenedor que creó.

# upload a file to the default account (inferred) access tier
$Blob1HT = @{
  File             = 'D:\Images\Image001.jpg'
  Container        = $ContainerName
  Blob             = "Image001.jpg"
  Context          = $Context
  StandardBlobTier = 'Hot'
}
Set-AzStorageBlobContent @Blob1HT
  
 # upload another file to the Cool access tier
 $Blob2HT = @{
  File             = 'D:\Images\Image002.jpg'
  Container        = $ContainerName
  Blob             = 'Image002.png'
  Context          = $Context
  StandardBlobTier = 'Cool'
 }
 Set-AzStorageBlobContent @Blob2HT
  
# upload a file to a folder to the Archive access tier
$Blob3HT = @{
  File             = 'D:\Images\FolderName\Image003.jpg'
  Container        = $ContainerName
  Blob             = 'FolderName/Image003.jpg'
  Context          = $Context
  StandardBlobTier = 'Archive'
}
Set-AzStorageBlobContent @Blob3HT


Cargue tantos archivos como desee antes de continuar.

Enumerar los blobs de un contenedor

Obtenga una lista de blobs del contenedor mediante Get-AzStorageBlob. Este ejemplo muestra solo los nombres de los blobs cargados.

Get-AzStorageBlob -Container $ContainerName -Context $Context |
  Select-Object -Property Name

Descargar blobs

Descargue los blobs en el disco local. Para cada blob que quiera descargar, establezca el nombre y llame a Get-AzStorageBlobContent para descargar el blob.

Este ejemplo descarga los blobs a D:\Images\Downloads en el disco local.

# Download first blob
$DLBlob1HT = @{
  Blob        = 'Image001.jpg'
  Container   = $ContainerName
  Destination = 'D:\Images\Downloads\'
  Context     = $Context
}
Get-AzStorageBlobContent @DLBlob1HT

# Download another blob
$DLBlob2HT = @{
  Blob        = 'Image002.png'
  Container   = $ContainerName
  Destination = 'D:\Images\Downloads\'
  Context     = $Context  
}
Get-AzStorageBlobContent @DLBlob2HT

Transferencia de datos con AzCopy

La utilidad de línea de comandos AzCopy ofrece transferencia de datos de alto rendimiento mediante scripts para Azure Storage. Puede utilizar AzCopy para transferir datos a y desde Blob Storage y Azure Files. Para más información sobre AzCopy v10, la versión más reciente de AzCopy, consulte Introducción a AzCopy. Para más información acerca del uso de AzCopy v10 con el almacenamiento de blobs, consulte Transferencia de datos con AzCopy y Blob Storage.

En el ejemplo siguiente se usa AzCopy para cargar un archivo local en un blob. No olvide reemplazar los valores de ejemplo por sus propios valores:

azcopy login
azcopy copy 'D:\Images\Image001.jpg' "https://$StorageAccountName.blob.core.windows.net/$ContainerName/NewGaphic.jpg"

Limpieza de recursos

Quite todos los recursos que ha creado. La manera más fácil de quitar los recursos consiste en eliminar el grupo de recursos. Al quitar el grupo de recursos también se eliminan todos los recursos contenidos en él. En el ejemplo siguiente, al quitar el grupo de recursos, se quita la cuenta de almacenamiento y el propio grupo de recursos.

Remove-AzResourceGroup -Name $ResourceGroup 

Pasos siguientes

En esta guía de inicio rápido, ha trasferido archivos entre un sistema de archivos local y Azure Blob Storage. Para obtener más información sobre cómo trabajar con Blob Storage mediante PowerShell, seleccione una opción a continuación.

Referencia de cmdlets de almacenamiento de Microsoft Azure PowerShell

Explorador de Microsoft Azure Storage

  • El Explorador de Microsoft Azure Storage es una aplicación independiente y gratuita de Microsoft que permite trabajar visualmente con los datos de Azure Storage en Windows, macOS y Linux.