Définition des propriétés du service Fichier

L’opération Set File Service Properties définit les propriétés de la ressource de service De fichiers à l’aide de l’API FileREST. Bien que cette API soit entièrement prise en charge, il s’agit d’une API de gestion héritée. Nous vous recommandons d’utiliser plutôt les services de fichiers - Définir les propriétés du service, qui est fourni par le fournisseur de ressources stockage Azure (Microsoft.Storage). Pour en savoir plus sur l’interaction programmatique avec la ressource de service de fichiers à l’aide du fournisseur de ressources Stockage Azure, consultez Opérations sur le service de fichiers.

Disponibilité du protocole

Protocole de partage de fichiers activé Disponible
SMB Oui
NFS Yes

Requête

Vous pouvez spécifier la Set File Service Properties demande comme suit. Nous vous recommandons d’utiliser HTTPS. Remplacez account-name par le nom de votre compte de stockage :

Méthode URI de demande Version HTTP
PUT https://account-name.file.core.windows.net/?restype=service&comp=properties HTTP/1.1

Notes

L’URI doit toujours inclure une barre oblique (/) pour séparer le nom d’hôte des parties chemin d’accès et requête de l’URI. Dans cette opération, la partie chemin d’accès de l’URI est vide.

Paramètres URI

Paramètre d’URI Description
restype=service&comp=properties Obligatoire. La combinaison des deux chaînes de requête est requise pour définir les propriétés de service de stockage.
timeout Optionnel. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’attente pour les opérations de service de fichiers.

En-têtes de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans le tableau suivant :

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte de stockage et la signature. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
Date or x-ms-date Obligatoire. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
x-ms-version Obligatoire pour toutes les demandes autorisées. Spécifie la version de l'opération à utiliser pour cette demande. Cette opération est disponible uniquement dans la version 2015-02-21 et ultérieure. Pour activer les métriques pour le service De fichiers, vous devez spécifier la version 2015-04-05 ou ultérieure.

Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
x-ms-client-request-id Optionnel. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) enregistrée dans les journaux Storage Analytics lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes que le serveur reçoit. Pour plus d’informations, consultez Surveiller Azure Files.

Corps de la demande

Le format du corps de la demande pour la version 2020-02-10 est le suivant :

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

Il n’est pas nécessaire de spécifier chaque élément racine sur la demande. Si vous omettez un élément racine, les paramètres existants pour le service de cette fonctionnalité sont conservés. Toutefois, si vous spécifiez un élément racine spécifique, vous devez spécifier chaque élément enfant pour cet élément. Les éléments racine incluent :

  • HourMetrics
  • MinuteMetrics
  • Cors
  • ProtocolSettings

Les éléments du corps de la requête sont décrits dans le tableau suivant :

Nom Description
HourMetrics Facultatif pour les versions 2015-04-05 et ultérieures. Non applicable aux versions antérieures. Regroupe les paramètres de Storage AnalyticsHourMetrics, qui fournissent un résumé des statistiques de requête regroupées par API dans des agrégats horaires.
MinuteMetrics Facultatif pour les versions 2015-04-05 et ultérieures. Non applicable aux versions antérieures. Regroupe les paramètres de Storage AnalyticsMinuteMetrics, qui fournissent des statistiques de requête pour chaque minute.
Version Obligatoire si les métriques sont activées. La version de Storage Analytics à configurer. Utilisez 1.0 pour cette valeur.
Enabled Obligatoire. Indique si les métriques sont activées pour le service De fichiers.
IncludeAPIs Obligatoire uniquement si les métriques sont activées. Indique si les métriques doivent générer des statistiques de synthèse pour les opérations d'API appelées.
RetentionPolicy/Enabled Obligatoire. Indique si une stratégie de rétention est activée pour le service De fichiers. Si la valeur est false, les données de métriques sont conservées et l’utilisateur est responsable de leur suppression.
RetentionPolicy/Days Obligatoire uniquement si une stratégie de rétention est activée. Indique le nombre de jours pendant lesquels les données de métriques doivent être conservées. Toutes les données antérieures à cette valeur sont supprimées. La valeur minimale que vous pouvez spécifier est 1, et la valeur maximale est 365 (un an). Les données de métriques sont supprimées au mieux après l’expiration de la période de rétention.
Cors Optionnel. L’élément Cors est pris en charge pour la version 2015-02-21 et ultérieure. Regroupe toutes les règles CORS (Cross-Origin Resource Sharing). L’omission de ce groupe d’éléments ne remplace pas les paramètres CORS existants.
CorsRule Optionnel. Spécifie une règle CORS pour le service Fichier. Vous pouvez inclure jusqu’à cinq éléments CorsRule dans la requête. Si aucun élément n’est CorsRule inclus dans le corps de la demande, toutes les règles CORS sont supprimées et CORS est désactivé pour le service De fichiers.
AllowedOrigins Obligatoire si l’élément CorsRule est présent. Liste séparée par des virgules des domaines d’origine autorisés via CORS, ou « * » pour autoriser tous les domaines. Un domaine d’origine peut également inclure un caractère générique dans le sous-domaine pour autoriser les demandes via CORS pour tous les sous-domaines d’un domaine. Limitée à 64 domaines d'origine. Chaque origine autorisée peut comporter jusqu'à 256 caractères.
ExposedHeaders Obligatoire si l’élément CorsRule est présent. Liste séparée par des virgules d'en-têtes de réponse à exposer aux clients CORS. Limitée à 64 en-têtes définis et deux en-têtes avec préfixe. Chaque en-tête peut contenir jusqu’à 256 caractères.
MaxAgeInSeconds Obligatoire si l’élément CorsRule est présent. Nombre de secondes pendant lesquelles le client/navigateur doit mettre en cache une réponse préliminaire.
AllowedHeaders Obligatoire si l’élément CorsRule existe. Liste d’en-têtes séparés par des virgules qui sont autorisés à faire partie de la requête cross-origin. Limitée à 64 en-têtes définis et deux en-têtes avec préfixe. Chaque en-tête peut contenir jusqu’à 256 caractères.
AllowedMethods Obligatoire si l'élément CorsRule existe. Liste séparée par des virgules de méthodes HTTP qui sont autorisées à être exécutées par l'origine. Pour Azure Files, les méthodes autorisées sont DELETE, GET, HEAD, MERGE, POSTOPTIONSet PUT.
ShareDeleteRetentionPolicy Optionnel. Propriétés de suppression réversible pour les partages de fichiers Azure dans ce compte de stockage.
Days Optionnel. Indique le nombre de jours pendant lesquels le partage de fichiers Azure doit être conservé (supprimé de manière réversible). La valeur minimale que vous pouvez spécifier est 1, et la valeur maximale est 365 (un an).
Enabled Optionnel. Indique si la suppression réversible est activée pour le compte de stockage pour Azure Files.
ProtocolSettings Optionnel. Regroupe les paramètres des protocoles de système de fichiers.
SMB Optionnel. Regroupe les paramètres pour SMB.
Multichannel Optionnel. Contient les paramètres pour SMB multicanal. SMB multichannel contient la Enabled propriété booléenne, qui active l’état de SMB multichannel.
Version Facultatif à partir de la version 2020-04-08. Liste séparée par des virgules des versions SMB autorisées. Les valeurs autorisées sont SMB2.1, SMB3.0 et SMB3.1.1.
AuthenticationMethods Facultatif à partir de la version 2020-04-08. Liste séparée par des virgules des méthodes d’authentification autorisées. Les valeurs autorisées sont NTLMv2 et Kerberos.
KerberosTicketEncryption Facultatif à partir de la version 2020-04-08. Liste séparée par des virgules des algorithmes de chiffrement de ticket Kerberos autorisés. Les valeurs autorisées sont RC4-HMAC et AES-256.
ChannelEncryption Facultatif à partir de la version 2020-04-08. Liste séparée par des virgules des protocoles de chiffrement de canal SMB autorisés. Les valeurs autorisées sont AES-128-CCM, AES-128-GCM et AES-256-GCM.

