Pojmenování a odkazování na kontejnery, objekty blob a metadata

Toto téma popisuje pojmenování a odkazování na kontejnery, objekty blob, metadata a snímky. Účet úložiště může obsahovat nula nebo více kontejnerů. Kontejner obsahuje vlastnosti, metadata a nula nebo více objektů blob. Pokud má váš účet hierarchický obor názvů, může kontejner obsahovat také nula nebo více adresářů a tyto adresáře můžou obsahovat nula nebo více objektů blob. Objekt blob je libovolná jedna entita, která se skládá z binárních dat, vlastností a metadat.

Názvy prostředků

Identifikátor URI, který odkazuje na kontejner nebo objekt blob, musí být jedinečný. Vzhledem k tomu, že každý název účtu je jedinečný, můžou mít dva účty kontejnery se stejným názvem. V rámci daného účtu úložiště ale musí mít každý kontejner jedinečný název. Každý objekt blob v daném kontejneru musí mít také jedinečný název v rámci daného kontejneru.

Pokud se pokusíte vytvořit kontejner nebo objekt blob s názvem, který porušuje pravidla pojmenování, požadavek selže se stavovým kódem 400 (Chybný požadavek).

Názvy objektů blob a kontejnerů se předávají službě Blob Service v rámci adresy URL. Aby se některé znaky zobrazovaly v adrese URL, musí být v adrese URL zakódované v kódování UTF-8 (upřednostňované) nebo MBCS. K tomuto kódování dochází automaticky při použití klientských knihoven Azure Storage. Existují však určité znaky, které nejsou platné v cestách URL, i když jsou zakódovány. Pokud se tyto znaky zobrazí v názvech objektů blob nebo kontejneru, může požadavek selhat. Seznam těchto znaků najdete v tématu znaky Unicode se nedoporučuje používat v názvech kontejnerů nebo objektů blob.

Body kódu, jako je \uE000, zatímco jsou platné v souborech souborů NTFS, nejsou platné znaky Unicode, takže je nelze použít. Kromě toho některé znaky ASCII nebo Unicode, jako jsou řídicí znaky (0x00 k 0x1F, \u0081atd.), také nejsou povoleny.

Další pravidla, která se řídí řetězci Unicode v protokolu HTTP/1.1, najdete v tématu RFC 2616, oddíl 2.2: Základní pravidla a RFC 3987.

Názvy kontejnerů

Název kontejneru musí být platný název DNS, který odpovídá následujícím pravidlům pojmenování:

  • Názvy kontejnerů musí začínat nebo končit písmenem nebo číslicí a mohou obsahovat pouze písmena, číslice a znak spojovníku nebo minus (-).

  • Každý znak spojovníku/minus (-) musí být bezprostředně před znakem a za ním písmeno nebo číslo; po sobě jdoucí pomlčky nejsou povolené v názvech kontejnerů.

  • Všechna písmena v názvu kontejneru musí být malá písmena.

  • Názvy kontejnerů musí mít délku 3 až 63 znaků.

Názvy adresářů

Pokud má váš účet hierarchický obor názvů, musí název adresáře odpovídat následujícím pravidlům pojmenování:

  • Název adresáře může obsahovat libovolnou kombinaci znaků.

  • Název adresáře musí mít délku alespoň jednoho znaku a nesmí být delší než 1 024 znaků.

  • V názvech adresářů se rozlišují malá a velká písmena.

  • Znaky rezervované adresy URL musí být správně uchycené.

Poznámka

Vyhněte se názvům adresářů, které končí tečkou (.), lomítkem (/), zpětným lomítkem (\) nebo sekvencí nebo kombinací těchto dvou. Žádné segmenty cesty by neměly končit tečkou (.).

snímek obrazovky s nepovolenou zpětné lomítko

Názvy objektů blob

