Problemas conhecidos com o Azure Data Lake Storage
Este artigo descreve as limitações e problemas conhecidos das contas com o recurso de namespace hierárquico habilitado.
Observação
Alguns dos recursos descritos neste artigo podem não ser compatíveis com contas que tenham o suporte a NFS (Network File System) 3.0 habilitado. Para exibir uma tabela que mostre o impacto do suporte a recursos quando várias funcionalidades estiverem habilitadas, consulte Suporte ao recurso de Armazenamento de Blobs em contas de Armazenamento do Azure.
Recursos do Armazenamento de Blobs compatíveis
Um número crescente de recursos de Armazenamento de Blobs agora funciona com contas que têm um namespace hierárquico. Para obter uma lista completa, confira Recursos do Armazenamento de Blobs disponíveis no Azure Data Lake Storage.
Integrações de serviço do Azure com suporte
O Azure Data Lake Storage dá suporte a vários serviços do Azure que você pode usar para ingerir dados, executar análises e criar representações visuais. Para obter uma lista dos serviços do Azure com suporte, confira Serviços do Azure que dão suporte ao Azure Data Lake Storage.
Para obter mais informações, confira Serviços do Azure que dão suporte ao Azure Data Lake Storage.
Plataformas de software livre com suporte
Várias plataformas de software livre dão suporte ao Data Lake Storage. Para obter uma lista completa, confira Plataformas de software livre que dão suporte ao Azure Data Lake Storage.
Para obter mais informações, confira Plataformas de software livre que dão suporte ao Azure Data Lake Storage.
APIs de armazenamento de Blob
APIs do Data Lake Storage, NFS 3.0 e APIs de Blob podem operar nos mesmos dados.
Esta seção descreve problemas e limitações com o uso de APIs de blob, NFS 3.0 e APIs do Data Lake Storage para operar nos mesmos dados.
Você não pode usar as APIs de Blob, NFS 3.0 e as APIs do Data Lake Storage para gravar na mesma instância de um arquivo. Se você gravar em um arquivo usando APIs do Data Lake Storage ou NFS 3.0, os blocos desse arquivo não ficarão visíveis para chamadas à API de blob Get Block List. A única exceção é durante a substituição. Você pode substituir um arquivo/blob usando a API ou pelo NFS 3.0 usando a opção truncar zero.
Os blobs criados usando operações do Data Lake Storage, como a operação Path – Create, não podem ser substituídos usando operações PutBlock ou PutBlockList, mas podem ser substituídos usando uma operação PutBlob sujeita ao tamanho máximo de blob permitido imposto pela versão de API correspondente usada por PutBlob.
Quando você usar a operação Listar Blobs sem especificar um delimitador, os resultados incluirão diretórios e blobs. Se você optar por usar um delimitador, use apenas uma barra (
/
). Esse é o único delimitador compatível.Se você usar a API Excluir Blob para excluir um diretório, esse diretório será excluído somente se estiver vazio. Isso significa que você não pode usar a API de Blob para excluir diretórios recursivamente.
Estas APIs REST de Blob não são compatíveis:
- Colocar Blob (Página)
- Colocar Página
- OBter Intervalos de Página
- Blob de Cópia Incremental
- Colocar Página da URL
Discos de VM não gerenciados não são compatíveis com contas que têm um namespace hierárquico. Se você desejar habilitar um namespace hierárquico em uma conta de armazenamento, coloque os discos de VM não gerenciados em uma conta de armazenamento que não tenha o recurso de namespace hierárquico habilitado.
Suporte para configuração de listas de controle de acesso (ACLs) recursivamente
A capacidade de aplicar alterações de ACL recursivamente do diretório pai aos itens filho está disponível para o público geral. Na versão atual desse recurso, você pode aplicar alterações de ACL usando o Gerenciador de Armazenamento do Azure, o PowerShell, a CLI do Azure e o .NET, Java e o SDK do Python. O suporte ainda não está disponível para o portal do Azure.
As ACLs (listas de controle de acesso) e acesso de leitura anônimo
Se o acesso de leitura anônimo tiver sido concedido a um contêiner, as ACLs não terão nenhum efeito nesse contêiner nem nos arquivos desse contêiner. Isso afeta apenas solicitações de leitura. As solicitações de gravação ainda vão seguir as ACLs. É recomendável exigir autorização para todas as solicitações para dados de blob.
AzCopy
Use apenas a versão mais recente do AzCopy (AzCopy v10). As versões anteriores do AzCopy, como AzCopy v8.1, não são compatíveis.
Gerenciador de Armazenamento do Azure
Use somente versões 1.6.0
ou posterior.
Navegador de armazenamento no portal do Azure
No navegador de armazenamento que aparece no portal do Azure, você não pode acessar um arquivo ou pasta especificando um caminho. Em vez disso, você deve navegar por pastas para acessar um arquivo. Portanto, se uma ACL conceder ao usuário acesso de leitura a um arquivo, mas não acesso de leitura a todas as pastas que antecedem o arquivo, esse usuário não poderá exibir o arquivo no navegador de armazenamento.
Aplicativos de terceiros
Aplicativos de terceiros que usam APIs REST para funcionar continuarão funcionando se você usá-los com o Data Lake Storage. Aplicativos que chamam APIs de Blob provavelmente funcionarão.
Driver do WASB (Azure Storage Blob do Windows)
Atualmente, o driver WASB, que foi projetado para funcionar apenas com a API de Blob, encontra problemas em alguns cenários comuns. Especificamente, quando ele é o cliente de uma conta de armazenamento habilitada para namespace hierárquico. O acesso de vários protocolos no Data Lake Storage não atenuará esses problemas.
Não há suporte para o uso do driver WASB como cliente em uma conta de armazenamento habilitada para namespace hierárquico. Em vez disso, recomendamos que você use o driver do ABFS (Azure Blob File System) em seu ambiente do Hadoop. Se você estiver tentando migrar de um ambiente local do Hadoop com uma versão anterior ao Hadoop branch-3, abra um tíquete de Suporte do Azure para que possamos entrar em contato com você e determinar o melhor caminho para você e sua organização.
Exclusão temporária na funcionalidade de blobs
Se os diretórios pai dos arquivos ou diretórios excluídos temporariamente forem renomeados, os itens excluídos temporariamente poderão não ser exibidos corretamente no portal do Azure. Em alguns casos, você pode usar o PowerShell ou a CLI do Azure para listar e restaurar os itens excluídos temporariamente.
Eventos
Se sua conta tiver uma assinatura de evento, as operações de leitura no ponto de extremidade secundário resultarão em um erro. Para resolver esse problema, remova as assinaturas de evento. O uso do ponto de extremidade do Data Lake Store (abfss://URI) para contas habilitadas para namespace não-hierárquico não gera eventos, mas o ponto de extremidade do blob (wasb:// URI) sim.
Dica
O acesso de leitura para o ponto de extremidade secundário está disponível apenas quando você habilita o armazenamento com redundância geográfica com acesso de leitura (RA-GRS) ou o armazenamento com redundância de zona com acesso de leitura (RA-GZRS).