Naamgeving van en verwijzen naar containers, blobs en metagegevens

In dit onderwerp worden namen en verwijzingen naar containers, blobs, metagegevens en momentopnamen beschreven. Een opslagaccount kan nul of meer containers bevatten. Een container bevat eigenschappen, metagegevens en nul of meer blobs. Als uw account een hiërarchische naamruimte heeft, kan een container ook nul of meer mappen bevatten en kunnen deze mappen nul of meer blobs bevatten. Een blob is één entiteit die bestaat uit binaire gegevens, eigenschappen en metagegevens.

Resourcenamen

De URI die naar een container of blob verwijst, moet uniek zijn. Omdat elke accountnaam uniek is, kunnen twee accounts containers met dezelfde naam hebben. Binnen een bepaald opslagaccount moet elke container echter een unieke naam hebben. Elke blob in een bepaalde container moet ook een unieke naam binnen die container hebben.

Als u probeert een container of blob te maken met een naam die de naamgevingsregels schendt, mislukt de aanvraag met statuscode 400 (Ongeldige aanvraag).

Blob- en containernamen worden binnen een URL doorgegeven aan de Blob-service. Bepaalde tekens moeten procent zijn gecodeerd om in een URL te worden weergegeven, met behulp van UTF-8 (voorkeur) of MBCS. Deze codering vindt automatisch plaats wanneer u de Azure Storage-clientbibliotheken gebruikt. Er zijn echter bepaalde tekens die niet geldig zijn in URL-paden, zelfs niet wanneer ze zijn gecodeerd. Als deze tekens worden weergegeven in blob- of containernamen, kan de aanvraag mislukken. Zie Unicode-tekens die niet worden aanbevolen voor gebruik in container- of blobnamen voor een lijst met deze tekens.

Codepunten zoals \uE000 zijn geldig in NTFS-bestandsnamen, maar zijn geen geldige Unicode-tekens, zodat ze niet kunnen worden gebruikt. Bovendien zijn sommige ASCII- of Unicode-tekens, zoals besturingstekens (0x00 aan 0x1F, \u0081, enzovoort), ook niet toegestaan.

Zie RFC 2616, Sectie 2.2: Basisregels en RFC 3987 voor aanvullende regels voor Unicode-tekenreeksen in HTTP/1.1.

Containernamen

Een containernaam moet een geldige DNS-naam zijn die voldoet aan de volgende naamgevingsregels:

  • Containernamen moeten beginnen of eindigen met een letter of cijfer en mogen alleen letters, cijfers en het afbreekstreepje/minteken (-) bevatten.

  • Elk afbreekstreepje/minteken (-) moet onmiddellijk worden voorafgegaan en gevolgd door een letter of cijfer; opeenvolgende afbreekstreepjes zijn niet toegestaan in containernamen.

  • Alle letters in een containernaam moeten kleine letters zijn.

  • Containernamen moeten 3 tot 63 tekens lang zijn.

Directorynamen

Als uw account een hiërarchische naamruimte heeft, moet een mapnaam voldoen aan de volgende naamgevingsregels:

  • Een mapnaam kan elke combinatie van tekens bevatten.

  • Een mapnaam moet ten minste één teken lang zijn en mag niet langer zijn dan 1024 tekens.

  • Directorynamen zijn hoofdlettergevoelig.

  • Gereserveerde tekens voor URL's moeten op de juiste wijze van een escape-teken zijn voorzien.

Notitie

Vermijd mapnamen die eindigen op een punt (.), een schuine streep (/), een backslash (\) of een reeks of combinatie van de twee. Er mogen geen padsegmenten eindigen met een punt (.).

Schermopname van backslash is niet toegestaan.

Blobnamen

