Была ли эта страница полезной?
Ваш отзыв об этом контенте важен для нас. Расскажите нам о том, что вы думаете.
Дополнительный отзыв?
1500 символов осталось
Экспорт (0) Печать
Развернуть все

Задание свойств службы BLOB-объектов

Обновлено: Апрель 2015 г.

Свойства наборов операции Set Blob Service Properties для конечной точки службы BLOB-объектов учетной записи хранения, включая свойства для Аналитика хранилища и правил CORS (общий доступ к ресурсам независимо от источника). Дополнительные сведения о правилах CORS см. в разделе Поддержка общего доступа к ресурсам независимо от источника (CORS) для служб хранилища Azure.

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

Запрос Set Blob Service Properties можно указать следующим образом. Рекомендуется использовать протокол HTTPS. Замените <account-name> именем нужной учетной записи хранилища.

 

Метод URI запроса Версия HTTP

PUT

https://<account-name>.blob.core.windows.net/?restype=service&comp=properties

HTTP/1.1

Обратите внимание, что URI должен всегда включать косую черту (/) для отделения имени узла от частей пути и запроса URI. Для этой операции компонент пути в URI будет пустым.

 

Параметр URI Описание

restype=service&comp=properties

Обязательно. Сочетание обеих строк запроса обязательно для задания свойств службы хранилища.

timeout

Необязательно. Параметр timeout указывается в секундах. Дополнительные сведения см. в Задание времени ожидания для операций службы BLOB-объектов.

В следующей таблице перечислены обязательные и необязательные заголовки запросов.

 

Заголовок запроса Описание

Authorization

Обязательно. Указывает схему проверки подлинности, имя учетной записи хранилища и сигнатуру. Дополнительные сведения см. в Проверка подлинности для служб хранения Azure.

Date или x-ms-date

Обязательно. Задает время в формате UTC для запроса. Дополнительные сведения см. в Проверка подлинности для служб хранения Azure.

x-ms-version

Требуется для запросов с проверкой подлинности. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в Управление версиями для служб хранилища Azure.

x-ms-client-request-id

Необязательно. Предоставляет сформированное клиентом непрозрачное значение с ограничением в 1 КБ, которое записывается в журналы аналитики, когда включено ведение журналов аналитики хранилища. Этот заголовок настоятельно рекомендуется использовать для соотнесения действий, выполняемых на стороне клиента, с запросами, получаемыми сервером. Дополнительные сведения см. в разделах Сведения о ведении журнала службы аналитики хранилища и Ведение журналов в Azure: использование журналов для отслеживания запросов к хранилищу.

Текст запроса для версии 2012-02-12 и более ранних имеет следующий формат:

<?xml version="1.0" encoding="utf-8"?> <StorageServiceProperties>     <Logging>         <Version>version-number</Version>         <Delete>true|false</Delete>         <Read>true|false</Read>         <Write>true|false</Write>         <RetentionPolicy>             <Enabled>true|false</Enabled>             <Days>number-of-days</Days>         </RetentionPolicy>     </Logging>     <Metrics>         <Version>version-number</Version>         <Enabled>true|false</Enabled>         <IncludeAPIs>true|false</IncludeAPIs>         <RetentionPolicy>             <Enabled>true|false</Enabled>             <Days>number-of-days</Days>         </RetentionPolicy>     </Metrics>     <!-- The DefaultServiceVersion element can only be set for the Blob service and the request must be made using version 2011-08-18 or later -->     <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion> </StorageServiceProperties>

Текст запроса для версии 2013-08-15 и более поздних имеет следующий формат:

<?xml version="1.0" encoding="utf-8"?> <StorageServiceProperties>     <Logging>         <Version>version-number</Version>         <Delete>true|false</Delete>         <Read>true|false</Read>         <Write>true|false</Write>         <RetentionPolicy>             <Enabled>true|false</Enabled>             <Days>number-of-days</Days>         </RetentionPolicy>     </Logging>     <HourMetrics>         <Version>version-number</Version>         <Enabled>true|false</Enabled>         <IncludeAPIs>true|false</IncludeAPIs>         <RetentionPolicy>             <Enabled>true|false</Enabled>             <Days>number-of-days</Days>         </RetentionPolicy>     </HourMetrics>     <MinuteMetrics>         <Version>version-number</Version>         <Enabled>true|false</Enabled>         <IncludeAPIs>true|false</IncludeAPIs>         <RetentionPolicy>             <Enabled>true|false</Enabled>             <Days>number-of-days</Days>         </RetentionPolicy>     </MinuteMetrics>     <Cors>         <CorsRule>             <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>             <AllowedMethods>comma-separated-list-of-HTTP-verb</AllowedMethods>             <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>             <ExposedHeaders>comma-seperated-list-of-response-headers</ExposedHeaders>             <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>         </CorsRule>     </Cors>     <!-- The DefaultServiceVersion element can only be set for the Blob service and the request must be made using version 2011-08-18 or later -->     <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion> </StorageServiceProperties>