response

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Code d’état

Une opération réussie renvoie le code d'état 202 (Accepté).

En-têtes de réponse

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

En-tête de réponse Description
x-ms-request-id Valeur qui identifie de manière unique une demande effectuée auprès du service.
x-ms-version Spécifie la version de l’opération utilisée pour la réponse. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
x-ms-client-request-id Peut être utilisé pour résoudre les problèmes liés aux demandes et aux réponses correspondantes. La valeur de l’en-tête est égale à la valeur de l’en-tête x-ms-client-request-id s’il est présent dans la requête et que la valeur ne contient pas plus de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, il ne sera pas présent dans la réponse.

Response body

Aucun.

Autorisation

Seul le propriétaire du compte peut appeler cette opération.

Notes

Les restrictions et limitations suivantes s’appliquent aux règles CORS dans Azure Files :

  • Il ne peut pas y avoir plus de cinq règles enregistrées.

  • La taille maximale de tous les paramètres de règles CORS sur la demande, à l’exception des balises XML, ne doit pas dépasser 2 Kio.

  • La longueur d'un en-tête autorisé, d'un en-tête exposé ou d'une origine autorisée ne doit pas dépasser 256 caractères.

  • Les en-têtes autorisés et les en-têtes exposés peuvent être l’un des suivants :

    • Des en-têtes littéraux, où le nom précis d'en-tête est spécifié, tel que x-ms-meta-processed. Un maximum de 64 en-têtes littéraux peut être spécifié sur la demande.

    • Des en-têtes préfixés, où un préfixe de l'en-tête est spécifié, tel que x-ms-meta-data*. La spécification d’un préfixe de cette manière autorise ou expose tout en-tête qui commence par ce préfixe. Un maximum de deux en-têtes préfixés peuvent être spécifiés sur la demande.

  • Les méthodes (ou verbes HTTP) spécifiées dans l’élément AllowedMethods doivent être conformes aux méthodes prises en charge par les API du service de stockage Azure. Les méthodes prises en charge sont DELETE, GET, HEADMERGE, POST, , OPTIONSet PUT.

La spécification de règles CORS sur la demande est facultative. Si vous appelez Set File Service Properties sans spécifier l’élément CORS dans le corps de la demande, toutes les règles CORS existantes sont conservées.

Pour désactiver CORS, appelez Set File Service Properties avec un paramètre de règles CORS vide (autrement dit, </Cors>) et aucune règle CORS interne. Cet appel supprime toutes les règles existantes et désactive CORS pour le service De fichiers.

Tous les éléments de règle CORS sont obligatoires si l'élément CorsRule est spécifié. La requête échoue avec le code d’erreur 400 (Demande incorrecte) si un élément est manquant.

Pour plus d’informations sur les règles CORS et la logique d’évaluation, consultez Prise en charge du partage de ressources cross-origin pour les services de stockage Azure.

Exemple de requête et de réponse

L’exemple d’URI suivant effectue une demande de modification des propriétés du service de fichiers pour un compte de stockage nommé myaccount :

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

La demande est envoyée avec les en-têtes suivants :

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

La demande est envoyée avec le corps XML suivant :

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

Une fois la demande envoyée, la réponse suivante est renvoyée :

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  

Voir aussi

Pour plus d’informations sur les règles CORS et la logique d’évaluation, consultez Prise en charge du partage de ressources cross-origin pour les services de stockage Azure.

Pour plus d’informations sur Storage Analytics, consultez Storage Analytics.