ハンドルを強制的に閉じる
Force Close Handles
操作は、ディレクトリまたはファイルで開かれたハンドルまたはハンドルを閉じます。 これは、ファイルまたはディレクトリのハンドル ID で指定された 1 つのハンドルを閉じることをサポートします。 また、そのリソースで開かれているすべてのハンドルを閉じることもサポートされています。 必要に応じて、リソースがディレクトリである場合にサブリソースのハンドルを再帰的に閉じる処理をサポートします。
この操作は、リスト ハンドル と共に使用して、ディレクトリの名前変更などの操作をブロックするハンドルを強制的に閉じます。 SMB クライアントがこれらのハンドルのリークまたは追跡を失った可能性があります。 この操作は、ファイルの読み取りまたは書き込みに失敗したためにユーザーに表示されるエラーなど、閉じているハンドルにクライアント側の影響を与えます。 この操作は、SMB セッションを閉じるための代替または代替として意図されていません。
この操作は、バージョン 2018-11-09 以降で使用できます。
プロトコルの可用性
有効なファイル共有プロトコル | 利用できる |
---|---|
SMB |
![]() |
NFS |
![]() |
依頼
Force Close Handles
要求は次のように構成されます。 HTTPS を使用することをお勧めします。
方式 | 要求 URI | HTTP バージョン |
---|---|---|
置く | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfileordirectory?comp=forceclosehandles |
HTTP/1.1 |
次のように、要求 URI に表示されているパス コンポーネントを独自のコンポーネントに置き換えます。
パス コンポーネント | 形容 |
---|---|
myaccount |
ストレージ アカウントの名前。 |
myshare |
ファイル共有の名前。 |
mydirectorypath |
随意。 ディレクトリへのパス。 |
myfileordirectory |
ファイルまたはディレクトリの名前。 |
パスの名前付け制限の詳細については、「共有、ディレクトリ、ファイル、およびメタデータの名前付けと参照」を参照してください。
URI パラメーター
URI には、次の追加パラメーターを指定できます。
パラメーター | 形容 |
---|---|
timeout |
随意。 秒単位で表されます。 詳細については、「ファイル サービス操作のタイムアウトを設定する」を参照してください。 |
marker |
随意。 次の Force Close Handles 操作で閉じるハンドルの位置を識別する文字列値。 閉じるハンドルが他にある場合、操作は応答本文内のマーカー値を返します。 その後、マーカー値を後続の呼び出しで使用して、次のハンドル のセットを閉じることができます。マーカー値はクライアントに対して不透明です。 |
sharesnapshot |
随意。 不透明な日付/時刻値。 存在する場合は、ハンドルの一覧を照会する共有スナップショットを指定します。 |
要求ヘッダー
次の表では、必須および省略可能な要求ヘッダーについて説明します。
要求ヘッダー | 形容 |
---|---|
Authorization |
必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storageへの要求を承認する」を参照してください。 |
Date または x-ms-date |
必須。 要求の世界協定時刻 (UTC) を指定します。 詳細については、「Azure Storageへの要求を承認する」を参照してください。 |
x-ms-version |
すべての承認された要求には必須ですが、匿名要求の場合は省略可能です。 この要求に使用する操作のバージョンを指定します。 詳細については、Azure Storage サービス のバージョン管理のに関するページを参照してください。 |
x-ms-client-request-id |
随意。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を持つクライアント生成の不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティと、サーバーが受信する要求を関連付けすることを強くお勧めします。 |
x-ms-handle-id |
必須。 閉じるハンドル ID を指定します。 ワイルドカード文字列としてアスタリスク (*) を使用して、すべてのハンドルを指定します。 |
x-ms-recursive |
随意。 操作を URI で指定されたディレクトリのファイルとサブディレクトリにも適用するかどうかを指定するブール値。 |
x-ms-file-request-intent |
ヘッダー Authorization OAuth トークンを指定する場合は必須です。 許容される値は backup です。 このヘッダーは、Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action または Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action が、Authorization ヘッダーを使用して承認された ID に割り当てられた RBAC ポリシーに含まれている場合に付与されるように指定します。 バージョン 2022-11-02 以降で使用できます。 |
x-ms-allow-trailing-dot: { <Boolean> } |
随意。 バージョン 2022-11-02 以降。 ブール値は、要求 URL に存在する末尾のドットをトリミングするかどうかを指定します。 詳細については、「共有、ディレクトリ、ファイル、およびメタデータの名前付けと参照」を参照してください。 |
要求本文
何一つ。
応答
応答には、HTTP 状態コード、一連の応答ヘッダー、および XML 形式の応答本文が含まれます。
状態コード
操作が成功すると、状態コード 200 (OK) が返されます。 状態コードの詳細については、「状態コードとエラー コードを参照してください。
応答ヘッダー
この操作の応答には、次の表のヘッダーが含まれています。 応答には、追加の標準 HTTP ヘッダーも含まれる場合があります。 すべての標準ヘッダーは、HTTP/1.1 プロトコル仕様に準拠しています。
共通ヘッダー
応答ヘッダー | 形容 |
---|---|
x-ms-request-id |
行われた要求を一意に識別します。 これを使用して、要求のトラブルシューティングを行うことができます。 詳細については、「API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用される Azure Files のバージョンを示します。 |
Date |
サービスが応答を送信した時刻を示す UTC 日付/時刻値。 |
x-ms-marker |
閉じる次のハンドルについて説明します。 この文字列は、要求を完了するためにさらにハンドルを閉じる必要がある場合に返されます。 この文字列は、後続の要求で残りのハンドルを強制的に閉じるのに使用されます。
x-ms-marker が存在しない場合は、関連するすべてのハンドルが閉じられたことを示します。 |
x-ms-number-of-handles-closed |
閉じたハンドルの数を示します。 |
x-ms-number-of-handles-failed |
閉じられなかったハンドルの数を示します。 |
x-ms-client-request-id |
要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、値が最大 1,024 文字表示される ASCII 文字である場合、x-ms-client-request-id ヘッダーの値と等しくなります。
x-ms-client-request-id ヘッダーが要求に存在しない場合、このヘッダーは応答に存在しません。 |
応答本文
空。
認可
アカウント所有者のみがこの操作を呼び出すことができます。
備考
要求の処理中にハンドルが閉じていない場合 (たとえば、指定された x-ms-handle-id
値で無効なハンドルが指定されている場合や、指定されたファイルまたはディレクトリに開いているハンドルが見つからなかった場合)、x-ms-number-of-handles-closed=0
を含む 200 (OK) 状態の応答が返されます。
x-ms-recursive
ヘッダーは、ディレクトリに対してのみ有効です。 ファイルに指定すると、400 (無効な要求) 応答が返されます。
FILE_FLAG_DELETE_ON_CLOSE
で開かれたハンドルを強制的に閉じると、ファイルが削除されない可能性があります。
リスト ハンドル は、x-ms-handle-id
サービス側ハンドル ID を返します。 このハンドル ID は、SMB またはアプリケーションが保持する対応するクライアント側ハンドルとは異なります。