Forcer les poignées de fermeture
L’opération Force Close Handles
ferme un handle ou des handles ouverts sur un répertoire ou un fichier. Il prend en charge la fermeture d’un handle unique spécifié par l’ID de handle sur un fichier ou un répertoire. Il prend également en charge la fermeture de tous les handles ouverts sur cette ressource. Il prend éventuellement en charge les handles de fermeture récursivement sur les sous-ressources lorsque la ressource est un répertoire.
Vous utilisez cette opération en même temps que Handles de liste pour forcer les handles de fermeture qui bloquent les opérations, telles que le changement de nom d’un répertoire. Les clients SMB peuvent avoir fui ou perdu le suivi de ces handles. L’opération a un impact côté client sur le handle que vous fermez, y compris les erreurs visibles par l’utilisateur en raison d’échecs de tentatives de lecture ou d’écriture de fichiers. Cette opération n’est pas destinée à remplacer ou à fermer une session SMB.
Cette opération est disponible dans la version 2018-11-09 et ultérieure.
Disponibilité du protocole
Protocole de partage de fichiers activé | Disponible |
---|---|
SMB |
![]() |
NFS |
![]() |
Demander
La requête Force Close Handles
est construite comme suit. Nous vous recommandons d’utiliser HTTPS.
Méthode | URI de requête | Version HTTP |
---|---|---|
METTRE | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfileordirectory?comp=forceclosehandles |
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. |
myfileordirectory |
Nom du fichier ou du répertoire. |
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 :
Paramètre | Description |
---|---|
timeout |
Optionnel. Exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’expiration pour les opérations de service de fichiers. |
marker |
Optionnel. Valeur de chaîne qui identifie la position des handles qui seront fermés avec l’opération de Force Close Handles suivante. L’opération retourne une valeur de marqueur dans le corps de la réponse s’il existe plus de handles à fermer. La valeur de marqueur peut ensuite être utilisée dans un appel suivant pour fermer le jeu de handles suivant.La valeur de marqueur est opaque pour le client. |
sharesnapshot |
Optionnel. Valeur de date/heure opaque. Lorsqu’il est présent, il spécifie l’instantané de partage à interroger pour obtenir la liste des handles. |
En-têtes de requête
Le tableau suivant décrit les en-têtes de requête obligatoires et 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 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, mais facultatives pour les demandes anonymes. Spécifie la version de l’opération à utiliser pour cette requête. Pour plus d’informations, consultez Contrôle de version pour les services stockage 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 (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. |
x-ms-handle-id |
Obligatoire. Spécifie l’ID de handle à fermer. Utilisez un astérisque (*) comme chaîne générique pour spécifier tous les handles. |
x-ms-recursive |
Optionnel. Valeur booléenne qui spécifie si l’opération doit également s’appliquer aux fichiers et sous-répertoires du répertoire spécifié dans l’URI. |
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. Pour plus d’informations, consultez nommage et référencement de partages, répertoires, fichiers et métadonnées. |
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 du tableau suivant. 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 courants
En-tête de réponse | Description |
---|---|
x-ms-request-id |
Identifie de manière unique la demande qui a été effectuée. Vous pouvez l’utiliser pour résoudre les problèmes de la demande. Pour plus d’informations, consultez Résoudre les problèmes d’opérations d’API. |
x-ms-version |
Indique la version d’Azure Files utilisée pour exécuter la requête. |
Date |
Valeur de date/heure UTC qui indique l’heure à laquelle le service a envoyé la réponse. |
x-ms-marker |
Décrit le handle suivant à fermer. Cette chaîne est retournée lorsque d’autres handles doivent être fermés pour terminer la requête. La chaîne est utilisée dans les requêtes suivantes pour forcer la fermeture des handles restants. L’absence de x-ms-marker indique que tous les handles pertinents ont été fermés. |
x-ms-number-of-handles-closed |
Indique le nombre de handles fermés. |
x-ms-number-of-handles-failed |
Indique le nombre de handles qui n’ont pas pu être fermés. |
x-ms-client-request-id |
Peut être utilisé 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 et que 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 requête, cet en-tête ne sera pas présent dans la réponse. |
Corps de la réponse
Vide.
Autorisation
Seul le propriétaire du compte peut appeler cette opération.
Remarques
Si aucun handle n’est fermé pendant le traitement des demandes (par exemple, la valeur de x-ms-handle-id
fournie spécifie un handle non valide ou aucun handle ouvert n’a été trouvé dans le fichier ou le répertoire fourni) vous obtiendrez une réponse d’état 200 (OK) avec x-ms-number-of-handles-closed=0
.
L’en-tête x-ms-recursive
est valide uniquement pour les répertoires. Si vous le spécifiez pour un fichier, vous obtenez une réponse 400 (Demande incorrecte).
Forcer la fermeture d’un handle ouvert avec FILE_FLAG_DELETE_ON_CLOSE
risque de ne pas entraîner la suppression du fichier.
Descripteurs de liste retourne l’ID de handle côté service x-ms-handle-id
. Cet ID de handle est différent du handle côté client correspondant que SMB ou une application gère.
Voir aussi
- opérations sur les fichiers
- Opérations de sur les répertoires