Работа с корневым контейнером
Корневой контейнер является контейнером по умолчанию для вашей учетной записи хранилища. Учетная запись хранилища может иметь один корневой контейнер. Корневой контейнер должен быть явно создан и иметь имя $root
.
К большим двоичным объектам, хранящимся в корневом контейнере, можно обращаться без указания имени корневого контейнера. Таким образом, можно обращаться к большому двоичному объекту на высшем уровне иерархии учетной записи хранения. Например, теперь вы можете обратиться к BLOB-объекту, который находится в корневом контейнере, следующим образом.
https://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
заголовок при создании контейнера или вызвав метод Set Container ACL после его существования. См. дополнительные сведения об ограничении доступа к контейнерам и BLOB-объектам.
Если корневой контейнер присутствует, он будет отображаться при выполнении операции Перечисление контейнеров для учетной записи хранения.
При выполнении операции перечисления BLOB-объектов в корневом контейнере корневой контейнер не отображается в URL-адресах ресурсов для возвращаемых BLOB-объектов. В синтаксисе следующего запроса показан способ вызова List Blobs
для корневого контейнера.
GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list HTTP/1.1
Важно!
BLOB-объект в корневом контейнере не может содержать косую черту (/) в своем имени.
Примеры
В следующих примерах показано, как работать с контейнерами и ресурсами BLOB-объектов, включая корневой контейнер.
Операции GET
Перечисление контейнеров в учетной записи хранилища:
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
Примечание
Будьте внимательны и не включайте заключительную косую черту (/) при ссылках на BLOB-объект в корневом контейнере. Например, URL-адрес наподобие этого приведет к коду состояния 400 (неправильный запрос):
https://myaccount.blob.core.windows.net/myblob/
В приведенном выше примере служба BLOB-объектов считывает имя контейнера как myblob
и ожидает имя BLOB-объекта после завершающей косой черты. Запрос сформирован неправильно из-за отсутствующего имени большого двоичного объекта.
Следующий URL-адрес действителен для операции с BLOB-объектом в корневом контейнере:
https://myaccount.blob.core.windows.net/myblob
Операции PUT
Создание контейнера с именем 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
Операции DELETE
Удаление контейнера с именем 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
См. также:
Операции HTTP в ресурсах службы BLOB-объектов
Именование контейнеров, больших двоичных объектов и метаданных и ссылка на них
Управление версиями для служб хранилища Azure