Forçar identificadores de fechamento

A Force Close Handles operação fecha um identificador ou identificadores abertos em um diretório ou arquivo. Ele dá suporte ao fechamento de um único identificador especificado pela ID do identificador em um arquivo ou diretório. Ele também dá suporte ao fechamento de todos os identificadores abertos nesse recurso. Opcionalmente, ele dá suporte ao fechamento recursivo de identificadores em sub-recursos quando o recurso é um diretório.

Use essa operação junto com Identificadores de Lista para forçar o fechamento de identificadores que bloqueiam operações, como renomear um diretório. Os clientes SMB podem ter vazado ou perdido o controle desses identificadores. A operação tem um impacto do lado do cliente no identificador que você está fechando, incluindo erros visíveis ao usuário devido a tentativas com falha de ler ou gravar arquivos. Essa operação não se destina a ser uma substituição ou alternativa para fechar uma sessão SMB.

Essa operação está disponível na versão 2018-11-09 e posterior.

Disponibilidade do protocolo

Protocolo de compartilhamento de arquivos habilitado Disponível
SMB Sim
NFS Não

Solicitação

Você pode construir a solicitação da Force Close Handles seguinte maneira. Recomendamos HTTPS.

Método URI da solicitação Versão HTTP
PUT https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfileordirectory?comp=forceclosehandles HTTP/1.1

Substitua os componentes do caminho mostrados no URI da solicitação pelos seus próprios, como segue:

Componente Demarcador Descrição
myaccount O nome da sua conta de armazenamento.
myshare O nome do seu compartilhamento de arquivo.
mydirectorypath Opcional. O caminho para o diretório.
myfileordirectory O nome do diretório ou arquivo.

Para obter detalhes sobre restrições de nomenclatura de caminho, consulte Nomenclatura e referência de compartilhamentos, diretórios, arquivos e metadados.

Parâmetros do URI

Você pode especificar os seguintes parâmetros adicionais no URI:

Parâmetro Descrição
timeout Opcional. Expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de serviço de arquivo.
marker Opcional. Um valor de cadeia de caracteres que identifica a posição dos identificadores que serão fechados com a próxima Force Close Handles operação. A operação retornará um valor de marcador dentro do corpo da resposta se houver mais identificadores para fechar. Em seguida, o valor do marcador pode ser usado em uma chamada subsequente para fechar o próximo conjunto de identificadores.

O valor do marcador é opaco ao cliente.
sharesnapshot Opcional. Um valor opaco de data/hora. Quando estiver presente, ele especifica o compartilhamento instantâneo consultar a lista de identificadores.

Cabeçalhos da solicitação

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais:

Cabeçalho da solicitação Descrição
Authorization Obrigatórios. Especifica o esquema de autorização, o nome da conta e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Necessário para todas as solicitações autorizadas, mas opcional para solicitações anônimas. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres kib (1 kibibyte) que é registrado nos logs quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor.
x-ms-handle-id Obrigatórios. Especifica a ID do identificador a ser fechada. Use um asterisco (*) como uma cadeia de caracteres curinga para especificar todos os identificadores.
x-ms-recursive Opcional. Um valor booliano que especifica se a operação também deve ser aplicada aos arquivos e subdiretórios do diretório especificado no URI.
x-ms-file-request-intent Obrigatório se Authorization o cabeçalho especificar um token OAuth. O valor aceitável é backup. Esse cabeçalho especifica que o Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action deve ser concedido se eles forem incluídos na política RBAC atribuída à identidade autorizada usando o Authorization cabeçalho . Disponível para a versão 2022-11-02 e posterior.
x-ms-allow-trailing-dot: { <Boolean> } Opcional. Versão 2022-11-02 e posterior. O valor booliano especifica se um ponto à direita presente na URL de solicitação deve ser cortado ou não. Para obter mais informações, consulte Nomenclatura e referência de compartilhamentos, diretórios, arquivos e metadados.

Corpo da solicitação

Nenhum.

Resposta

A resposta inclui um código de status HTTP, um conjunto de cabeçalhos de resposta e um corpo de resposta no formato XML.

Código de status

Uma operação bem-sucedida retorna o código de status 200 (OK).

Para obter informações sobre códigos de status, consulte Códigos de status e de erro.

Cabeçalhos de resposta

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
x-ms-request-id Identifica exclusivamente a solicitação que foi feita. Você pode usá-lo para solucionar problemas da solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API.
x-ms-version Indica a versão de Arquivos do Azure usada para executar a solicitação.
Date Um valor de data/hora UTC que indica a hora em que o serviço enviou a resposta.
x-ms-marker Descreve o próximo identificador a ser fechado. Essa cadeia de caracteres é retornada quando mais identificadores precisam ser fechados para concluir a solicitação. A cadeia de caracteres é usada em solicitações subsequentes para forçar o fechamento de identificadores restantes. A ausência de x-ms-marker indica que todos os identificadores relevantes foram fechados.
x-ms-number-of-handles-closed Indica o número de identificadores fechados.
x-ms-number-of-handles-failed Indica o número de identificadores que não foram fechados.
x-ms-client-request-id Pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se ele estiver presente na solicitação e o valor for no máximo 1.024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, esse cabeçalho não estará presente na resposta.

Corpo da resposta

Vazio.

Autorização

Somente o proprietário da conta pode chamar essa operação.

Comentários

Se nenhum identificador for fechado durante o processamento de solicitações (por exemplo, o valor fornecido x-ms-handle-id especifica um identificador inválido ou nenhum identificador aberto foi encontrado no arquivo ou diretório fornecido), você obterá uma resposta de 200 (OK) status com x-ms-number-of-handles-closed=0.

O x-ms-recursive cabeçalho é válido apenas para diretórios. Se você especificá-lo para um arquivo, obterá uma resposta 400 (Solicitação Incorreta).

Forçar o fechamento de um identificador que foi aberto com pode não fazer com FILE_FLAG_DELETE_ON_CLOSE que o arquivo seja excluído.

Identificadores de Lista retorna a ID do identificador do lado do x-ms-handle-id serviço. Essa ID do identificador é diferente do identificador do lado do cliente correspondente que o SMB ou um aplicativo mantém.

Confira também