Начиная с версии 2013-08-15, можно вызвать метод Set Blob Service Properties с одним или несколькими корневыми элементами, указанными в тексте запроса. Корневые элементы включают:

  • Logging

  • HourMetrics

  • MinuteMetrics

  • Cors

  • DefaultServiceVersion

Больше нет необходимости указывать каждый корневой элемент для данного запроса. Если корневой элемент не указан, то сохраняются существующие параметры службы для этой функции. Однако при указании того или иного корневого элемента необходимо указать все дочерние элементы для него.

В следующей таблице описываются элементы текста запроса.

 

Имя элемента Описание

Logging

Не обязательно начиная с версии 2013-08-15. Обязательно для предыдущих версий. Группирует параметры службы Azure Analytics Logging .

Metrics

В версии 2012-02-12 и более ранних обязателен. Неприменимо для версии 2013-08-15 и более поздних. Группирует параметры службы Azure Analytics Metrics . Этот Metrics предоставляют сводку статистики запросов, сгруппированную по API в почасовую статистику для BLOB-объектов.

HourMetrics

Необязательно для версии 2013-08-15 и более поздних; неприменимо для более ранних версий. Группирует параметры службы Azure Analytics HourMetrics . Этот HourMetrics предоставляют сводку статистики запросов, сгруппированную по API в почасовую статистику для BLOB-объектов.

MinuteMetrics

Необязательно для версии 2013-08-15 и более поздних; неприменимо для более ранних версий. Группирует параметры службы Azure Analytics MinuteMetrics . Этот MinuteMetrics предоставляют статистику запроса на каждую минуту для BLOB-объектов. Для версий до 2013-08-15 MinuteMetrics не включены в текст ответа.

Версия

Обязателен, если указаны параметры Logging, Metrics, HourMetricsили MinuteMetrics . Настраиваемая версия аналитики хранилища.

Удалить

Обязателен, если указаны параметры Logging, Metrics, HourMetricsили MinuteMetrics . Применяется только к настройке ведения журнала. Указывает, следует ли вносить в журнал все запросы удаления.

Чтение

Обязателен, если указаны параметры Logging, Metrics, HourMetricsили MinuteMetrics . Применяется только к настройке ведения журнала. Указывает, следует ли вносить в журнал все запросы чтения.

Запись

Обязателен, если указаны параметры Logging, Metrics, HourMetricsили MinuteMetrics . Применяется только к настройке ведения журнала. Указывает, следует ли вносить в журнал все запросы записи.

Включено

Обязательно. Указывает, включены ли метрики для службы BLOB-объектов.

Если географически избыточная репликация с доступом для чтения включена, то будет вестись сбор как первичных, так и вторичных показателей. Если географически избыточная репликация с доступом для чтения не включена, то будет вестись сбор только первичных показателей.

IncludeAPIs

Обязателен, только если показатели включены. Применяется только к настройкам метрики. Указывает, должна ли метрика создавать сводную статистику для вызываемых операций API.

RetentionPolicy/Enabled

Обязательно. Указывает, включена ли политика сохранения для службы хранилища.

RetentionPolicy/Days

Обязательно, если политика сохранения включена. Указывает число дней, в течение которых данные метрики или журнала должны сохраняться. Данные, которые старше указанного значения, удаляются. Минимальное значение - 1; наибольшее значение - 365 (один год).

DefaultServiceVersion

Необязательно. Чтобы задать DefaultServiceVersion, необходимо вызвать Set Blob Service Properties с помощью версии 2011-08-18 или более поздней версии. DefaultServiceVersion указывает версию по умолчанию для использования с запросами к службе BLOB-объектов, если версия входящего запроса не указана. Возможные значения включают версию 2008-10-27 и все более поздние версии. Дополнительные сведения о применимых версиях см. в разделе Управление версиями для служб хранилища Azure.

Применяется только к службе BLOB-объектов.

Cors

Необязательно. Этот Cors элемент поддерживается для версии 2013-08-15 или более поздней. Группирует все правила CORS.

При пропуске этой группы элементов существующие параметры CORS перезаписаны не будут.

CorsRule

Необязательно. Задает правило CORS для службы BLOB-объектов. Можно включить до 5 элементов CorsRule в запрос. Если элементы CorsRule не включены в текст запроса, будут удалены все правила CORS, а CORS будет отключено для службы BLOB-объектов.

AllowedOrigins

Обязателен, если присутствует элемент CorsRule . Список доменов источников с разделителями-запятыми, которые будут разрешены согласно CORS, либо символ «*», чтобы разрешить все домены. Ограничен 64 доменами источников. Каждый разрешенный источник может содержать до 256 символов.

ExposedHeaders

Обязателен, если присутствует элемент CorsRule . Список заголовков ответов с разделителями-запятыми для предоставления клиентам CORS. Ограничен 64 определенными заголовками и 2 заголовками с префиксами. Каждый заголовок может содержать до 256 символов.

MaxAgeInSeconds

Обязателен, если присутствует элемент CorsRule . Число секунд, в течение которых клиент или браузер должен кэшировать предполетный ответ.

AllowedHeaders

