Limitações e problemas conhecidos com o suporte do SSH File Transfer Protocol (SFTP) para o Armazenamento de Blobs do Azure

Este artigo descreve limitações e problemas conhecidos com o SFTP no Armazenamento de Blobs do Azure para que possa diagnosticar transferências de ficheiros e verificar a compatibilidade do cliente e do fluxo de trabalho.

Importante

Como tens de ativar o namespace hierárquico para usar SFTP, os problemas em Problemas Conhecidos com o Azure Data Lake Storage também se aplicam à tua conta.

Clientes não suportados

Sabe-se que os seguintes clientes são incompatíveis com o SFTP para o Armazenamento de Blobs do Azure. Para obter mais informações, consulte Algoritmos suportados.

  • Kemp
  • Paramiko 1.16.0
  • SSH.NET 2016.1.0 ou anterior
  • Renci SSH.NET 2014.6.0

Esta lista não é exaustiva e pode mudar ao longo do tempo.

Definições do cliente

Para transferir arquivos de ou para o Armazenamento de Blobs do Azure por meio de clientes SFTP, consulte as seguintes configurações recomendadas.

  • WinSCP

    • No diálogo Preferências, selecione Transferência>Persistência, e depois defina Ativar retoma de transferência/transferência para nome de ficheiro temporário para Desativar.

Atenção

Deixar essa opção ativada pode causar falhas ou desempenho degradado durante carregamentos de arquivos grandes.

Operações sem suporte

Categoria Operações sem suporte
Escritas aleatórias Operações que incluem sinalizadores de leitura (READ) e escrita (WRITE). Por exemplo: SSH.NET criar API
Ligações
  • symlink - criação de ligações simbólicas
  • ln - criação de links físicos
  • Links de leitura não suportados
  • Informações sobre a capacidade df - informações de uso para o sistema de arquivos
    Extensões As extensões não suportadas incluem, mas não estão limitadas a: fsync@openssh.com, limits@openssh.com, lsetstat@openssh.com, statvfs@openssh.com
    Comandos SSH SFTP é o único subsistema suportado. Os pedidos de shell após troca de chaves falham.
    Gravações multiprotocolo Gravações e acréscimos aleatórios (PutBlock,PutBlockList, GetBlockList, AppendBlock, AppendFile) não são permitidos de outros protocolos (NFS, Blob REST, Data Lake Storage REST) em blobs criados usando SFTP. São permitidas substituições completas.
    Renomear operações Renomear operações onde o nome do arquivo de destino já existe é uma violação de protocolo. A tentativa de tal operação retorna um erro. Consulte Removendo e renomeando arquivos para obter mais informações.
    Operações de contentores cruzados Não há suporte para a travessia entre contêineres ou a execução de operações em vários contêineres da mesma conexão.
    Anular Eliminação Não podes restaurar um blob apagado de forma suave usando SFTP. Usa a Undelete API REST.

    ACLs de acesso e ACLs padrão

    • Atualmente, o SFTP não suporta ACLs Padrão ou ACLs de Acesso adicionais (entradas de ACL que vão além das entradas POSIX user::, group::, e other::, como usuários nomeados ou grupos nomeados).

    • Se qualquer diretório no caminho de acesso (incluindo o diretório pessoal do utilizador) tiver ACLs Padrão ou ACLs de acesso adicionais ativadas, as operações SFTP falham com Permission denied, mesmo quando o utilizador que se liga tem permissões necessárias.

    Solução alternativa: Remover ACLs Padrão e ACLs de Acesso adicionais de todos os diretórios no caminho de acesso SFTP (incluindo o diretório pessoal do utilizador) para que apenas POSIX user::, group::, e other:: entradas permaneçam.

    Para mais detalhes sobre ACLs e como pode editá-las, consulte listas de controlo de acesso (ACLs).

    Rede

    • Para aceder à conta de armazenamento usando SFTP, a sua rede deve permitir tráfego na porta 22.

    • As contas de armazenamento não suportam endereços IP estáticos. Esta limitação não é específica do SFTP.

    • As conexões ociosas ou inativas expiram ao fim de dois minutos. O OpenSSH deixa de responder e depois desliga-se. Alguns dispositivos reconectam-se automaticamente.

    Limitações adicionais do SFTP

    • Para questões e considerações de desempenho, consulte Considerações de desempenho do SSH File Transfer Protocol (SFTP) no armazenamento de Blob do Azure.

    • Por defeito, a propriedade Content-MD5 dos blobs carregados usando SFTP é nula. Para preencher esta propriedade com um hash MD5, o seu cliente deve calcular o hash e definir a propriedade Content-MD5 antes de carregar o blob.

    • O tamanho máximo de upload do ficheiro através do endpoint SFTP é de 500 GB.

    • O failover planeado gerido pelo cliente é suportado para contas v2 de uso geral padrão e ao nível de pré-visualização para contas blob de bloco premium. Para obter mais informações, consulte Planeamento da recuperação de desastres e failover do armazenamento do Azure.

    • Para alterar as definições de redundância ou replicação da conta de armazenamento, deve desativar o SFTP. Podes reativar o SFTP depois da conversão terminar.

    • Não pode aceder a contentores especiais como $logs, $blobchangefeed, $root, e $web através do endpoint SFTP.

    • FTPS e FTP não são suportados.

    • O SFTP não usa TLS nem SSL.

    • Apenas SSH versão 2 é suportado.

    • Evite nomes de blob ou diretório que terminem com um ponto (.), uma barra (/), uma barra invertida (\) ou uma sequência ou combinação destas. Nenhum segmento de caminho deve terminar com um ponto (.). Para obter mais informações, consulte Nomenclatura e referência de contêineres, blobs e metadados.

    Recursos de armazenamento de Blob

    Quando ativa o suporte a SFTP, algumas funcionalidades do Armazenamento de Blobs são totalmente suportadas, mas algumas podem ser suportadas apenas ao nível de pré-visualização ou ainda não serem suportadas de todo.

    Para ver como cada recurso de Armazenamento de Blob é suportado em contas que têm o suporte a SFTP habilitado, consulte Suporte ao recurso de Armazenamento de Blob para contas de Armazenamento do Azure.

    Resolução de Problemas

    • Para resolver o Failed to update SFTP settings for account 'accountname'. Error: The value 'True' isn't allowed for property isSftpEnabled. erro, verifique se a conta de armazenamento cumpre os seguintes pré-requisitos:

      • A conta é de uso geral v2 ou uma conta premium de blobs de blocos.

      • O namespace hierárquico está ativado para a conta.

    • Para resolver o erro Home Directory not accessible, verifique se:

      • O utilizador tem as permissões apropriadas para o contentor.

      • A cadeia de ligação especifica o nome do contentor para utilizadores locais que não têm um diretório home.

      • A cadeia de ligação especifica o nome do contentor para utilizadores locais cujo diretório principal não existe.

    • Para resolver o problema ao conectar, verifique se Received disconnect from XX.XXX.XX.XXX port 22:11: :

      • O acesso à rede pública é Enabled from all networks ou Enabled from selected virtual networks and IP addresses.

      • O endereço IP do cliente é permitido pelo firewall.

    Consulte também