Compartilhar via


Resolver problemas de acesso ao armazenamento do Pool do Apache Spark do Azure Synapse Analytics

Aplica-se ao: Azure Synapse Analytics

O Apache Spark é uma estrutura de processamento paralelo que dá suporte ao processamento na memória para aumentar o desempenho de aplicativos de análise de Big Data. O Apache Spark no Azure Synapse Analytics é uma das implementações da Microsoft do Apache Spark na nuvem. O Azure Synapse facilita a criação e a configuração de um Pool do Apache Spark sem servidor no Azure. Os Pools do Spark no Azure Synapse são compatíveis com o Armazenamento do Azure e o Azure Data Lake Generation 2 Storage. Portanto, você pode usar pools do Spark para processar os dados armazenados no Azure.

Se você estiver enfrentando problemas de acesso ao armazenamento do pool, como erros "403" ou a falha do workspace do Synapse em encontrar serviços vinculados, use as diretrizes fornecidas para ajudar a resolver seus problemas.

Cenários sem suporte

Não há suporte para os seguintes casos de uso quando você se conecta a uma conta de armazenamento de um pool do Synapse Spark:

  • Conectando-se à conta de armazenamento do ADLS Gen 1
  • Conectando-se à conta de armazenamento do ADLS Gen 2 com a identidade gerenciada atribuída pelo usuário
  • Conectando-se à conta de armazenamento do ADLS Gen 2 que tem:
    • Workspace do Azure Synapse de VNet compartilhada
    • Conta de armazenamento habilitada para firewall

Problemas comuns e soluções

Erro Solução
"errorMessage":"LSRServiceException é [{"StatusCode":400,"ErrorResponse":{"code":"LSRLinkedServiceFailure","message":"Não foi possível encontrar o Serviço Vinculado AzureDataLakeStorage1; Esse erro será gerado se um workspace do Synapse estiver associado a um repositório Git, Azure DevOps Services ou GitHub. Ele também é gerado quando um artefato, como um notebook ou serviço vinculado, não é publicado.

Publique manualmente as alterações de código no branch de colaboração no serviço Synapse.
stdout: exceção no thread "Main" org. Apache. Hadoop.fs FileAlreadyExistsException: falha na operação: "este ponto de extremidade não dá suporte a BlobStorageEvents ou SoftDelete. Desative esses recursos de conta se quiser usar esse endpoint.", 409, HEAD, https://< storageaccountname.dfs.core.windows.net/scripts/?upn=false&action=getAccessControl&timeout=90> Verifique se o armazenamento do ADLS Gen 2 está configurado como armazenamento primário.

Para desabilitar o SoftDelete, desmarque a caixa de seleção Habilitar exclusão reversível de blob para a conta de armazenamento.

Solução de problemas '403'

Acesso ao armazenamento e acesso à conta

  • Para gravar no armazenamento por meio de um pipeline, o Synapse Workspace MSI é a entidade de segurança que executa todas as operações, como Leitura, Gravação e Exclusão no armazenamento.
    • Verifique se a conta MSI do Workspace tem a função Colaborador de Dados do Blob de Armazenamento para executar todas as ações.
  • Se você usar o Azure Notebooks para acessar a conta de armazenamento, use a conta conectada, a menos que você acesse o armazenamento por meio de serviços vinculados.
    • A conta de usuário conectada deve ter a função Colaborador de Dados do Blob de Armazenamento para ter acesso total e permissões.
  • Para se conectar ao armazenamento, use o serviço vinculado e a autenticação da entidade de serviço. Em seguida, o aplicativo registrado no Azure Active deve receber "Colaborador de Dados do Blob de Armazenamento" no armazenamento do Azure.

Para a implementação de RBAC (controle de acesso baseado em função) no armazenamento, os detalhes são controlados no nível de contêiner. Para saber mais, confira Modelo de controle de acesso no Azure Data Lake Storage Gen2.

Controle de acesso baseado em função do Azure

O controle de acesso baseado em função do Azure usa atribuições de função para aplicar conjuntos de permissões a entidades de segurança, como o MSI do workspace do Synapse, o usuário conectado ou o registro de aplicativo na ID do Microsoft Entra. Funções como Proprietário, Colaborador, Leitor e Colaborador da Conta de Armazenamento permitem que uma entidade de segurança gerencie uma conta de armazenamento.

Listas de controle de acesso

Use listas de controle de acesso (ACLs) para aplicar níveis detalhados de acesso a diretórios e arquivos.

  • Se funções de acesso a dados, como Leitor de Dados do Blob de Armazenamento ou Colaborador de Dados do Blob de Armazenamento, forem encontradas para a entidade de segurança, uma verificação será executada para verificar se a função tem as permissões para executar ações como Gravar, Ler e Excluir. Nesse caso, a entidade de segurança pode acessar todos os arquivos e pastas, com base na função de contêiner.
    • Não há verificações extras de ACL nos arquivos ou pastas.
  • Se uma função de acesso a dados não for encontrada para a entidade de segurança no nível do contêiner de armazenamento, as verificações de ACL serão executadas nos arquivos e pastas.

Recursos