Обязателен, если существует элемент CorsRule . Список допустимых заголовков с разделителями-запятыми, которые должны быть частью запроса общего доступа. Ограничен 64 определенными заголовками и 2 заголовками с префиксами. Каждый заголовок может содержать до 256 символов.

AllowedMethods

Обязателен, если существует элемент CorsRule . Список методов HTTP с разделителями-запятыми, которые разрешено выполнять источником. Для хранилища Azure разрешенные методы: DELETE, GET, HEAD, MERGE, POST, OPTIONS и PUT.

Ответ включает код состояния HTTP и набор заголовков ответа.

Успешная операция возвращает код состояния 202 (принято).

Сведения о кодах состояния см. в разделе Коды состояний и ошибок управления службами.

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

 

Заголовок ответа Описание

x-ms-request-id

Значение, которое однозначно определяет запрос к службе.

x-ms-version

Задает версию операции, используемой для ответа. Дополнительные сведения см. в Управление версиями для служб хранилища Azure.

Отсутствует.

Вызов этой операции доступен только владельцу учетной записи.

К правилам CORS в хранилище Azure применяются следующие ограничения.

  • Можно сохранить не более 5 правил.

  • Максимальный размер всех параметров правил CORS в запросе, за исключением XML-тегов, не должен превышать 2 КБ.

  • Длина разрешенного заголовка, представленного заголовка или разрешенного источника не должна превышать 256 символов.

  • Разрешенные и представленные заголовки могут быть следующими.

    • Литеральные заголовки с точным именем заголовка, например x-ms-meta-processed. В запросе может быть указано не более 64 литеральных заголовков.

    • Заголовки с префиксом, где указан префикс заголовка, например x-ms-meta-data*. Указанный таким образом префикс разрешает или предоставляет любой заголовок, который начинается с этого префикса. В запросе можно указать не более 2 заголовков с префиксами.

  • Методы (или HTTP-команды), указанные в элементе AllowedMethods, должны соответствовать методам, поддерживаемым интерфейсами API службы хранилища Azure. Поддерживаемые методы: DELETE, GET, HEAD, MERGE, POST, OPTIONS и PUT.

Указание правил CORS в запросе не обязательно. При вызове метода Set Blob Service Properties без указания элемента Cors в тексте запроса все существующие правила CORS сохраняются.

Чтобы отключить CORS, вызовите метод Set Blob Service Properties с пустыми параметрами правил CORS (т. е.</Cors>) и без внутренних правил CORS. Этот вызов удалит все существующие правила, выключив CORS службы BLOB-объектов.

Требуются все элементы правила CORS, если указан элемент CorsRule . Запрос завершится ошибкой с кодом 400 (Bad Request), если какой-либо элемент отсутствует.

Начиная с версии 2013-08-15, элементы параметров XML являются необязательными, поэтому обновление указанного элемента можно делать с помощью отправки XML, который содержит только обновленный элемент, и другие параметры не затрагиваются.

Дополнительные сведения о правилах CORS и логике оценки см. в разделе Поддержка общего доступа к ресурсам независимо от источника (CORS) для служб хранилища Azure.

Следующий образец URI выполняет запрос на изменение свойств службы BLOB-объектов для вымышленной учетной записи хранилища с именем myaccount:

PUT https://myaccount.blob.core.windows.net/?restype=service&comp=properties HTTP/1.1

Запрос отправляется со следующими заголовками:

x-ms-version: 2013-08-15 x-ms-date: Mon, 21 Oct 2013 04:28:19 GMT Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE= Host: myaccount.blob.core.windows.net

Запрос отправляется со следующим текстом XML:

<?xml version="1.0" encoding="utf-8"?> <StorageServiceProperties>     <Logging>         <Version>1.0</Version>         <Delete>true</Delete>         <Read>false</Read>         <Write>true</Write>         <RetentionPolicy>             <Enabled>true</Enabled>             <Days>7</Days>         </RetentionPolicy>     </Logging>     <HourMetrics>         <Version>1.0</Version>         <Enabled>true</Enabled>         <IncludeAPIs>false</IncludeAPIs>         <RetentionPolicy>             <Enabled>true</Enabled>             <Days>7</Days>         </RetentionPolicy>     </HourMetrics>     <MinuteMetrics>         <Version>1.0</Version>         <Enabled>true</Enabled>         <IncludeAPIs>true</IncludeAPIs>         <RetentionPolicy>             <Enabled>true</Enabled>             <Days>7</Days>         </RetentionPolicy>     </MinuteMetrics>     <Cors>         <CorsRule>             <AllowedOrigins>http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>             <AllowedMethods>GET,PUT</AllowedMethods>             <MaxAgeInSeconds>500</MaxAgeInSeconds>             <ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>             <AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>         </CorsRule>     </Cors>     <DefaultServiceVersion>2013-08-15</DefaultServiceVersion> </StorageServiceProperties>

После отправки запроса возвращается следующий ответ:

HTTP/1.1 202 Accepted Connection: Keep-Alive Transfer-Encoding: chunked Date: Mon, 21 Oct 2013 04:28:21 GMT Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30 x-ms-version: 2013-08-15 

См. также

Показ:
© 2015 Microsoft