Partager via


Plages de listes

L’opération List Ranges retourne la liste des plages valides pour un fichier. Cette opération est prise en charge dans la version 2025-05-05 et ultérieure pour les partages de fichiers avec le protocole NFS activé.

Disponibilité du protocole

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

Demander

La requête List Ranges est construite comme suit. Nous vous recommandons d’utiliser HTTPS.

Méthode URI de requête Version HTTP
AVOIR https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist HTTP/1.1
AVOIR https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?sharesnapshot=<DateTime>&comp=rangelist HTTP/1.1
AVOIR https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist&snapshot=<DateTime>&prevsharesnapshot=<DateTime> HTTP/1.1
AVOIR https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist&prevsharesnapshot=<DateTime> HTTP/1.1

Remplacez les composants de chemin d’accès indiqués dans l’URI de requête par vos propres composants, comme suit :

Composant Path Description
myaccount Nom de votre compte de stockage.
myshare Nom de votre partage de fichiers.
mydirectorypath Optionnel. Chemin d’accès au répertoire parent.
myfile Nom du fichier.

Pour plus d’informations sur les restrictions de nommage de chemin d’accès, consultez nommage et référencement de partages, répertoires, fichiers et métadonnées.

Paramètres d’URI

Vous pouvez spécifier les paramètres supplémentaires suivants sur l’URI de requête.

Paramètre Description
sharesnapshot Optionnel. Version 2017-04-17 et ultérieure. Le paramètre sharesnapshot est une valeur de DateTime opaque qui, lorsqu’il est présent, spécifie l’instantané de partage à interroger pour le fichier.
timeout Optionnel. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définition des délais d’expiration pour les opérations Azure Files.
prevsharesnapshot Facultatif dans la version 2020-02-10 et versions ultérieures. Le paramètre prevsharesnapshot est une valeur de DateTime opaque qui, lorsqu’il est présent, spécifie l’instantané précédent.

Lorsque ce paramètre et ce sharesnapshot sont présents, la réponse contient uniquement des plages de pages qui ont été modifiées entre les deux instantanés. Lorsque seule prevsharesnapshot est présente, la réponse contient uniquement des plages de pages qui ont été modifiées entre cet instantané et le partage en direct.

Les pages modifiées incluent les pages mises à jour et effacées.

En-têtes de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans les tableaux suivants :

En-têtes de requête courants

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les demandes vers le stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie le temps universel coordonné (UTC) de la requête. Pour plus d’informations, consultez Autoriser les demandes vers le stockage Azure.
x-ms-version Obligatoire pour toutes les demandes autorisées. Spécifie la version de l’opération à utiliser pour cette requête. Cette opération est prise en charge dans la version 2025-05-05 et ultérieure pour les partages de fichiers avec le protocole NFS activé.

Pour plus d’informations, consultez Contrôle de version pour les services stockage Azure.
Range Optionnel. Spécifie la plage d’octets sur laquelle répertorier les plages, inclusivement. En cas d’omission, toutes les plages du fichier sont retournées.
x-ms-range Optionnel. Spécifie la plage d’octets sur laquelle répertorier les plages, inclusivement.

Si les en-têtes Range et x-ms-range sont spécifiés, le service utilise la valeur de x-ms-range. Pour plus d’informations, consultez Spécification de l’en-tête de plage pour les opérations Azure Files.
x-ms-lease-id:<ID> Optionnel. Version 2019-02-02 et ultérieure. Si l’en-tête est spécifié, l’opération est effectuée uniquement si le bail du fichier est actuellement actif et que l’ID de bail spécifié dans la requête correspond à celui du fichier. Sinon, l’opération échoue avec le code d’état 412 (Échec de la condition préalable).

Cet en-tête est ignoré si le fichier se trouve sur un partage de fichiers avec le protocole NFS activé, ce qui ne prend pas en charge les baux de fichiers.
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 (KiB) enregistrée dans les journaux 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 reçues par le serveur. Pour plus d’informations, consultez Monitor Azure Files.
x-ms-file-request-intent Obligatoire si Authorization en-tête spécifie un jeton OAuth. La valeur acceptable est backup. Cet en-tête spécifie que les Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action doivent être accordés s’ils sont inclus dans la stratégie RBAC affectée à l’identité autorisée à l’aide de l’en-tête Authorization. Disponible pour la version 2022-11-02 et ultérieure.
x-ms-allow-trailing-dot: { <Boolean> } Optionnel. Version 2022-11-02 et ultérieure. La valeur booléenne spécifie si un point de fin présent dans l’URL de requête doit être supprimé ou non.

Cet en-tête est ignoré si la cible se trouve sur un partage de fichiers avec le protocole NFS activé, qui prend en charge le point de fin par défaut.

Pour plus d’informations, consultez nommage et référencement de partages, répertoires, fichiers et métadonnées.
x-ms-file-support-rename: { <Boolean> } Optionnel. Prise en charge dans la version 2024-05-04 et ultérieures. Cet en-tête est autorisé uniquement lorsque prevsharesnapshot paramètre de requête est présent. La valeur booléenne détermine si les plages modifiées d’un fichier doivent être répertoriées lorsque l’emplacement du fichier dans l’instantané précédent est différent de l’emplacement dans l’URI de requête, en raison des opérations de renommage ou de déplacement. Si la valeur est true, les plages modifiées valides pour le fichier sont retournées. Si la valeur est false, l’opération entraîne un échec avec la réponse 409 (Conflit). La valeur par défaut est false.

