Namnge och referera till containrar, blobar och metadata

I det här avsnittet beskrivs namngivning och hänvisning till containrar, blobar, metadata och ögonblicksbilder. Ett lagringskonto kan innehålla noll eller flera containrar. En container innehåller egenskaper, metadata och noll eller fler blobar. Om ditt konto har ett hierarkiskt namnområde kan en container också innehålla noll eller flera kataloger och dessa kataloger kan innehålla noll eller flera blobar. En blob är en enskild entitet som består av binära data, egenskaper och metadata.

Resursnamn

URI:n för att referera till en container eller en blob måste vara unik. Eftersom varje kontonamn är unikt kan två konton ha containrar med samma namn. Inom ett visst lagringskonto måste dock varje container ha ett unikt namn. Varje blob i en viss container måste också ha ett unikt namn i containern.

Om du försöker skapa en container eller blob med ett namn som bryter mot namngivningsreglerna misslyckas begäran med statuskod 400 (felaktig begäran).

Blob- och containernamn skickas till blobtjänsten i en URL. Vissa tecken måste vara procentkodade för att visas i en URL med UTF-8 (rekommenderas) eller MBCS. Den här kodningen sker automatiskt när du använder Azure Storage-klientbiblioteken. Det finns dock vissa tecken som inte är giltiga i URL-sökvägar även när de kodas. Om dessa tecken visas i blob- eller containernamn kan begäran misslyckas. En lista över dessa tecken finns i Unicode-tecken som inte rekommenderas för användning i container- eller blobnamn.

Kodpunkter som \uE000, även om de är giltiga i NTFS-filnamn, är inte giltiga Unicode-tecken, så de kan inte användas. Dessutom tillåts inte vissa ASCII- eller Unicode-tecken, t.ex. kontrolltecken (0x00 till 0x1F, \u0081 osv.).

Ytterligare regler som styr Unicode-strängar i HTTP/1.1 finns i RFC 2616, avsnitt 2.2: Grundläggande regler och RFC 3987.

Containernamn

Ett containernamn måste vara ett giltigt DNS-namn som överensstämmer med följande namngivningsregler:

  • Containernamn måste börja eller sluta med en bokstav eller siffra och får endast innehålla bokstäver, siffror och bindestreck/minustecken (-).

  • Varje bindestreck/minustecken (-) måste omedelbart föregås och följas av en bokstav eller siffra. bindestreck i följd tillåts inte i containernamn.

  • Alla bokstäver i ett containernamn måste vara gemener.

  • Containernamn måste vara mellan 3 och 63 tecken långa.

Katalognamn

Om ditt konto har ett hierarkiskt namnområde måste ett katalognamn överensstämma med följande namngivningsregler:

  • Ett katalognamn kan innehålla valfri kombination av tecken.

  • Ett katalognamn måste vara minst ett tecken långt och får inte vara längre än 1 024 tecken.

  • Katalognamn är skiftlägeskänsliga.

  • Reserverade URL-tecken måste undantas korrekt.

Anteckning

Undvik katalognamn som slutar med en punkt (.), ett snedstreck (/), ett omvänt snedstreck (\) eller en sekvens eller kombination av de två. Inga sökvägssegment ska sluta med en punkt (.).

Skärmbild av omvänt snedstreck som inte tillåts.

Blobnamn

Ett blobnamn måste följa följande namngivningsregler. Dessa regler gäller även för blobar i konton som har ett hierarkiskt namnområde, om inget annat anges.

  • Ett blobnamn kan innehålla valfri kombination av tecken.

  • Ett blobnamn måste vara minst ett tecken långt och får inte vara längre än 1 024 tecken för blobar i Azure Storage.

    Azure Storage-emulatorn stöder blobnamn på upp till 256 tecken. Mer information finns i Använda Azure Storage-emulatorn för utveckling och testning.

  • Blobnamn är skiftlägeskänsliga.

  • Reserverade URL-tecken måste undantas korrekt.

  • Det finns begränsningar för antalet sökvägssegment som består av ett blobnamn. Ett sökvägssegment är strängen mellan avgränsartecken i följd (till exempel ett snedstreck /) som motsvarar katalogen eller den virtuella katalogen. Följande begränsningar för sökvägssegment gäller för blobnamn:

    • Om lagringskontot inte har hierarkiskt namnområde aktiverat får antalet sökvägssegment som består av blobnamnet inte överstiga 254.
    • Om det hierarkiska namnområdet är aktiverat för lagringskontot får antalet sökvägssegment som omfattar blobnamnet inte överstiga 63 (inklusive sökvägssegment för kontonamn och containernamn).

Anteckning

