Delen via


Containers, blobs en metagegevens een naam geven en hiernaar verwijzen

In dit onderwerp wordt het benoemen en verwijzen 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 die mappen kunnen 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 binnen 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 in strijd is met naamgevingsregels, mislukt de aanvraag met statuscode 400 (Ongeldige aanvraag).

Blob- en containernamen worden doorgegeven aan de Blob-service binnen een URL. Bepaalde tekens moeten met behulp van UTF-8 (voorkeur) of MBCS worden weergegeven in een URL. 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 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 blobnamenvoor een lijst met deze tekens.

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

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

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 direct 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 tussen 3 en 63 tekens lang zijn.

Mapnamen

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.

  • Mapnamen zijn hoofdlettergevoelig.

  • Gereserveerde URL-tekens moeten correct worden ontsnapt.

Notitie

Vermijd mapnamen die eindigen op een punt (.), een slash (/), 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 het ontwikkelen en testen vanvoor meer informatie.

  • Blobnamen zijn hoofdlettergevoelig.

  • Gereserveerde URL-tekens moeten correct worden ontsnapt.

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

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

Notitie

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

Schermopname van slash 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. In de volgende lijst worden bijvoorbeeld geldige en unieke blobnamen weergegeven. U ziet dat een tekenreeks geldig kan zijn als zowel een blobnaam als als een naam van een virtuele map in dezelfde container:

  • /een

  • /a.txt

  • /a/b

  • /a/b.txt

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

Namen van metagegevenssleutels en -waarden

Metagegevens voor een container- of blobresource worden opgeslagen als naam-waardeparen die zijn gekoppeld aan de resource. Namen van metagegevenssleutels moeten voldoen aan de volgende naamgevingsregels:

  • Moet beginnen met een letter of onderstrepingsteken

  • De volgende tekens kunnen letters, cijfers of onderstrepingstekens zijn

  • De naam van de metagegevenssleutel moet geldig zijn als ASCII

Namen van metagegevenswaarden moeten ook geldige ASCII zijn. Houd er rekening mee dat namen van metagegevens de case behouden waarmee ze zijn gemaakt, maar niet hoofdlettergevoelig zijn wanneer ze worden ingesteld of gelezen. Als twee of meer metagegevensheaders met dezelfde naam voor een resource worden verzonden, 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 de hoofdcontainer kan expliciet 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 voor 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. Deze tekens, wanneer deze worden gebruikt in combinatie met andere tekens in deze lijst, kunnen UTF-8 of MBCS-decodering mislukken, wat leidt tot een fout in 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