Liste des plages

L'opération List Ranges renvoie la liste des plages valides pour un fichier.

Disponibilité du protocole

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

Requête

Vous pouvez construire la List Ranges requête comme suit. HTTPS est recommandé.

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

Remplacez les composants du chemin indiqués dans l'URI de la demande par les vôtres, comme suit :

Composant Chemin d’accès Description
myaccount nom de votre compte de stockage.
myshare Nom du partage de fichiers.
mydirectorypath facultatif. 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 Nommer et référencer des partages, des répertoires, des fichiers et des métadonnées.

Paramètres URI

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

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

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

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

En-têtes de requête

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

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 requêtes auprès du Stockage Azure.
Date ou 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. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
Range facultatif. Spécifie la plage d'octets dans laquelle répertorier les plages (inclusivement). S'il est omis, toutes les plages pour le fichier sont renvoyées.
x-ms-range facultatif. Spécifie la plage d'octets dans 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 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> facultatif. Version 2019-02-02 et ultérieures. Si l’en-tête est spécifié, l’opération n’est effectuée que si le bail du fichier est actuellement actif et que l’ID de bail spécifié dans la demande correspond à celui du fichier. Sinon, l’opération échoue avec status code 412 (Échec de la condition préalable).
x-ms-client-request-id facultatif. 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 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 Surveiller Azure Files.
x-ms-file-request-intent Obligatoire si Authorization l’en-tête spécifie un jeton OAuth. La valeur acceptable est backup. Cet en-tête spécifie que le Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action doit être accordé s’il est inclus dans la stratégie RBAC affectée à l’identité autorisée à l’aide de l’en-tête Authorization . Disponible pour les versions 2022-11-02 et ultérieures.
x-ms-allow-trailing-dot: { <Boolean> } facultatif. Version 2022-11-02 et ultérieures. La valeur booléenne spécifie si un point de fin présent dans l’URL de la demande doit être rogné ou non. Pour plus d’informations, consultez Nommer et référencer des partages, des répertoires, des fichiers et des métadonnées.

Corps de la demande

Aucun.

response

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 envoie le code d'état 200 (OK). Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.

En-têtes de réponse

La réponse de l'opération inclut les en-têtes 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 du protocole HTTP/1.1.

En-tête de réponse Description
Last-Modified Date et heure de la dernière modification apportée au 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 la dernière modification du fichier.
ETag contient ETag une valeur qui représente la version du fichier, entre guillemets.
x-ms-content-length Taille du fichier en octets. Quand prevsharesnapshot est présent, la valeur décrit la taille du fichier au sharesnapshot (si le paramètre de sharesnapshot requête 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 la résolution des problèmes de la demande. Pour plus d’informations, consultez Résolution des problèmes liés aux opérations d’API.
x-ms-version Indique la version de Azure Files utilisée pour exécuter la demande.
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 , s’il est présent dans la demande. La valeur est au maximum 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, cet en-tête ne sera pas présent dans la réponse.

Response body

Le corps de la réponse inclut une liste de valides qui ne se chevauchent pas, triées par plage d'adresses croissante. 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 complet de 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 le instantané cible (ou le fichier dynamique) et le 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 complet de pages du fichier a été effacé et que le prevsharesnapshot paramètre 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 d’opérations d’effacement de plage pour Put Range. Ces exemples montrent les plages retournées si vous écrivez ou effacez une plage d’octets non alignées de 512 du fichier.

Dans un fichier très fragmenté avec un grand nombre d'écritures, une demande List Ranges peut échouer en raison du délai d'attente du serveur interne. Les applications qui récupèrent les 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 prevsharesnapshot paramètre. Cette opération retourne les plages qui diffèrent entre le fichier actif et un instantané, ou entre deux instantanés du fichier sur des instantanés. En utilisant ces différences de plage, vous pouvez récupérer une instantané incrémentielle 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 List Ranges l’échec lorsqu’il est appelé pour récupérer un instantané incrémentiel. Le service retourne :

  • 404 (introuvable) si vous appelez sur 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 sur un fichier qui était la cible d’une copie de remplacement après le 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, une fois que le instantané spécifié par prevsharesnapshot a été pris.

Voir aussi

Opérations sur les fichiers