Utforma en strategi för lagringsorganisation

Slutförd

När du utformar en app som behöver lagra data är det viktigt att tänka på hur appen ska organisera data mellan lagringskonton, containrar och blobar.

Lagringskonton

Ett enda lagringskonto är tillräckligt flexibelt för att organisera dina blobar. Du bör dock använda fler lagringskonton efter behov för att logiskt separera kostnader och kontrollera åtkomsten till data.

Behållare och blobbar

Appens natur och de data den lagrar bör driva din strategi för namngivning och organisering av containrar och blobar.

Appar som använder blobar som en del av ett lagringsschema som innehåller en databas behöver ofta inte förlita sig mycket på organisation, namngivning eller metadata för att indikera något om deras data. Sådana appar använder ofta identifierare som ex.vis GUID som blobbnamn och refererar till dessa identifierare i databasposter. Appen använder databasen för att avgöra var blobar lagras och vilken typ av data de innehåller.

Andra appar använder Azure Blob Storage mer som ett personligt filsystem. Container- och blobnamn anger innebörd och struktur. Blobnamn i den här typen av appar ser ofta ut som traditionella filnamn. De kan innehålla filnamnstillägg som .jpg för att ange vilken typ av data de innehåller. Sådana appar använder virtuella kataloger för att organisera blobar. De använder ofta metadatataggar för att lagra information om blobar och containrar.

Det finns några viktiga saker att tänka på när du bestämmer hur du ska organisera och lagra blobbar och containrar.

Namnbegränsningar

Container- och blobnamn måste följa en uppsättning regler, inklusive längdbegränsningar och teckenbegränsningar. Mer specifik information om namngivningsregler finns i avsnittet Ytterligare läsning i slutet av den här modulen.

Offentlig åtkomst och containrar som säkerhetsgränser

Som standard kräver alla blobar autentisering för åtkomst. Du kan dock konfigurera enskilda containrar för att tillåta offentlig nedladdning av deras blobar utan autentisering. Offentlig nedladdning stöder många användningsfall, till exempel värd för statiska webbplatstillgångar och delningsfiler. Den här metoden fungerar eftersom nedladdning av blobinnehåll fungerar på samma sätt som att läsa andra data via webben. Du pekar bara en webbläsare eller något som kan göra en GET-begäran på blob-URL:en.

Det är viktigt att aktivera offentlig åtkomst för skalbarhet. Data som laddas ned direkt från Blob Storage genererar ingen trafik i din app på serversidan. Planera att använda separata containrar för data som du vill ska vara offentligt tillgängliga, även om du inte omedelbart tillåter offentlig åtkomst eller använder en databas för att styra dataåtkomsten.

Varning

Alla som känner till lagrings-URL:erna kan ladda ned blobar i en container som har konfigurerats för offentlig åtkomst utan någon form av autentisering eller granskning. Placera aldrig blobdata i en offentlig container som du inte planerar att dela offentligt.

Förutom offentlig åtkomst har Azure en signatur för delad åtkomst som gör detaljerade behörigheter enklare att styra i containrar. Precisionsåtkomstkontroll möjliggör scenarier som ytterligare förbättrar skalbarheten, så det är bra att tänka på containrar som säkerhetsgränser.

Prefix för blobbnamn (virtuella kataloger)

Containrar är platta. De stöder inte någon form av kapsling eller hierarki. Om du ger dina blobar hierarkiska namn som ser ut som filsökvägar, till exempel ekonomi/budgetar/2017/q1.xls, kan API:ets listningsåtgärd filtrera resultat till specifika prefix. Med den här metoden kan du navigera i listan som om det vore ett hierarkiskt system med filer och mappar.

Vissa verktyg och klientbibliotek använder den här metoden för att visualisera och navigera i Blob Storage som om det vore ett filsystem. Varje mappnavigering utlöser ett separat anrop för att göra en lista med blobarna i den mappen. Den här funktionen kallas ofta virtuella kataloger.

Kommentar

Om du aktiverar funktionen för hierarkiskt namnområde för kontot är kataloger inte längre virtuella. I stället blir de konkreta, oberoende objekt som du kan arbeta med direkt. En katalog kan finnas utan att innehålla några filer. I den här modulen beskrivs endast konton som inte har funktionen hierarkisk namnrymd aktiverad.

Blobbtyper

Det finns tre olika typer av blobar där du kan lagra data:

  • Blockblobar består av block i olika storlekar som kan laddas upp separat och parallellt. Att skriva till en blockblob innebär att ladda upp data till block och genomföra dem på bloben.
  • Tilläggsblobar är specialiserade blockblobar som endast stöder att nya data läggs till, inte att befintliga data uppdateras eller tas bort. De är effektiva för det här ändamålet. Att lägga till bloblagring är perfekt vid scenarier som att lagra loggar eller strömma data.
  • Sidblobar stöder scenarier som omfattar läsningar och skrivningar med slumpmässig åtkomst. Sidblobar används för att lagra de virtuella hårddiskfiler (VHD) som används av Azure Virtual Machines. De är bra för alla scenarier som inbegriper slumpmässig åtkomst.

Blockblobbar är det bästa valet för de flesta scenarier som inte anropar specifikt för bilage- eller sidblobbar. Deras blockbaserade struktur stöder snabba uppladdningar och nedladdningar och effektiv åtkomst till enskilda delar av en blob. De flesta klientbibliotek hanterar och checkar in block automatiskt. Vissa hanterar även parallella uppladdningar och nedladdningar för att maximera prestanda.

Testa dina kunskaper

1.

Anta att du behöver lagra profil- och orderinformation om dina kunder. Du behöver kunna skicka frågor till data för att få svar på frågor som ”vilka är mina 100 främsta kunder?” och ”hur många kunder bor i en viss geografisk region?”. Sant eller falskt: bloblagring är ett bra val för dessa data?

2.

Blobar används för ostrukturerad datalagring. Vad innebär ostrukturerad?