Pojmenování kontejnerů, objektů blob a metadat a odkazování na nich

Toto téma popisuje pojmenování kontejnerů, objektů blob, metadat a snímků a odkazování na tyto kontejnery. Úč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á 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ý, dva účty můžou mít 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. Některé znaky musí být zakódované v procentech, aby se zobrazily v adrese URL, pomocí UTF-8 (upřednostňované) nebo MBCS. K tomuto kódování dochází automaticky při použití klientských knihoven Služby 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, jsou sice platné v souborech souborů NTFS, ale nejsou platné znaky Unicode, takže je nelze použít. Kromě toho nejsou povoleny ani některé znaky ASCII nebo Unicode, například řídicí znaky (0x00 0x1F, \u0081 atd.).

Další pravidla, kterými se řídí řetězce Unicode v http/1.1, najdete v dokumentu 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 pro 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/minus (-).

  • Každému znaku spojovníku nebo minus (-) musí bezprostředně předcházet a za ním písmeno nebo číslo; po sobě jdoucí spojovníky nejsou v názvech kontejnerů povolené.

  • Název kontejneru musí být psaný malými písmeny.

  • 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 nejméně jednoho znaku a nesmí být delší než 1 024 znaků.

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

  • Vyhrazené znaky v adresách URL musí být správně uzavřené do uvozovek.

Poznámka

Vyhněte se názvům adresářů, které končí tečkou (.), lomítkem (/), zpětným lomítkem (\) nebo posloupností nebo kombinací těchto dvou položek. Žádné segmenty cest 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ů.

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

    Emulátor služby Azure Storage podporuje názvy objektů blob dlouhé 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í velká a malá písmena.

  • Vyhrazené znaky v adresách URL musí být správně uzavřené do uvozovek.

  • Existují omezení počtu segmentů cest, které tvoří název objektu blob. Segment cesty je řetězec mezi po sobě jdoucími oddělovači (například lomítko /), který odpovídá adresáři nebo virtuálnímu adresáři. Na názvy objektů blob se vztahují následující omezení segmentů cest:

    • Pokud účet úložiště nemá povolený hierarchický obor názvů, nesmí počet segmentů cest obsahujících název objektu blob překročit 254.
    • Pokud má účet úložiště povolený hierarchický obor názvů, nesmí počet segmentů cest obsahujících název objektu blob 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 posloupností nebo kombinací těchto dvou objektů. Žádné segmenty cest by neměly končit tečkou (.).

Snímek obrazovky s nepovolenou lomítkem

Ve výchozím nastavení je služba Blob Service založená na schématu plochého úložiště, nikoli na hierarchickém schématu. Můžete ale zadat znak nebo oddělovač řetězců v názvu objektu blob a vytvořit tak virtuální hierarchii. Například následující seznam obsahuje 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 metadat

Metadata pro prostředek kontejneru nebo objektu blob se ukládají jako páry název-hodnota přidružené k prostředku. Názvy metadat musí splňovat pravidla pojmenování identifikátorů jazyka C#.

Všimněte si, že názvy metadat zachovávají písmena, se kterými byly vytvořeny, ale při nastavení nebo čtení nerozlišují velká a malá písmena. Pokud se pro prostředek odesílají 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

U kontejneru 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 pro objekt blob zahrnuje 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é z identifikátoru URI vynechat. Na objekt blob v kořenovém kontejneru je možné 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 . Oba následující 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 době 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 snímku tohoto objektu blob se vytvoří takto:

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. Při použití těchto znaků v kombinaci s jinými znaky v tomto seznamu může dojít k selhání dekódování UTF-8 nebo MBCS, což může vést 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é