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


Задание свойств службы файлов

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

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

Протокол общей папки с включенным доступом В наличии
Малый и средний бизнес (SMB) Да
Сетевая файловая система (NFS) Да

Просьба

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

Метод Запрос URI Версия HTTP
ПОСТАВИТЬ 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-kibibyte (KiB), записанным в журналах Аналитики хранилища при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе "Мониторинг Файлы 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-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-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>semicolon-separated-list-of-smb-versions</Versions>
            <AuthenticationMethods>semicolon-separated-list-of-auth-methods</AuthenticationMethod>
            <KerberosTicketEncryption>semicolon-separated-list-of-kerberos-encryption-algorithms</KerberosTicketEncryption>
            <ChannelEncryption>semicolon-separated-list-of-smb-channel-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 определенными заголовками и двумя префиксными заголовками. Каждый заголовок может содержать до 256 символов.
MaxAgeInSeconds Требуется, если CorsRule элемент присутствует. Количество секунд, в течение которых клиент или браузер должен кэшировать предварительный ответ.
AllowedHeaders Требуется, если CorsRule элемент существует. Разделенный запятыми список заголовков, которые могут быть частью запроса между источниками. Ограничено 64 определенными заголовками и 2 префиксными заголовками. Каждый заголовок может содержать до 256 символов.
AllowedMethods Обязательный, если CorsRule элемент существует. Разделенный запятыми список методов HTTP, которые могут выполняться источником. Для файлов Azure разрешенные методы: DELETE, GET, HEAD, MERGE, POSTи OPTIONSPUT.
ShareDeleteRetentionPolicy Необязательно. Свойства обратимого удаления для общих папок Azure в этой учетной записи хранения.
Days Необязательно. Указывает количество дней хранения общей папки Azure (обратимое удаление). Минимальное значение, которое можно указать 1, и максимальное значение — 365 (один год).
Enabled Необязательно. Указывает, включена ли учетная запись хранения с поддержкой обратимого удаления для файлов Azure.
ProtocolSettings Необязательно. Группирует параметры протоколов файловой системы.
SMB Необязательно. Группирует параметры для SMB.
Multichannel Необязательно. Содержит параметры для многоканальных модулей SMB. Многоканал SMB содержит логическое свойство, которое переключает Enabled состояние мультиканала SMB.
Versions Необязательно по состоянию на версию 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.

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

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

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

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

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

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

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

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

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

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

Дополнительные сведения о правилах 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.

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