Zelfstudie: Afbeeldingsgegevens uploaden in de cloud met Azure Storage
Deze zelfstudie is deel één van een serie. In deze zelfstudie leert u hoe u een web-app implementeert. De web-app maakt gebruik van de Azure Blob Storage-clientbibliotheek om afbeeldingen te uploaden naar een opslagaccount. Wanneer u klaar bent, hebt u een web-app die afbeeldingen vanuit Azure-opslag kan opslaan en weergeven.
In deel 1 van de reeks leert u het volgende:
- Create a storage account
- Een container maken en machtigingen instellen
- Een toegangssleutel ophalen
- Een web-app implementeren in Azure
- App-instellingen configureren
- Interactie met de web-app
Vereisten
U hebt een Azure-abonnement nodig om deze zelfstudie te voltooien. Maak een gratis account voordat u begint.
Azure Cloud Shell gebruiken
Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde opdrachten van Cloud Shell gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.
Om Azure Cloud Shell op te starten:
| Optie | Voorbeeld/koppeling |
|---|---|
| Selecteer Nu proberen in de rechterbovenhoek van een codeblok. Als u Uitproberen selecteert, wordt de code niet automatisch gekopieerd naar Cloud Shell. | ![]() |
| Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. | ![]() |
| Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. | ![]() |
Om de code in dit artikel in Azure Cloud Shell uit te voeren:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok om de code te kopiëren.
Plak de code in de Cloud Shell-sessie door CTRL+Shift+V te selecteren in Windows en Linux of door Cmd+Shift+V op macOS te selecteren.
Selecteer Invoeren om de code uit te voeren.
Als u de CLI lokaal wilt installeren en gebruiken, voert u Azure CLI versie 2.0.4 of hoger uit. Voer az --version uit om de versie te bekijken. Als u uw CLI wilt installeren of upgraden, raadpleegt u De Azure CLI installeren.
Een resourcegroep maken
In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt.
Maak een resourcegroep met de opdracht New-AzResourceGroup. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.
New-AzResourceGroup -Name myResourceGroup -Location southeastasia
Create a storage account
Met het voorbeeld worden afbeeldingen geüpload naar een blobcontainer in een Azure Storage-account. Een opslagaccount biedt een unieke naamruimte voor het opslaan en openen van uw Azure Storage-gegevensobjecten.
Belangrijk
In deel 2 van de zelfstudie gebruikt u Azure Event Grid met Blob-opslag. Zorg dat u het opslagaccount maakt in een Azure-regio die ondersteuning biedt voor Event Grid. Zie Azure-producten per regio voor een lijst met ondersteunde regio's.
Vervang de tijdelijke aanduiding <blob_storage_account> in de volgende opdracht door uw eigen, wereldwijd unieke naam voor het Blob-opslagaccount.
Maak een opslagaccount in de resourcegroep die u hebt gemaakt met behulp van de opdracht New-AzStorageAccount.
$blobStorageAccount="<blob_storage_account>"
New-AzStorageAccount -ResourceGroupName myResourceGroup -Name $blobStorageAccount -SkuName Standard_LRS -Location southeastasia -Kind StorageV2 -AccessTier Hot
Blob-opslagcontainers maken
De app gebruikt twee containers in het Blob Storage-account. Containers zijn vergelijkbaar met mappen. Hier worden blobs opgeslagen. In de container images worden afbeeldingen in volledige resolutie opgeslagen. In een later deel van de reeks uploadt een Azure-functie-app formaatafbeeldingsminiaturen naar de *miniatuur
De openbare toegang tot de container met de installatiekopieën is ingesteld op off. De openbare toegang tot de container met miniaturen is ingesteld op container. De instelling container van de openbare toegang zorgt ervoor dat gebruikers die de webpagina bezoeken, de miniaturen kunnen bekijken.
Haal de sleutel van het opslagaccount op met behulp van de opdracht Get-AzStorageAccountKey. Gebruik vervolgens deze sleutel om twee containers te maken met de opdracht New-AzStorageContainer.
$blobStorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName myResourceGroup -Name $blobStorageAccount).Key1
$blobStorageContext = New-AzStorageContext -StorageAccountName $blobStorageAccount -StorageAccountKey $blobStorageAccountKey
New-AzStorageContainer -Name images -Context $blobStorageContext
New-AzStorageContainer -Name thumbnails -Permission Container -Context $blobStorageContext
Noteer de naam en sleutel van het Blob-opslagaccount. De voorbeeld-app maakt gebruik van deze instellingen om verbinding te maken met het opslagaccount om de afbeeldingen te uploaden.
Een App Service-plan maken
Een App Service-plan geeft de locatie, de grootte en de functies van de webserverfarm aan die als host fungeert voor uw app.
In het volgende voorbeeld wordt een App Service-plan gemaakt met de naam myAppServicePlan en de prijscategorie Gratis:
Maak een App Service plan met de opdracht New-AzAppServicePlan.
New-AzAppServicePlan -ResourceGroupName myResourceGroup -Name myAppServicePlan -Tier "Free"
Een webtoepassing maken
De web-app biedt een hostingruimte voor de code van de voorbeeld-app. De ruimte wordt geïmplementeerd vanuit de GitHub-voorbeeld opslagplaats.
Vervang <web_app> in de volgende opdracht door een unieke naam. Geldige tekens zijn a-z, 0-9 en -. Als <web_app> niet uniek is, krijgt u het volgende foutbericht: Er bestaat al een website met de naam <web_app>. De standaard-URL van de web-app is https://<web_app>.azurewebsites.net.
Maak een web-app in myAppServicePlan App Service-abonnement met de opdracht New-AzWebApp.
$webapp="<web_app>"
New-AzWebApp -ResourceGroupName myResourceGroup -Name $webapp -AppServicePlan myAppServicePlan
Voorbeeld-app implementeren vanuit de GitHub-opslagplaats
App Service ondersteunt diverse manieren om inhoud in een web-app te implementeren. In deze zelfstudie implementeert u de web-app vanaf een openbare GitHub-voorbeeldopslagplaats (Engelstalig). Configureer GitHub-implementatie naar de webtoepassing met de opdracht az webapp deployment source config.
Het voorbeeldproject bevat een ASP.NET MVC-app. De app accepteert een afbeelding, slaat deze op in een opslagaccount en geeft afbeeldingen weer vanuit een miniaturencontainer. De web-app maakt gebruik van de naamruimten Azure.Storage, Azure.Storage.Blobs en Azure.Storage.Blobs.Models voor interactie met de Azure Storage-service.
az webapp deployment source config --name $webapp --resource-group myResourceGroup \
--branch master --manual-integration \
--repo-url https://github.com/Azure-Samples/storage-blob-upload-from-webapp
az webapp deployment source config --name $webapp --resource-group myResourceGroup `
--branch master --manual-integration `
--repo-url https://github.com/Azure-Samples/storage-blob-upload-from-webapp
Web-app-instellingen configureren
De voorbeeld-web-app gebruikt de Azure Storage Api's voor .NET om installatiekopieën te uploaden. Referenties van het opslagaccount worden ingesteld in de app-instellingen voor de web-app. Voeg app-instellingen toe aan de geïmplementeerde app met de opdracht az webapp config appsettings set of New-AzStaticWebAppSetting.
az webapp config appsettings set --name $webapp --resource-group myResourceGroup \
--settings AzureStorageConfig__AccountName=$blobStorageAccount \
AzureStorageConfig__ImageContainer=images \
AzureStorageConfig__ThumbnailContainer=thumbnails \
AzureStorageConfig__AccountKey=$blobStorageAccountKey
az webapp config appsettings set --name $webapp --resource-group myResourceGroup `
--settings AzureStorageConfig__AccountName=$blobStorageAccount `
AzureStorageConfig__ImageContainer=images `
AzureStorageConfig__ThumbnailContainer=thumbnails `
AzureStorageConfig__AccountKey=$blobStorageAccountKey
Wanneer de web-app is geïmplementeerd en geconfigureerd, kunt u de functionaliteit voor het uploaden van afbeeldingen in de app testen.
Een installatiekopie uploaden
U kunt de web-app testen door naar de URL van de gepubliceerde app te gaan. De standaard-URL van de web-app is https://<web_app>.azurewebsites.net.
Selecteer het gebied Upload photos als u een bestand wilt opgeven en uploaden, of sleep een bestand naar het gebied. Als de afbeelding is geüpload, verdwijnt deze. De sectie Gegenereerde miniaturen blijft leeg totdat we deze verderop in deze zelfstudie testen.

