ハンドルを強制的に閉じる

操作は Force Close Handles 、ディレクトリまたはファイルで開かれたハンドルまたはハンドルを閉じます。 ファイルまたはディレクトリのハンドル ID で指定された 1 つのハンドルを閉じるのをサポートします。 また、そのリソースで開かれているすべてのハンドルを閉じることもサポートされています。 必要に応じて、リソースがディレクトリの場合にサブリソースのハンドルを再帰的に閉じることがサポートされます。

この操作は 、リスト ハンドル と共に使用して、ディレクトリの名前変更などの操作をブロックするハンドルを強制的に閉じます。 SMB クライアントがこれらのハンドルをリークまたは追跡しなくなった可能性があります。 操作は、ファイルの読み取りまたは書き込みの失敗によるユーザーに表示されるエラーを含め、閉じるハンドルにクライアント側の影響を与えます。 この操作は、SMB セッションを閉じるための代替または代替手段として意図されていません。

この操作は、バージョン 2018-11-09 以降で使用できます。

プロトコルの可用性

有効なファイル共有プロトコル 利用可能
SMB はい
NFS いいえ

Request

要求は Force Close Handles 次のように構築できます。 HTTPS をお勧めします。

Method 要求 URI HTTP バージョン
PUT https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfileordirectory?comp=forceclosehandles HTTP/1.1

次のように、要求 URI に示されたパス コンポーネントを独自の 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 ヘッダーが OAuth トークンを指定する場合 Authorization は必須です。 許容される値は です backup。 このヘッダーは、 ヘッダーをMicrosoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action使用してAuthorization承認された ID に割り当てられた RBAC ポリシーに 含まれている場合に、 または Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action を許可するように指定します。 バージョン 2022-11-02 以降で使用できます。
x-ms-allow-trailing-dot: { <Boolean> } 省略可能。 バージョン 2022-11-02 以降。 ブール値は、要求 URL に存在する末尾のドットをトリミングするかどうかを指定します。 詳細については、「共有、 ディレクトリ、ファイル、およびメタデータの名前付けと参照」を参照してください。

要求本文

[なし] :

Response

応答には HTTP ステータス コード、一連の応答ヘッダー、および応答の本文が XML 形式で含まれます。

status code

操作に成功すると、状態コード 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 無効なハンドルが指定されている場合や、指定されたファイルまたはディレクトリに開いているハンドルが見つからなかった場合) は、 で 200 (OK) 状態の応答 x-ms-number-of-handles-closed=0を受け取ります。

ヘッダーは x-ms-recursive ディレクトリに対してのみ有効です。 ファイルに指定すると、400 (無効な要求) 応答が返されます。

で開かれたハンドルを強制的に閉じると FILE_FLAG_DELETE_ON_CLOSE 、ファイルが削除されない可能性があります。

リスト ハンドルは 、サービス側ハンドル x-ms-handle-id ID を返します。 このハンドル ID は、SMB またはアプリケーションが保持する対応するクライアント側ハンドルとは異なります。

関連項目