En-têtes de requête SMB uniquement

Aucun.

En-têtes de requête NFS uniquement

Aucun.

Corps de la demande

Aucun.

Réponse

La réponse inclut un code d’état HTTP, un ensemble d’en-têtes de réponse et un corps de réponse au format XML.

Code d’état

Une opération réussie retourne le code d’état 200 (OK). Pour plus d’informations sur les codes d’état, consultez Les codes d’état et d’erreur.

En-têtes de réponse

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

En-têtes de réponse courants

En-tête de réponse Description
Last-Modified Date/heure de la dernière modification du fichier. Toute opération qui modifie le fichier, y compris une mise à jour des métadonnées ou propriétés du fichier, modifie l’heure de dernière modification du fichier.
ETag Le ETag contient une valeur qui représente la version du fichier, entre guillemets.
x-ms-content-length Taille du fichier en octets. Lorsque prevsharesnapshot est présente, la valeur décrit la taille du fichier à l'sharesnapshot (si le paramètre de requête sharesnapshot est présent). Sinon, il décrit la taille du fichier actif.
x-ms-request-id Cet en-tête identifie de manière unique la demande qui a été effectuée et peut être utilisé pour résoudre les problèmes de la demande. Pour plus d’informations, consultez Résolution des problèmes des opérations d’API.
x-ms-version Indique la version d’Azure Files utilisée pour exécuter la requête.
Date ou x-ms-date Valeur de date/heure UTC qui indique l’heure à laquelle la réponse a été lancée. Le service génère cette valeur.
x-ms-client-request-id Vous pouvez utiliser cet en-tête pour résoudre les demandes et les réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id, si elle est présente dans la requête. La valeur est au maximum 1024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la requête, cet en-tête ne sera pas présent dans la réponse.

En-têtes de réponse SMB uniquement

Aucun.

En-têtes de réponse NFS uniquement

Aucun.

Corps de la réponse

Le corps de la réponse inclut une liste de plages valides qui ne se chevauchent pas, triées en augmentant la plage d’adresses. Le format du corps de la réponse est le suivant.

<?xml version="1.0" encoding="utf-8"?>  
<Ranges>  
  <Range>  
    <Start>Start Byte</Start>  
    <End>End Byte</End>  
  </Range>  
  <Range>  
    <Start>Start Byte</Start>  
    <End>End Byte</End>  
  </Range>  
</Ranges>  

Si l’ensemble entier des plages du fichier a été effacé, le corps de la réponse n’inclut aucune plage.

Si prevsharesnapshot est spécifié, la réponse inclut uniquement les pages qui diffèrent entre l’instantané cible (ou le fichier actif) et l’instantané précédent. Les plages retournées incluent les deux plages qui ont été mises à jour ou qui ont été effacées. Le format de cette réponse est le suivant :

<?xml version="1.0" encoding="utf-8"?> 
<Ranges> 
  <Range> 
    <Start>Start Byte</Start> 
    <End>End Byte</Start> 
  </Range> 
  <ClearRange> 
    <Start>Start Byte</Start>
    <End>End Byte</Start> 
  </ClearRange> 
  <Range> 
    <Start>Start Byte</Start> 
    <End>End Byte</Start> 
  </Range> 
</Ranges> 

Si l’ensemble entier des pages du fichier a été effacé et que le paramètre prevsharesnapshot n’est pas spécifié, le corps de la réponse n’inclut aucune plage.

Autorisation

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

Remarques

Les décalages d’octets de début et de fin pour chaque plage sont inclusifs. Reportez-vous aux exemples d’opérations de mise à jour de plage et opérations d’effacement de plage pour de plage. Ces exemples montrent quelles plages sont retournées si vous écrivez ou effacez une plage d’octets 512 non alignée à partir du fichier.

Dans un fichier hautement fragmenté avec un grand nombre d’écritures, une demande de List Ranges peut échouer en raison d’un délai d’expiration interne du serveur. Les applications récupérant des plages d’un fichier avec un grand nombre d’opérations d’écriture doivent récupérer un sous-ensemble de plages à la fois.

À compter de la version 2020-02-10, vous pouvez appeler List Ranges avec un paramètre prevsharesnapshot. Cela retourne les plages qui diffèrent entre le fichier actif et un instantané, ou entre deux instantanés du fichier sur les instantanés. En utilisant ces différences de plage, vous pouvez récupérer un instantané incrémentiel d’un fichier. Les instantanés incrémentiels constituent un moyen économique de sauvegarder des fichiers si vous souhaitez implémenter votre propre solution de sauvegarde.

Certaines opérations sur un fichier provoquent l’échec de List Ranges lorsqu’il est appelé pour récupérer un instantané incrémentiel. Le service retourne :

  • 404 (Introuvable) si vous appelez un fichier qui n’existe pas dans l’un des instantanés (ou en direct, si sharesnapshot n’est pas spécifié).
  • 409 (Conflit) si vous appelez un fichier qui était la cible d’un remplacement Copier après l’instantané, spécifié par prevsharesnapshot.
  • 409 (Conflit) si vous appelez un fichier qui a été supprimé et recréé avec le même nom et le même emplacement, après la capture instantanée spécifiée par prevsharesnapshot a été prise.

Voir aussi

opérations sur les fichiers