Поделиться через


Получение свойств службы BLOB-объектов

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

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

Запрос

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

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
GET https://<account-name>.blob.core.windows.net/?restype=service&comp=properties HTTP/1.1

Примечание

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

Параметры универсального кода ресурса (URI)

Параметр универсального кода ресурса (URI) Описание
restype=service&comp=properties Обязательный. Сочетание обеих строк запроса требуется для получения свойств хранилища BLOB-объектов.
timeout Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в разделе Установка времени ожидания для операций с хранилищем BLOB-объектов.

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

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

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи хранения и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Хранилище BLOB-объектов Azure.

Текст запроса

Нет.

Ответ

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

Код состояния

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

Заголовки ответов

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

Заголовок ответа Описание
x-ms-request-id Однозначно идентифицирует запрос, выполненный к службе.
x-ms-version Указывает версию операции, которая используется для ответа. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
x-ms-client-request-id Может использоваться для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, этот заголовок отсутствует в ответе.

Текст ответа

Текст ответа для версии 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>  
    <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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</StorageServiceProperties>  
  

По состоянию на версию 29.07.2017 текст ответа выглядит следующим образом:

  
<?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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
</StorageServiceProperties>  
  

Начиная с версии 2018-03-28, текст ответа выглядит следующим образом:

<?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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

По состоянию на версию 2019-12-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>  
    <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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <DefaultIndexDocumentPath>absolute-path-of-the-default-index-page</DefaultIndexDocumentPath>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

Элементы основного текста ответа описываются в следующей таблице.

Имя элемента Описание
Logging Группирует параметры аналитики Azure Logging.
Метрики Группы параметры метрик Azure Analytics. Параметры метрик предоставляют сводку статистики запросов, сгруппированную по API в почасовых статистических выражениях для больших двоичных объектов.
HourMetrics Группирует параметры аналитики Azure HourMetrics. Параметры HourMetrics предоставляют сводку статистики запросов, сгруппированных по API в почасовых статистических выражениях для BLOB-объектов.
MinuteMetrics Группирует параметры аналитики Azure MinuteMetrics. Параметры MinuteMetrics обеспечивают статистику запроса на каждую минуту для больших двоичных объектов.
Версия Версия аналитик хранилища в данный момент.
Удалить Применяется только к настройке ведения журнала. Указывает, вносятся ли в журнал запросы удаления.
Чтение Применяется только к настройке ведения журнала. Указывает, вносятся ли в журнал запросы чтения.
запись Применяется только к настройке ведения журнала. Указывает, вносятся ли в журнал запросы записи.
Enabled Указывает, включены ли метрики для хранилища BLOB-объектов.

Если географически избыточная репликация с доступом для чтения включена, то будет вестись сбор как первичных, так и вторичных показателей. Если геоизбыточная репликация с доступом на чтение не включена, собираются только основные метрики.
IncludeAPIs Применяется только к настройкам метрики. Указывает, должны ли метрики сформировать сводную статистику для вызываемых операций API-интерфейса.
RetentionPolicy/Enabled Указывает, включена ли политика хранения для службы хранилища Azure.
RetentionPolicy/Days Указывает число дней, в течение которых данные метрики или журнала будут сохраняться. Все данные, которые старше этого значения, будут удалены.
DefaultServiceVersion Указывает версию по умолчанию, используемую для запросов к Хранилищу BLOB-объектов, если версия входящего запроса не указана. Значения включают версию 2008-10-27 и более поздние. Дополнительные сведения о применимых версиях см. в статье Управление версиями для служб хранилища Azure.
Cors Группирует все правила CORS.
элемент Группирует параметры для правил CORS.
AllowedOrigins Список доменов источников с разделителями-запятыми, разрешенных для CORS, либо символ «*», если разрешены все домены.
ExposedHeaders Список заголовков ответов с разделителями-запятыми для предоставления клиентам CORS.
MaxAgeInSeconds Число секунд, в течение которых клиент или браузер должен кэшировать предполетный ответ.
AllowedHeaders Разделенный запятыми список заголовков, которые могут быть частью запроса между источниками.
AllowedMethods Список методов HTTP с разделителями-запятыми, которые разрешено выполнять источником. Для службы хранилища Azure допустимыми методами являются DELETE, GET, HEAD, MERGE, POST, OPTIONS и PUT.
DeleteRetentionPolicy Группы параметры удаления Azure. Применяется только к хранилищу BLOB-объектов.
Enabled Указывает, сохраняется ли удаленный большой двоичный объект или snapshot с помощью операции удаления.
Дни Указывает количество дней, в течение которых должен храниться удаленный BLOB-объект. Все данные, которые старше этого значения, будут удалены без возможности восстановления.
StaticWebsite Группы параметры staticwebsite. Применяется только к хранилищу BLOB-объектов.
StaticWebsite/Enabled Указывает, включена ли поддержка staticwebsite для указанной учетной записи.
StaticWebsite/IndexDocument Веб-страница, которую служба хранилища Azure обслуживает для запросов к корню веб-сайта или любой вложенной папке (например, index.html). Для этого значения учитывается регистр.
StaticWebsite/DefaultIndexDocumentPath Абсолютный путь к веб-странице, которую служба хранилища Azure обслуживает для запросов, которые не соответствуют существующему файлу. Содержимое страницы возвращается с HTTP 200 OK помощью (например, index.html). Элемент является взаимоисключающим с StaticWebsite/IndexDocument. Для этого значения учитывается регистр.
StaticWebsite/ErrorDocument404Path Абсолютный путь к веб-странице, которую служба хранилища Azure обслуживает для запросов, которые не соответствуют существующему файлу. Содержимое страницы возвращается с HTTP 404 Not Found помощью (например, error/404.html). Для этого значения учитывается регистр.

