Establecer las propiedades del servicio de archivos

La Set File Service Properties operación establece las propiedades del recurso del servicio File mediante la API FileREST. Aunque esta API es totalmente compatible, es una API de administración heredada. En su lugar, se recomienda usar Servicios de archivos: establecer las propiedades del servicio, que proporciona el proveedor de recursos de Azure Storage (Microsoft.Storage). Para más información sobre la interacción mediante programación con el recurso de servicio de archivos mediante el proveedor de recursos de Azure Storage, consulte Operaciones en el servicio de archivos.

Disponibilidad del protocolo

Protocolo de recurso compartido de archivos habilitado Disponible
SMB Sí
NFS Sí

Request

Puede especificar la Set File Service Properties solicitud como se indica a continuación. Se recomienda usar HTTPS. Reemplace account-name por el nombre de la cuenta de almacenamiento:

Método URI de solicitud Versión de HTTP
PUT https://account-name.file.core.windows.net/?restype=service&comp=properties HTTP/1.1

Nota:

El URI siempre debe incluir un carácter de barra diagonal (/) para separar el nombre de host de la ruta de acceso y las partes de consulta del URI. En esta operación, la parte de ruta de acceso del URI está vacía.

Parámetros del identificador URI

Parámetro de URI Descripción
restype=service&comp=properties Necesario. Es necesaria la combinación de ambas cadenas de consulta para establecer las propiedades del servicio de almacenamiento.
timeout Opcional. El parámetro timeout se expresa en segundos. Para obtener más información, consulte Establecimiento de tiempos de espera para las operaciones del servicio de archivos.

Encabezados de solicitud

Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:

Encabezado de solicitud Descripción
Authorization Necesario. Especifica el esquema de autorización, el nombre de la cuenta de almacenamiento y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
Date or x-ms-date Necesario. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
x-ms-version Necesario para todas las solicitudes autorizadas. Especifica la versión de la operación que se utiliza para esta solicitud. Esta operación solo está disponible en la versión 2015-02-21 y posteriores. Para habilitar las métricas para el servicio file, debe especificar la versión 2015-04-05 o posterior.

Para obtener más información, vea Versiones de los servicios de Azure Storage.
x-ms-client-request-id Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros de Storage Analytics cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para obtener más información, consulte Supervisión de Azure Files.

Cuerpo de la solicitud

El formato del cuerpo de la solicitud para la versión 2020-02-10 es el siguiente:

<?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>  
  

No es necesario especificar todos los elementos raíz en la solicitud. Si omite un elemento raíz, se conservan los valores existentes del servicio para esa funcionalidad. Sin embargo, si especifica un determinado elemento raíz, debe especificar todos los elementos secundarios para ese elemento. Entre los elementos raíz se incluyen:

  • HourMetrics
  • MinuteMetrics
  • Cors
  • ProtocolSettings

Los elementos del cuerpo de la solicitud se describen en la tabla siguiente:

Nombre Descripción
HourMetrics Opcional para la versión 2015-04-05 y posteriores. No es aplicable a versiones anteriores. Agrupa la configuración de Storage AnalyticsHourMetrics, que proporciona un resumen de las estadísticas de solicitud agrupadas por API en agregados por hora.
MinuteMetrics Opcional para la versión 2015-04-05 y posteriores. No es aplicable a versiones anteriores. Agrupa la configuración de Storage AnalyticsMinuteMetrics, que proporciona estadísticas de solicitud para cada minuto.
Version Obligatorio si las métricas están habilitadas. La versión del análisis de almacenamiento que se va a configurar. Use 1.0 para este valor.
Enabled Necesario. Indica si las métricas están habilitadas para el servicio File.
IncludeAPIs Solo es obligatorio si se han habilitado las métricas. Indica si las métricas deben generar estadísticas de resumen para las operaciones de la API a las que se ha llamado.
RetentionPolicy/Enabled Necesario. Indica si una directiva de retención está habilitada para el servicio de archivos. Si es false, se conservan los datos de métricas y el usuario es responsable de eliminarlos.
RetentionPolicy/Days Solo es obligatorio si se ha habilitado una directiva de retención. Indica el número de días que se deben conservar los datos de métricas. Se eliminan todos los datos anteriores a este valor. El mínimo que puede especificar es y el valor máximo es 1365 (un año). Los datos de métricas se eliminan de la mejor manera después de que expire el período de retención.
Cors Opcional. El Cors elemento es compatible con la versión 2015-02-21 y posteriores. Agrupa todas las reglas de uso compartido de recursos entre orígenes (CORS). Si se omite este grupo de elementos, no se sobrescribe la configuración de CORS existente.
CorsRule Opcional. Especifica una regla CORS para el servicio Archivo. En la solicitud puede incluir hasta cinco elementos CorsRule. Si no se incluyen elementos CorsRule en el cuerpo de la solicitud, se eliminan todas las reglas de CORS y CORS se deshabilita para el servicio de archivos.
AllowedOrigins Obligatorio si el CorsRule elemento está presente. Lista separada por comas de dominios de origen que se permiten a través de CORS o "*" para permitir todos los dominios. Un dominio de origen también puede incluir un carácter comodín en el subdominio para permitir solicitudes a través de CORS para todos los subdominios de un dominio. Tiene un límite de 64 dominios de origen. Cada origen permitido puede tener un máximo de 256 caracteres.
ExposedHeaders Obligatorio si el CorsRule elemento está presente. Lista delimitada por comas de encabezados de respuesta para exponer a los clientes de CORS. Tiene un límite de 64 encabezados definidos y dos encabezados con prefijo. Cada encabezado puede contener hasta 256 caracteres.
MaxAgeInSeconds Obligatorio si el CorsRule elemento está presente. Número de segundos durante los cuales el cliente/explorador debe almacenar en memoria caché una respuesta de comprobaciones preparatorias.
AllowedHeaders Obligatorio si el CorsRule elemento existe. Lista separada por comas de encabezados que pueden formar parte de la solicitud entre orígenes. Tiene un límite de 64 encabezados definidos y 2 encabezados con prefijo. Cada encabezado puede contener hasta 256 caracteres.
AllowedMethods Es necesario si existe el elemento CorsRule. Lista delimitada por comas de los métodos HTTP que puede ejecutar el origen. Para Azure Files, los métodos permitidos son DELETE, GET, HEADMERGE, POST, OPTIONS, y PUT.
ShareDeleteRetentionPolicy Opcional. Las propiedades de eliminación temporal de los recursos compartidos de archivos de Azure en esta cuenta de almacenamiento.
Days Opcional. Indica el número de días que se debe conservar el recurso compartido de archivos de Azure (eliminado temporalmente). El mínimo que puede especificar es 1y el valor máximo es 365 (un año).
Enabled Opcional. Indica si la cuenta de almacenamiento tiene habilitada la eliminación temporal para Azure Files.
ProtocolSettings Opcional. Agrupa la configuración de los protocolos del sistema de archivos.
SMB Opcional. Agrupa la configuración de SMB.
Multichannel Opcional. Contiene la configuración de SMB multicanal. SMB multicanal contiene la Enabled propiedad booleana, que alterna el estado de SMB multicanal.
Version Opcional a partir de la versión 2020-04-08. Lista separada por comas de las versiones de SMB permitidas. Los valores permitidos son SMB2.1, SMB3.0 y SMB3.1.1.
AuthenticationMethods Opcional a partir de la versión 2020-04-08. Lista separada por comas de métodos de autenticación permitidos. Los valores permitidos son NTLMv2 y Kerberos.
KerberosTicketEncryption Opcional a partir de la versión 2020-04-08. Lista separada por comas de algoritmos de cifrado de vales kerberos permitidos. Los valores permitidos son RC4-HMAC y AES-256.
ChannelEncryption Opcional a partir de la versión 2020-04-08. Lista separada por comas de los protocolos de cifrado de canal SMB permitidos. Los valores permitidos son AES-128-CCM, AES-128-GCM y AES-256-GCM.

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

