Установка свойств служб файлов

Операция Set File Service Properties задает свойства для ресурса файловой службы с помощью API FileREST. Хотя этот API полностью поддерживается, он является устаревшим API управления. Вместо этого рекомендуется использовать файловые службы — задать свойства службы, предоставляемые поставщиком ресурсов службы хранилища Azure (Microsoft.Storage). Дополнительные сведения о программном взаимодействии с ресурсом файловой службы с помощью поставщика ресурсов службы хранилища Azure см. в статье Операции в службе файлов.

Доступность протокола

Включенный протокол общей папки Доступно
SMB Да
NFS Да

Запрос

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

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

Примечание

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

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

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

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

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

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи хранения и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date or x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Эта операция доступна только в версии 2015-02-21 и более поздних. Чтобы включить метрики для службы файлов, необходимо указать версию 2015-04-05 или более позднюю.

Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы Аналитика Службы хранилища при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Файлы Azure.

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

Текст запроса для версии 2020-02-10 выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <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>    
    <ShareDeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>integer-value</Days>
    </ShareDeleteRetentionPolicy>
    <ProtocolSettings>
        <SMB>
            <Multichannel>
                <Enabled>true|false</Enabled>
            </Multichannel>
            <Versions>comma-separated-list-of-smb-versions</Versions>
            <AuthenticationMethods>comma-separated-list-of-auth-methods</AuthenticationMethod>
            <KerberosTicketEncryption>csv-of-kerb-encryption-algorithms</KerberosTicketEncryption>
            <ChannelEncryption>csv-of-smb-encryption-algorithms</ChannelEncryption>
        </SMB>
    </ProtocolSettings>
</StorageServiceProperties>  
  

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

  • HourMetrics
  • MinuteMetrics
  • Cors
  • ProtocolSettings

Элементы текста запроса описаны в следующей таблице:

Имя Описание
HourMetrics Необязательно для версии 2015-04-05 и более поздних версий. Неприменимо для более ранних версий. Группирует параметры Аналитика Службы хранилищаHourMetrics, которые предоставляют сводку статистики запросов, сгруппированных по API, в почасовых статистических выражениях.
MinuteMetrics Необязательно для версии 2015-04-05 и более поздних версий. Неприменимо для более ранних версий. Группирует параметры Аналитика Службы хранилищаMinuteMetrics, которые предоставляют статистику запросов за каждую минуту.
Version Требуется, если метрики включены. Настраиваемая версия аналитики хранилища. Используйте 1.0 для этого значения.
Enabled Обязательный. Указывает, включены ли метрики для службы файлов.
IncludeAPIs Обязателен, только если показатели включены. Указывает, должна ли метрика создавать сводную статистику для вызываемых операций API.
RetentionPolicy/Enabled Обязательный. Указывает, включена ли политика хранения для службы файлов. Если значение равно false, данные метрик сохраняются, и пользователь несет ответственность за их удаление.
RetentionPolicy/Days Обязательно, если политика сохранения включена. Указывает количество дней, в течение которых должны храниться данные метрик. Все данные старше этого значения удаляются. Минимальное значение, которое можно указать, — 1, а максимальное значение — 365 (один год). Данные метрик удаляются по истечении срока хранения.
Cors Необязательный элемент. Элемент Cors поддерживается для версии 2015-02-21 и более поздних версий. Группирует все правила общего доступа к ресурсам независимо от источника (CORS). Пропуск этой группы элементов не приводит к перезаписи существующих параметров CORS.
CorsRule Необязательный элемент. Задает правило CORS для службы файлов. В один запрос можно включить не более пяти элементов CorsRule. Если в тексте запроса нет CorsRule элементов, все правила CORS удаляются, а CORS отключен для службы файлов.
AllowedOrigins Требуется, CorsRule если элемент присутствует. Разделенный запятыми список доменов источника, которые разрешены через CORS или "*", чтобы разрешить все домены. Домен источника также может содержать подстановочный знак в поддомене, чтобы разрешить запросы через 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.
ShareDeleteRetentionPolicy Необязательный элемент. Свойства обратимого удаления общих папок Azure в этой учетной записи хранения.
Days Необязательный элемент. Указывает количество дней, в течение которых общая папка Azure должна храниться (обратимо удалена). Минимальное значение, которое можно указать, — 1, а максимальное значение — 365 (один год).
Enabled Необязательный элемент. Указывает, включена ли в учетной записи хранения обратимое удаление для Файлы Azure.
ProtocolSettings Необязательный элемент. Группирует параметры для протоколов файловой системы.
SMB Необязательный элемент. Группирует параметры для SMB.
Multichannel Необязательный элемент. Содержит параметры для многоканального SMB. SMB multichannel содержит Enabled логическое свойство, которое переключает состояние многоканального SMB.
Version Необязательный параметр в версии 2020-04-08. Разделенный запятыми список разрешенных версий SMB. Допустимые значения: SMB2.1, SMB3.0 и SMB3.1.1.
AuthenticationMethods Необязательный параметр в версии 2020-04-08. Разделенный запятыми список разрешенных методов проверки подлинности. Допустимые значения — NTLMv2 и Kerberos.
KerberosTicketEncryption Необязательный параметр в версии 2020-04-08. Разделенный запятыми список разрешенных алгоритмов шифрования билетов Kerberos. Допустимые значения — RC4-HMAC и AES-256.
ChannelEncryption Необязательный параметр в версии 2020-04-08. Разделенный запятыми список разрешенных протоколов шифрования каналов SMB. Допустимые значения: AES-128-CCM, AES-128-GCM и AES-256-GCM.

Ответ

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

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

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

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

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки 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 отсутствует в запросе, он не будет присутствовать в ответе.

Текст ответа

Нет.

Авторизация

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

Комментарии

К правилам CORS в Файлы Azure применяются следующие ограничения:

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

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

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

  • Допустимые заголовки и доступные заголовки могут быть следующими:

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

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

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

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

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

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

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

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

В следующем примере URI выполняется запрос на изменение свойств файловой службы для учетной записи хранения с именем myaccount:

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

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

x-ms-version: 2020-02-10  
x-ms-date: <date>  
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.file.core.windows.net  

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

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <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>
    <ShareDeleteRetentionPolicy>
        <Enabled>true</Enabled>
        <Days>7</Days>
    </ShareDeleteRetentionPolicy>
    <ProtocolSettings>
        <SMB>
            <Multichannel>
                <Enabled>true</Enabled>
            </Multichannel>
            <Versions>SMB3.1.1</Versions>
            <AuthenticationMethods>Kerberos</AuthenticationMethods>
            <KerberosTicketEncryption>AES-256</KerberosTicketEncryption>
            <ChannelEncryption>AES-256-GCM</ChannelEncryption>
        </SMB>
    </ProtocolSettings>
</StorageServiceProperties>  

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

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: <date>  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2015-04-05  

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

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

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