Snabbstart: Ladda upp, ladda ned och lista blobar med PowerShell

Använd Azure PowerShell-modulen för att skapa och hantera Azure-resurser. Du kan skapa eller hantera Azure-resurser från PowerShell-kommandoraden eller i skript. I den här guiden beskrivs hur du använder PowerShell för att överföra filer mellan en lokal disk och Azure Blob Storage.

Förutsättningar

Du behöver en Azure-prenumeration för att få åtkomst till Azure Storage. Om du inte redan har en prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Du behöver också rollen Storage Blob Data Contributor för att läsa, skriva och ta bort Azure Storage-containrar och blobar.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Den här snabbstarten kräver Azure PowerShell-modulen Az version 0.7 eller senare. Kör Get-InstalledModule -Name Az -AllVersions | select Name,Version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul).

Logga in på Azure

Logga in på din Azure-prenumeration med kommandot Connect-AzAccount och följ anvisningarna på skärmen.

Connect-AzAccount

Om du inte vet vilken plats du vill använda kan du visa en lista med tillgängliga platser. Visa listan över platser med hjälp av följande kodexempel och hitta det du vill använda. I det här exemplet används eastus. Lagra platsen i en variabel och använd variabeln så att du kan ändra den på en enda plats.

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

Skapa en resursgrupp

Skapa en Azure-resursgrupp med New-AzResourceGroup. En resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.

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

Skapa ett lagringskonto

Skapa ett standardmässigt lagringskonto för generell användning med LRS-replikering med hjälp av New-AzStorageAccount. Hämta sedan lagringskontokontexten som definierar det lagringskonto som du vill använda. När du arbetar med lagringskonton refererar du till kontexten i stället för att ange autentiseringsuppgifterna flera gånger. Använd följande exempel för att skapa ett lagringskonto med namnet mystorageaccount med lokalt redundant lagring (LRS) och blobkryptering (aktiverat som standard).

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

Skapa en container

Blobar laddas alltid upp till en container. Du kan ordna grupper av blobar på samma sätt som du ordnar filer i mappar på datorn.

Ange containernamnet och skapa sedan containern med hjälp av New-AzStorageContainer. Containerns namn i det här exemplet är quickstartblobs.

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

Ladda upp blobar i containern

Blob Storage stöder blockblobar, tilläggsblobar och sidblobar. VHD-filer som stöder virtuella IaaS-datorer är sidblobar. Använd tilläggsblobar för loggning, till exempel när du vill skriva till en fil och sedan fortsätta att lägga till mer information. De flesta filer som lagras i Blob Storage är blockblobar.

Om du vill ladda upp en fil till en blockblob ska du hämta en referens för containern och sedan hämta en referens för blockbloben i den containern. När du har en blobreferensen kan du ladda upp data till den med hjälp av Set-AzStorageBlobContent. Den här åtgärden skapar bloben om den inte finns eller skriver över bloben om den finns.

I följande exempel laddas Image001.jpg och Image002.png upp från mappen D:\Images på den lokala disken till containern som du skapade.

# 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


Ladda upp så många filer som du vill innan du fortsätter.

Visa blobar i en container

Hämta en lista över blobar i containern med hjälp av Get-AzStorageBlob. Det här exemplet visar bara namnen på de blobar som har laddats upp.

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

Ladda ned blobbar

Ladda ned blobarna till den lokala disken. För varje blob du vill ladda ned anger du namnet och anropar Get-AzStorageBlobContent.

I det här exemplet laddas blobarna ned till D:\Images\Downloads på den lokala disken.

# 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

Dataöverföring med AzCopy

Kommandoradsverktyget AzCopy erbjuder högpresterande, skriptbar dataöverföring för Azure Storage. Du kan använda AzCopy för att överföra data till och från Blob Storage och Azure Files. Mer information om AzCopy v10, den senaste versionen av AzCopy, finns i Komma igång med AzCopy. Mer information om hur du använder AzCopy v10 med Blob Storage finns i Överföra data med AzCopy och Blob Storage.

I följande exempel används AzCopy för att ladda upp en lokal fil till en blob. Kom ihåg att ersätta exempelvärdena med dina egna värden:

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

Rensa resurser

Ta bort alla resurser som du har skapat. Det enklaste sättet att ta bort tillgångarna är för att ta bort resursgruppen. Om du tar bort resursgruppen tas även alla resurser bort som ingår i gruppen. När du i följande exempel tar bort resursgruppen tas lagringskontot och själva resursgruppen bort.

Remove-AzResourceGroup -Name $ResourceGroup 

Nästa steg

I den här snabbstarten överförde du filer mellan ett lokalt filsystem och Azure Blob Storage. Om du vill veta mer om hur du arbetar med Blob Storage med hjälp av PowerShell väljer du ett alternativ nedan.

Referens för Microsoft Azure PowerShell Storage-cmdletar

Microsoft Azure Storage Explorer

  • Microsoft Azure Storage Explorer är en kostnadsfri, fristående app från Microsoft som gör det möjligt att arbeta visuellt med Azure Storage-data i Windows, macOS och Linux.