status code

Una operación correcta devuelve el código de estado 202 (Aceptado).

Encabezados de respuesta

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.

Encabezado de respuesta Descripción
x-ms-request-id Valor que identifica de forma única una solicitud que se realiza en el servicio.
x-ms-version Especifica la versión de la operación que se usó para la respuesta. Para obtener más información, vea Versiones de los servicios de Azure Storage.
x-ms-client-request-id Se puede usar para solucionar problemas de solicitudes y respuestas correspondientes. El valor del encabezado es igual al valor del x-ms-client-request-id encabezado si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, no estará presente en la respuesta.

Response body

Ninguno.

Authorization

Solo el propietario de la cuenta puede llamar a esta operación.

Comentarios

Las siguientes restricciones y limitaciones se aplican a las reglas de CORS en Azure Files:

  • Se puede almacenar un máximo de cinco reglas.

  • El tamaño máximo de todas las configuraciones de reglas de CORS en la solicitud, excepto las etiquetas XML, no debe superar los 2 KiB.

  • La longitud de un encabezado permitido, un encabezado expuesto o un origen permitido no debe superar los 256 caracteres.

  • Los encabezados permitidos y los encabezados expuestos pueden ser cualquiera de los siguientes:

    • Encabezados literales, donde se proporciona el nombre exacto del encabezado, por ejemplo x-ms-meta-processed. Se puede especificar un máximo de 64 encabezados literales en la solicitud.

    • Encabezados con prefijo, donde se proporciona un prefijo del encabezado, por ejemplo x-ms-meta-data*. Especificar un prefijo de esta manera permite o expone cualquier encabezado que comience con ese prefijo. Se puede especificar un máximo de dos encabezados con prefijo en la solicitud.

  • Los métodos (o verbos HTTP) especificados en el AllowedMethods elemento deben cumplir los métodos admitidos por las API del servicio de almacenamiento de Azure. Los métodos admitidos son DELETE, GET, HEADMERGE, POST, , OPTIONSy PUT.

Es opcional especificar reglas de CORS en la solicitud. Si llama a Set File Service Properties sin especificar el elemento CORS en el cuerpo de la solicitud, se mantienen las reglas de CORS existentes.

Para deshabilitar CORS, llame a Set File Service Properties con una configuración de reglas CORS vacía (es decir, </Cors>) y ninguna regla CORS interna. Esta llamada elimina las reglas existentes y deshabilita CORS para el servicio de archivos.

Todos los elementos de regla de CORS son necesarios si se especifica el elemento CorsRule. Se produce un error en la solicitud con el código de error 400 (solicitud incorrecta) si falta algún elemento.

Para más información sobre las reglas de CORS y la lógica de evaluación, consulte Compatibilidad con el uso compartido de recursos entre orígenes para los servicios de Azure Storage.

Solicitud y respuesta de ejemplo

El siguiente URI de ejemplo realiza una solicitud para cambiar las propiedades del servicio de archivos de una cuenta de almacenamiento denominada myaccount:

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

La solicitud se envía con los encabezados siguientes:

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

La solicitud se envía con el cuerpo XML siguiente:

<?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>  

Una vez enviada la solicitud, se devuelve la respuesta siguiente:

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  

Consulte también

Para más información sobre las reglas de CORS y la lógica de evaluación, consulte Compatibilidad con el uso compartido de recursos entre orígenes para los servicios de Azure Storage.

Para obtener más información sobre Storage Analytics, vea Storage Analytics.