Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Операция Create Container создает новый контейнер под указанной учетной записью. Если контейнер с таким же именем уже существует, операция завершается ошибкой.
Ресурс контейнера включает метаданные и свойства для этого контейнера. Он не включает список больших двоичных объектов в контейнере.
Просьба
Вы можете создать запрос, Create Container как показано ниже. Мы рекомендуем использовать протокол HTTPS. Имя контейнера может содержать только строчные буквы и должно соответствовать этим правилам именования. В URL-адресе замените myaccount именем учетной записи хранения.
| Метод | Запрос URI | Версия HTTP |
|---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?restype=container |
HTTP/1.1 |
Запрос на обслуживание эмулированного хранилища
При отправке запроса к эмулируемой службе хранилища укажите имя узла эмулятора и порт хранилища BLOB-объектов как 127.0.0.1:10000, а затем имя эмулируемой учетной записи хранения.
| Метод | Запрос URI | Версия HTTP |
|---|---|---|
PUT |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container |
HTTP/1.1 |
Дополнительные сведения см. в статье Использование эмулятора Azurite для разработки локального хранилища Azure.
Параметры URI
В URI запроса можно указать следующие дополнительные параметры.
| Параметр | Description |
|---|---|
timeout |
Необязательно. Параметр timeout выражается в секундах. Дополнительные сведения см. в статье Установка времени ожидания для операций с хранилищем BLOB-объектов. |
Заголовки запросов
Обязательные и необязательные заголовки запросов описаны в следующей таблице:
| Заголовок запроса | Description |
|---|---|
Authorization |
Обязательное. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
Date или x-ms-date |
Обязательное. Указывает время во всемирном координированном времени (UTC) для запроса. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
x-ms-version |
Требуется для всех авторизованных запросов. Указывает версию операции, используемой для этого запроса. Дополнительные сведения см. в статье Управление версиями для служб хранилища Azure. |
x-ms-meta-name:value |
Необязательно. Пара "имя-значение", связанная с контейнером в качестве метаданных. Примечание: Начиная с версии 2009-09-19, имена метаданных должны соответствовать правилам именования для идентификаторов C#. |
x-ms-blob-public-access |
Необязательно. Указывает, можно ли получить доступ к данным в контейнере в открытом доступе, а также уровень доступа. Возможные значения включают: - containerУказывает полный общий доступ на чтение для данных контейнеров и больших двоичных объектов. Клиенты могут перечислять большие двоичные объекты в контейнере с помощью анонимного запроса, но не могут перечислять контейнеры в учетной записи хранения.- blob: Указывает общий доступ на чтение для больших двоичных объектов. Данные BLOB-объектов в этом контейнере можно прочитать с помощью анонимного запроса, но данные контейнера недоступны. Клиенты не могут перечислять большие двоичные объекты в контейнере с помощью анонимного запроса.Если этот заголовок не включен в запрос, данные контейнера становятся частными для владельца учетной записи. |
x-ms-client-request-id |
Необязательно. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Мониторинг хранилища BLOB-объектов Azure. |
Заголовки запросов (области шифрования)
Начиная с версии 2019-02-02, вы можете указать следующие заголовки в запросе, чтобы задать область шифрования по умолчанию в контейнере. Если вы зададите область шифрования, она автоматически будет использоваться для шифрования всех больших двоичных объектов, отправляемых в контейнер.
| Заголовок запроса | Description |
|---|---|
x-ms-default-encryption-scope |
Обязательное. Область шифрования, устанавливаемая по умолчанию в контейнере. |
x-ms-deny-encryption-scope-override |
Обязательное. Значения: true или false. Установка этого заголовка гарантирует true , что каждый большой двоичный объект, отправляемый в этот контейнер, использует область шифрования по умолчанию. Если этот заголовок имеет значение false, клиент может отправить большой двоичный объект с областью шифрования, отличной от области по умолчанию. |
Это важно
Если для контейнера x-ms-deny-encryption-scope-override задано значение true, обновления больших двоичных объектов, которые не имеют области шифрования или ключи шифрования, предоставленные клиентом, не разрешены в этом контейнере. Эти BLOB-объекты остаются читаемыми, и пользователи могут перемещать BLOB-объекты из контейнера в один без политики переопределения области шифрования для выполнения обновлений.
Основное содержание запроса
Нет.
Пример запроса
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer?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
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=
Ответ
Ответ включает код состояния HTTP и набор заголовков ответа.
Код состояния
При успешной операции возвращается код состояния 201 (Создано).
Сведения о кодах состояния см. в разделе Коды состояния и коды ошибок.
Заголовки ответа
Ответ для этой операции включает заголовки, описанные в следующей таблице. Ответ также может содержать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.
| Заголовок ответа | Description |
|---|---|
ETag |
ETag для контейнера. Если версия запроса — 2011-08-18 или более поздняя, значение ETag заключается в кавычки. |
Last-Modified |
Возвращает дату и время последнего изменения контейнера. Формат даты соответствует RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках. Любая операция, которая изменяет контейнер, его свойства или метаданные, обновляется с момента последнего изменения. Операции с большими двоичными объектами не влияют на время последнего изменения контейнера. |
x-ms-request-id |
Однозначно идентифицирует сделанный запрос. Вы можете использовать его для устранения неполадок с запросом. Дополнительные сведения см. в статье Устранение неполадок с операциями API |
x-ms-version |
Указывает версию хранилища BLOB-объектов, которая используется для выполнения запроса. Этот заголовок возвращается для запросов, выполненных с версией 2009-09-19 или более поздней. |
Date |
Значение даты и времени в формате UTC, созданное службой, которое указывает на время, в которое был инициирован ответ. |
x-ms-client-request-id |
Может использоваться для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка, x-ms-client-request-id если он присутствует в запросе, и значение содержит не более 1024 видимых символов ASCII.
x-ms-client-request-id Если заголовка нет в запросе, он не будет присутствовать в ответе. |
Основная часть ответа
Нет.
Пример ответа
Response status:
HTTP/1.1 201 Created
Response headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 23:00:12 GMT
ETag: “0x8CB14C3E29B7E82”
Last-Modified: Sun, 25 Sep 2011 23:00:06 GMT
x-ms-version: 2011-08-18
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Authorization
Авторизация требуется при вызове любой операции доступа к данным в службе хранилища Azure. Вы можете авторизовать операцию, Create Container как описано ниже.
Это важно
Корпорация Майкрософт рекомендует использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов к службе хранилища Azure. Microsoft Entra ID обеспечивает превосходную безопасность и простоту использования по сравнению с авторизацией с помощью общего ключа.
Служба хранилища Azure поддерживает использование идентификатора Microsoft Entra для авторизации запросов к данным BLOB-объектов. С помощью идентификатора Microsoft Entra ID можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности. Субъектом безопасности может быть пользователь, группа, субъект-служба приложений или управляемое удостоверение Azure. Принципал безопасности проходит проверку подлинности с помощью Microsoft Entra ID, чтобы вернуть токен OAuth 2.0. Затем маркер можно использовать для авторизации запроса к службе BLOB-объектов.
Дополнительные сведения об авторизации с помощью Microsoft Entra ID см. в статье Авторизация доступа к большим двоичным объектам с помощью Microsoft Entra ID.
Permissions
Ниже перечислены действия RBAC, необходимые для вызова Create Container операции пользователем, группой, управляемым удостоверением или субъектом-службой Microsoft Entra, а также встроенная роль Azure RBAC с наименьшими привилегиями, которая включает это действие:
- Действие Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/write
- Встроенная роль с наименьшими привилегиями:Участник данных BLOB-объектов хранилища
Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
Замечания
Контейнеры создаются непосредственно в учетной записи хранения. Невозможно вложить один контейнер в другой.
При необходимости вы можете создать контейнер по умолчанию или корневой контейнер для учетной записи хранения. Корневой контейнер позволяет ссылаться на большой двоичный объект с верхнего уровня иерархии учетных записей хранения, не обращаясь к имени контейнера.
Чтобы добавить корневой контейнер в учетную запись хранения, создайте контейнер с именем $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
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=
Вы можете указать метаданные для контейнера при его создании, включив в запрос один или несколько заголовков метаданных. Формат заголовка метаданных — x-ms-meta-name:value.
Если контейнер с тем же именем удаляется при Create Container вызове, сервер возвращает код состояния 409 (конфликт) и предоставляет дополнительную информацию об ошибке, указывающую на то, что контейнер удаляется.
Выставление счетов
Запросы на оплату могут исходить от клиентов, использующих API хранилища BLOB-объектов, либо непосредственно через REST API хранилища BLOB-объектов, либо из клиентской библиотеки службы хранилища Azure. За эти запросы взимается плата за каждую транзакцию. Тип транзакции влияет на то, как будет взиматься плата со счета. Например, транзакции чтения относятся к другой категории выставления счетов, чем транзакции записи. В следующей таблице показана категория выставления счетов для Create Container запросов в зависимости от типа учетной записи хранения:
| Операция | Тип учетной записи хранения | Категория биллинга |
|---|---|---|
| Создать контейнер | Блочный BLOB-объект категории "Премиум". Стандартная версия общего назначения v2 Стандартный общего назначения версии 1 |
Операции со списком и созданием контейнера |
Сведения о ценах для указанной категории выставления счетов см. в статье Цены на хранилище BLOB-объектов Azure.
См. также
Авторизация запросов к службе хранилища Azure
Коды состояний и ошибок
Коды ошибок хранилища BLOB-объектов
Имена и ссылки на контейнеры, большие двоичные объекты и метаданные
Задание и извлечение свойств и метаданных для ресурсов BLOB-объектов
Настройка контейнера ACL