Undvik blobnamn som slutar med en punkt (.), ett snedstreck (/), ett omvänt snedstreck (\) eller en sekvens eller kombination av de två. Inga sökvägssegment ska sluta med en punkt (.).

Skärmbild av snedstreck som inte tillåts.

Som standard baseras Blob Service på ett platt lagringsschema, inte ett hierarkiskt schema. Du kan dock ange ett tecken eller en stränggränsare i ett blobnamn för att skapa en virtuell hierarki. I följande lista visas till exempel giltiga och unika blobnamn. Observera att en sträng kan vara giltig både som ett blobnamn och som ett virtuellt katalognamn i samma container:

  • /a

  • /a.txt

  • /a/b

  • /a/b.txt

Du kan dra nytta av avgränsartecknet när du räknar upp blobar.

Metadatanamn

Metadata för en container eller blobresurs lagras som namn/värde-par som är associerade med resursen. Metadatanamn måste följa namngivningsreglerna för C#-identifierare.

Observera att metadatanamn bevarar det skiftläge som de skapades med, men de är skiftlägesokänsliga när de anges eller läss. Om två eller flera metadatahuvuden med samma namn skickas för en resurs returnerar Blob Service statuskod 400 (felaktig begäran).

Resurs-URI-syntax

Varje resurs har en motsvarande bas-URI, som refererar till själva resursen.

För lagringskontot innehåller bas-URI:n endast namnet på kontot:

https://myaccount.blob.core.windows.net

För en container innehåller bas-URI:n namnet på kontot och namnet på containern:

https://myaccount.blob.core.windows.net/mycontainer

För en blob innehåller bas-URI:n namnet på kontot, namnet på containern och namnet på bloben:

https://myaccount.blob.core.windows.net/mycontainer/myblob

Ett lagringskonto kan ha en rotcontainer, en standardcontainer som kan utelämnas från URI:n. En blob i rotcontainern kan refereras utan att namnge containern, eller så kan rotcontainern uttryckligen refereras till av dess namn ($root). Mer information finns i Arbeta med rotcontainern . Följande URI:er refererar båda till en blob i rotcontainern:

https://myaccount.blob.core.windows.net/myblob  
https://myaccount.blob.core.windows.net/$root/myblob  

Blobögonblicksbilder

En ögonblicksbild är en skrivskyddad version av en blob som lagras som den var när ögonblicksbilden skapades. Du kan använda ögonblicksbilder för att skapa en säkerhetskopia eller kontrollpunkt för en blob. Ett blobnamn för ögonblicksbilder innehåller basblob-URI:n plus ett datum/tid-värde som anger när ögonblicksbilden skapades.

Anta till exempel att en blob har följande URI:

https://myaccount.blob.core.windows.net/mycontainer/myblob

URI:n för en ögonblicksbild av bloben skapas på följande sätt:

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Följande tabell innehåller en lista över Unicode-tecken som inte rekommenderas för användning i container- eller blobnamn. Dessa tecken, när de används i kombination med andra tecken i den här listan, kan misslyckas UTF-8 eller MCBS-avkodning, vilket leder till att begäran till Blob-tjänsten misslyckas.

Unicode-tecken
U+0080
U+0082
U+0083
U+0084
U+0085
U+0086
U+0087
U+0088
U+0089
U+008A
U+008B
U+008C
U+008E
U+0091
U+0092
U+0093
U+0094
U+0095
U+0096
U+0097
U+0098
U+0099
U+009A
U+009B
U+009C
U+009E
U+009F
U+FDD1
U+FDD2
U+FDD3
U+FDD4
U+FDD5
U+FDD6
U+FDD7
U+FDD8
U+FDD9
U+FDDA
U+FDDB
U+FDDC
U+FDDE
U+FDDF
U+FDE0
U+FDE1
U+FDE2
U+FDE3
U+FDE4
U+FDE5
U+FDE6
U+FDE7
U+FDE8
U+FDE9
U+FDEA
U+FDEB
U+FDEC
U+FDED
U+FDEE
U+FDEF
U+FFF0
U+FFF1
U+FFF2
U+FFF3
U+FFF4
U+FFF5
U+FFF6
U+FFF7
U+FFF8
U+FFF9
U+FFFA
U+FFFB
U+FFFC
U+FFFD
U+FFFE
U+FFFF
U+1FFFE
U+1FFFF
U+2FFFE
U+2FFFF
U+3FFFE
U+3FFFF
U+5FFFE
U+5FFFF
U+6FFFE
U+6FFFF
U+7FFFE
U+7FFFF
U+9FFFE
U+9FFFF
U+AFFFE
U+AFFFF
U+BFFFE
U+BFFFF
U+DFFFE
U+DFFFF
U+EFFFE
U+EFFFF
U+FFFFE
U+FFFFF

Se även