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 från mappen D:\Images på den lokala disken till containern 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. I det här exemplet visas namnen på de blobar som 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 Kom 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.