Název objektu blob musí odpovídat následujícím pravidlům pojmenování. Tato pravidla platí také pro objekty blob v účtech, které mají hierarchický obor názvů, pokud není uvedeno jinak.

  • Název objektu blob může obsahovat libovolnou kombinaci znaků.

  • Název objektu blob musí mít alespoň jeden znak a nesmí být delší než 1 024 znaků pro objekty blob ve službě Azure Storage.

    Emulátor služby Azure Storage podporuje názvy objektů blob o délce až 256 znaků. Další informace najdete v tématu Použití emulátoru úložiště Azure pro vývoj a testování.

  • V názvech objektů blob se rozlišují malá a velká písmena.

  • Znaky rezervované adresy URL musí být správně uchycené.

  • Existuje omezení počtu segmentů cesty, které obsahují název objektu blob. Segment cesty je řetězec mezi po sobě jdoucími znaky oddělovače (například lomítko /), který odpovídá adresáři nebo virtuálnímu adresáři. Omezení následujících segmentů cesty platí pro názvy objektů blob:

    • Pokud účet úložiště nemá má povolený hierarchický obor názvů, počet segmentů cest, které tvoří název objektu blob, nesmí překročit 254.
    • Pokud má účet úložiště povolený hierarchický obor názvů, počet segmentů cest obsahujících název objektu blob nesmí překročit 63 (včetně segmentů cesty pro název účtu a název kontejneru).

Poznámka

Vyhněte se názvům objektů blob, které končí tečkou (.), lomítkem (/), zpětným lomítkem (\) nebo sekvencí nebo kombinací těchto dvou. Žádné segmenty cesty by neměly končit tečkou (.).

snímek obrazovky s nepovolenou lomítkem

Ve výchozím nastavení je služba Blob založená na schématu plochého úložiště, nikoli na hierarchickém schématu. K vytvoření virtuální hierarchie však můžete v názvu objektu blob zadat znak nebo oddělovač řetězců. Následující seznam například zobrazuje platné a jedinečné názvy objektů blob. Všimněte si, že řetězec může být platný jako název objektu blob i jako název virtuálního adresáře ve stejném kontejneru:

  • /a

  • /a.txt

  • /a/b

  • /a/b.txt

Při vytváření výčtu objektů blob můžete využít znak oddělovače.

Názvy klíčů a hodnot metadat

Metadata kontejneru nebo prostředku objektu blob se ukládají jako páry název-hodnota přidružené k prostředku. Názvy klíčů metadat musí dodržovat následující pravidla pojmenování:

  • Musí začínat písmenem nebo podtržítkem.

  • Následující znaky můžou být písmena, číslice nebo podtržítka.

  • Název klíče metadat musí být platný ASCII.

Názvy hodnot metadat musí být také platné ASCII. Všimněte si, že názvy metadat zachovávají velikost písmen, u kterých byly vytvořeny, ale při nastavování nebo čtení nerozlišují malá a velká písmena. Pokud jsou pro prostředek odeslány dvě nebo více hlaviček metadat se stejným názvem, vrátí služba Blob Service stavový kód 400 (chybný požadavek).

Syntaxe identifikátoru URI prostředku

Každý prostředek má odpovídající základní identifikátor URI, který odkazuje na samotný prostředek.

Základní identifikátor URI pro účet úložiště obsahuje pouze název účtu:

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

Pro kontejner obsahuje základní identifikátor URI název účtu a název kontejneru:

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

Základní identifikátor URI objektu blob obsahuje název účtu, název kontejneru a název objektu blob:

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

Účet úložiště může mít kořenový kontejner, výchozí kontejner, který je možné vynechat z identifikátoru URI. Objekt blob v kořenovém kontejneru lze odkazovat bez pojmenování kontejneru nebo na kořenový kontejner lze explicitně odkazovat jeho názvem ($root). Další informace najdete v tématu Práce s kořenovým kontejnerem. Obě identifikátory URI odkazují na objekt blob v kořenovém kontejneru:

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

Snímky objektů blob

Snímek je verze objektu blob jen pro čtení uložená v okamžiku vytvoření snímku. Snímky můžete použít k vytvoření zálohy nebo kontrolního bodu objektu blob. Název objektu blob snímku obsahuje identifikátor URI základního objektu blob a hodnotu data a času, která označuje, kdy byl snímek vytvořen.

Předpokládejme například, že objekt blob má následující identifikátor URI:

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

Identifikátor URI pro snímek tohoto objektu blob se vytvoří následujícím způsobem:

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

Následující tabulka obsahuje seznam znaků Unicode, které se nedoporučuje používat v názvech kontejnerů nebo objektů blob. Tyto znaky, pokud se používají v kombinaci s jinými znaky v tomto seznamu, mohou selhat dekódování UTF-8 nebo MBCS, což vede k selhání požadavku na službu Blob.

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

Viz také