Een blobnaam moet voldoen aan de volgende naamgevingsregels. Deze regels zijn ook van toepassing op blobs in accounts met een hiërarchische naamruimte, tenzij anders vermeld.

  • Een blobnaam kan elke combinatie van tekens bevatten.

  • Een blobnaam moet ten minste één teken lang zijn en mag niet langer zijn dan 1024 tekens voor blobs in Azure Storage.

    De Azure Storage-emulator ondersteunt blobnamen van maximaal 256 tekens. Zie De Azure-opslagemulator gebruiken voor ontwikkeling en testen voor meer informatie.

  • Blobnamen zijn hoofdlettergevoelig.

  • Gereserveerde tekens voor URL's moeten op de juiste wijze van een escape-teken zijn voorzien.

  • Er gelden beperkingen voor het aantal padsegmenten die bestaan uit een blobnaam. Een padsegment is de tekenreeks tussen opeenvolgende scheidingstekens (bijvoorbeeld een slash /) die overeenkomt met de map of virtuele map. De volgende padsegmentbeperkingen zijn van toepassing op blobnamen:

    • Als voor het opslagaccount geen hiërarchische naamruimte is ingeschakeld, mag het aantal padsegmenten die de blobnaam bevatten, niet groter zijn dan 254.
    • Als voor het opslagaccount hiërarchische naamruimte is ingeschakeld, mag het aantal padsegmenten die de blobnaam bevatten niet groter zijn dan 63 (inclusief padsegmenten voor accountnaam en containernaam).

Notitie

Vermijd blobnamen die eindigen op een punt (.), een schuine streep (/), een backslash (\) of een reeks of combinatie van de twee. Er mogen geen padsegmenten eindigen met een punt (.).

Schermopname van schuine streep is niet toegestaan.

De Blob-service is standaard gebaseerd op een plat opslagschema, niet op een hiërarchisch schema. U kunt echter een teken- of tekenreeksscheidingsteken opgeven binnen een blobnaam om een virtuele hiërarchie te maken. De volgende lijst bevat bijvoorbeeld geldige en unieke blobnamen. U ziet dat een tekenreeks geldig kan zijn als zowel een blobnaam als een naam van een virtuele map in dezelfde container:

  • /a

  • /a.txt

  • /a/b

  • /a/b.txt

U kunt gebruikmaken van het scheidingsteken bij het opsommen van blobs.

Namen van metagegevens

Metagegevens voor een container of blob-resource worden opgeslagen als naam-waardeparen die aan de resource zijn gekoppeld. Namen van metagegevens moeten voldoen aan de naamgevingsregels voor C#-id's.

Houd er rekening mee dat metagegevensnamen de hoofdletters behouden waarmee ze zijn gemaakt, maar niet hoofdlettergevoelig zijn wanneer ze worden ingesteld of gelezen. Als twee of meer metagegevensheaders met dezelfde naam worden verzonden voor een resource, retourneert de Blob-service statuscode 400 (Ongeldige aanvraag).

Syntaxis van resource-URI

Elke resource heeft een bijbehorende basis-URI, die verwijst naar de resource zelf.

Voor het opslagaccount bevat de basis-URI alleen de naam van het account:

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

Voor een container bevat de basis-URI de naam van het account en de naam van de container:

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

Voor een blob bevat de basis-URI de naam van het account, de naam van de container en de naam van de blob:

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

Een opslagaccount kan een hoofdcontainer hebben, een standaardcontainer die kan worden weggelaten uit de URI. Er kan naar een blob in de hoofdcontainer worden verwezen zonder de container een naam te geven, of er kan expliciet naar de hoofdcontainer worden verwezen met de naam ($root). Zie Werken met de hoofdcontainer voor meer informatie. De volgende URI's verwijzen beide naar een blob in de hoofdcontainer:

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

Blob-momentopnamen

Een momentopname is een alleen-lezen versie van een blob die is opgeslagen op het moment dat de momentopname werd gemaakt. U kunt momentopnamen gebruiken om een back-up of controlepunt van een blob te maken. Een blobnaam van een momentopname bevat de basis-blob-URI plus een datum-/tijd-waarde die aangeeft wanneer de momentopname is gemaakt.

Stel dat een blob de volgende URI heeft:

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

De URI voor een momentopname van die blob wordt als volgt gevormd:

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

De volgende tabel bevat een lijst met Unicode-tekens die niet worden aanbevolen voor gebruik in container- of blobnamen. Wanneer deze tekens worden gebruikt in combinatie met andere tekens in deze lijst, kan UTF-8 of MBCS-decodering mislukken, wat leidt tot een fout van de aanvraag voor de Blob-service.

Unicode-teken
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

Zie ook