Partager via


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 Oui
NFS Aucun

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