Авторизация

Авторизация требуется при вызове любой операции доступа к данным в службе хранилища Azure. Вы можете авторизовать операцию, Get Blob Service Properties как описано ниже.

Важно!

Корпорация Майкрософт рекомендует использовать Microsoft Entra ID с управляемыми удостоверениями для авторизации запросов к службе хранилища Azure. Microsoft Entra ID обеспечивает более высокий уровень безопасности и простоту использования по сравнению с авторизацией с общим ключом.

Служба хранилища Azure поддерживает использование Microsoft Entra ID для авторизации запросов к данным BLOB-объектов. С помощью Microsoft Entra ID можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности. Субъектом безопасности может быть пользователь, группа, субъект-служба приложения или управляемое удостоверение Azure. Субъект безопасности проходит проверку подлинности Microsoft Entra ID для возврата маркера OAuth 2.0. Затем маркер можно использовать для авторизации запроса к службе BLOB-объектов.

Дополнительные сведения об авторизации с помощью Microsoft Entra ID см. в статье Авторизация доступа к BLOB-объектам с помощью Microsoft Entra ID.

Разрешения

Ниже перечислены действия RBAC, необходимые Microsoft Entra пользователю, группе, управляемому удостоверению или субъекту-службе для вызова Get Blob Service Properties операции, а также встроенная роль Azure RBAC с минимальными привилегиями, которая включает это действие.

Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.

Remarks

Нет. Дополнительные сведения о том, как эта операция влияет на затраты, см. в разделе Сведения о выставлении счетов .

Выставление счетов

Запросы на ценообразование могут поступать от клиентов, использующих API хранилища BLOB-объектов, напрямую через REST API хранилища BLOB-объектов или из клиентской библиотеки службы хранилища Azure. Эти запросы начисляют плату за транзакцию. Тип транзакции влияет на способ оплаты учетной записи. Например, транзакции чтения начисляются к категории выставления счетов, отличной от категории операций записи. В следующей таблице показана категория выставления счетов для Get Blob Service Properties запросов на основе типа учетной записи хранения.

Операция Тип учетной записи хранения Категория выставления счетов
Получение свойств службы BLOB-объектов Блочный BLOB-объект (ценовая категории "Премиум")
Общего назначения версии 2 (цен. категория "Стандартный")
Другие операции
Получение свойств службы BLOB-объектов Стандартная общего назначения версии 1 Операции чтения

Дополнительные сведения о ценах для указанной категории выставления счетов см. в разделе Цены на Хранилище BLOB-объектов Azure.

Пример запроса и ответа

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

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

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

x-ms-version: 2018-03-28
x-ms-date: Tue, 12 Sep 2018 23:38:36 GMT
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.blob.core.windows.net

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

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2018-03-28
Date: Tue, 12 Sep 2018 23:38:35 GMT  

Ответ включает следующий текст 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>2017-07-29</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true</Enabled>
        <Days>5</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>  
        <Enabled>true</Enabled>  
        <IndexDocument>index.html</IndexDocument>  
        <ErrorDocument404Path>error/404.html</ErrorDocument404Path>  
    </StaticWebsite>      
</StorageServiceProperties>    
  

См. также раздел

Аналитика службы хранилища
Поддержка CORS для служб хранилища Azure
Спецификация CORS HTTP