In de voorbeeldcode wordt de taak UploadFileToStorage in bestand Storagehelper.cs gebruikt om de afbeeldingen door middel van de methode UploadAsync te uploaden naar de container images in het opslagaccount. Het volgende codevoorbeeld bevat de taak UploadFileToStorage.
public static async Task<bool> UploadFileToStorage(Stream fileStream, string fileName,
AzureStorageConfig _storageConfig)
{
// Create a URI to the blob
Uri blobUri = new Uri("https://" +
_storageConfig.AccountName +
".blob.core.windows.net/" +
_storageConfig.ImageContainer +
"/" + fileName);
// Create StorageSharedKeyCredentials object by reading
// the values from the configuration (appsettings.json)
StorageSharedKeyCredential storageCredentials =
new StorageSharedKeyCredential(_storageConfig.AccountName, _storageConfig.AccountKey);
// Create the blob client.
BlobClient blobClient = new BlobClient(blobUri, storageCredentials);
// Upload the file
await blobClient.UploadAsync(fileStream);
return await Task.FromResult(true);
}
In de vorige taak zijn de volgende klassen en methoden gebruikt:
| Klasse | Methode |
|---|---|
| Uri | URI-constructor |
| StorageSharedKeyCredential | StorageSharedKeyCredential(String, String)-constructor |
| BlobClient | UploadAsync |
Controleren of de afbeelding in het opslagaccount wordt weergegeven
Meld u aan bij de Azure-portal. In het linkermenu selecteert u opslagaccounts en vervolgens de naam van uw opslagaccount. Selecteer Containers en vervolgens de container voor afbeeldingen.
Controleer of de afbeelding in de container wordt weergegeven.

