Экспорт (0) Печать
Развернуть все

Работа с корневым контейнером (REST API)

Обновлено: Декабрь 2014 г.

Корневой контейнер является контейнером по умолчанию для вашей учетной записи хранилища. Учетная запись хранилища может иметь один корневой контейнер. Корневой контейнер должен быть явно создан и иметь имя $root.

К большим двоичным объектам, хранящимся в корневом контейнере, можно обращаться без указания имени корневого контейнера. Таким образом, можно обращаться к большому двоичному объекту на высшем уровне иерархии учетной записи хранения. Например, теперь вы можете обратиться к большому двоичному объекту, который находится в корневом контейнере, следующим образом.

shttps://myaccount.blob.core.windows.net/mywebpage.html

Для использования корневого контейнера с учетной записью хранилища создайте новый контейнер с именем $root. В следующем примере запроса показано, как создать корневой контейнер:

Request Syntax:
PUT https://myaccount.blob.core.windows.net/$root?restype=container HTTP/1.1

Request Headers:
x-ms-version: 2011-08-18
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT
x-ms-meta-Name: StorageSample
x-ms-blob-public-access: container
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=

Можно также удалить корневой контейнер, если он больше не нужен.

Как и другие контейнеры, корневой контейнер можно сделать открытым для общего анонимного доступа. Можно открыть общий доступ к контейнеру, задав заголовок x-ms-blob-public-access при создании контейнера или вызвав Задание списка управления доступом для контейнера, если он уже существует. Дополнительные сведения см. в разделе Ограничение доступа к контейнерам и большим двоичным объектам.

Если корневой контейнер присутствует, то появится при выполнении операции Контейнеры списков с учетной записью хранилища.

При выполнении операции Перечисление больших двоичных объектов для корневого контейнера корневой контейнер не отображается в поле URL-адреса ресурса для возвращенных BLOB-объектов. В синтаксисе следующего запроса показан способ вызова List Blobs для корневого контейнера.

GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list HTTP/1.1
ImportantВажно!
BLOB-объект в корневом контейнере не может содержать косую черту (/) в своем имени.

В следующих примерах показано, как работать с контейнерами и ресурсами BLOB-объектов, включая корневой контейнер.

Перечисление контейнеров в учетной записи хранилища:

GET https://myaccount.blob.core.windows.net/?comp=list

Получение свойств контейнера:

GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container

Перечисление BLOB-объектов в контейнере с именем mycontainer:

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list

Перечисление BLOB-объектов в корневом контейнере:

GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list

Чтение BLOB-объекта с именем myfile из контейнера с именем mycontainer:

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

Чтение BLOB-объекта с именем myphoto из корневого контейнера:

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

Вы также можете явно указать корневой контейнер:

GET https://myaccount.blob.core.windows.net/$root/myphoto

Чтение метаданных BLOB-объекта в BLOB-объекте в корневом контейнере:

GET https://myaccount.blob.core.windows.net/myphoto?comp=metadata

Вы также можете явно указать корневой контейнер:

GET https://myaccount.blob.core.windows.net/$root/myphoto?comp=metadata
noteПримечание
Будьте внимательны и не включайте заключительную косую черту (/) при ссылках на BLOB-объект в корневом контейнере. Например, URL-адрес наподобие этого приведет к коду состояния 400 (неправильный запрос):

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

В приведенном выше примере служба BLOB-объектов считывает имя контейнера как myblob и ожидает имя BLOB-объекта после завершающей косой черты. Запрос сформирован неправильно из-за отсутствующего имени большого двоичного объекта.

Следующий URL-адрес действителен для операции с BLOB-объектом в корневом контейнере:

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

Создание контейнера с именем mycontainer:


PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container

Создание BLOB-объекта с именем myblob в корневом контейнере:


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

Можно также явно определить корневой контейнер:


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

Создание BLOB-объекта с именем myblob в контейнере mycontainer:

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

Создание BLOB-объекта с именем photos/myphoto в контейнере mycontainer:

PUT https://myaccount.blob.core.windows.net/mycontainer/photos/myphoto

Задание метаданных в BLOB-объекте myblob в корневом контейнере:


PUT https://myaccount.blob.core.windows.net/myblob?comp=metadata

Удаление контейнера с именем mycontainer:


DELETE https://myaccount.blob.core.windows.net/mycontainer?restype=container

Удаление корневого контейнера:


DELETE https://myaccount.blob.core.windows.net/$root?restype=container

Удаление BLOB-объекта myblob из корневого контейнера:


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

Можно также явно определить корневой контейнер:


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

См. также

Показ:
© 2014 Microsoft