Weergave van miniaturen testen
Als u de weergave van miniaturen wilt testen, uploadt u een afbeelding naar de container thumbnails om te controleren of de app de container thumbnails kan lezen.
Meld u aan bij de Azure-portal. In het linkermenu selecteert u opslagaccounts en vervolgens de naam van uw opslagaccount. Selecteer Containers en vervolgens de container voor miniaturen. Selecteer Uploaden om het deelvenster Blob uploaden te openen.
Kies een bestand met de bestandenkiezer en selecteer Uploaden.
Ga terug naar de app om te controleren of de naar de thumbnails-container geüploade afbeelding zichtbaar is.
In deel twee van de serie automatiseert u het maken van miniatuurafbeeldingen zodat u deze afbeelding niet nodig hebt. In de thumbnails-container selecteert u de geüploade afbeelding en vervolgens Verwijderen om de afbeelding te verwijderen.
U kunt Content Delivery Network (CDN) naar cache-inhoud inschakelen vanuit het Azure-opslagaccount. Zie Een Azure storage-account integreren met Azure CDN voor meer informatie.
Volgende stappen
In deel één van de serie hebt u geleerd hoe u een web-app configureert om te communiceren met opslag.
Ga verder met deel twee van de serie om te leren hoe u Event Grid gebruikt om een Azure-functie te activeren om het formaat van een afbeelding aan te passen.




