Share via


Solucionar problemas dos conectores do Azure Data Lake Storage no Azure Data Factory e no Azure Synapse

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Este artigo apresenta sugestões para solucionar problemas comuns dos conectores do Azure Data Lake Storage Gen1 e Gen2 no Azure Data Factory e no Azure Synapse.

Azure Data Lake Storage Gen1

Mensagem de erro: A conexão subjacente foi fechada: não foi possível estabelecer uma relação de confiança para o canal seguro SSL/TLS.

  • Sintomas: falha na atividade Copy com o seguinte erro:

    Message: ErrorCode = UserErrorFailedFileOperation, Error Message = The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

  • Causa: falha na validação do certificado durante o handshake de TLS.

  • Resolução: como solução alternativa, use a cópia preparada para ignorar a validação de TLS (Transport Layer Security) para o Azure Data Lake Storage Gen1. Você precisa reproduzir esse problema e reunir o rastreamento do monitor de rede (netmon) e, em seguida, envolver sua equipe de rede para verificar a configuração de rede local.

    Diagram of Azure Data Lake Storage Gen1 connections for troubleshooting issues.

Mensagem de erro: O servidor remoto retornou um erro: (403) Forbidden

  • Sintomas: Falha na atividade de cópia com o seguinte erro:

    Message: The remote server returned an error: (403) Forbidden. Response details: {"RemoteException":{"exception":"AccessControlException""message":"CREATE failed with error 0x83090aa2 (Forbidden. ACL verification failed. Either the resource does not exist or the user is not authorized to perform the requested operation.)....

  • Causa: uma causa possível é que a entidade de serviço ou a identidade gerenciada que você usa não tem permissão para acessar a pasta e o arquivo específicos.

  • Resolução: conceda permissões correspondentes em todas as pastas e subpastas que você precisa copiar. Para saber mais, confira Copiar dados para ou do Azure Data Lake Storage Gen1.

Mensagem de erro: Falha ao obter o token de acesso usando a entidade de serviço. Erro de ADAL: service_unavailable

  • Sintomas: falha na atividade Copy com o seguinte erro:

    Failed to get access token by using service principal. ADAL Error: service_unavailable, The remote server returned an error: (503) Server Unavailable.

  • Causa: quando o STS (Servidor de Token de Serviço) que pertence à ID do Microsoft Entra não está disponível, isso significa que ele está muito ocupado para lidar com solicitações e retorna o erro HTTP 503.

  • Resolução: Execute a atividade de cópia novamente após alguns minutos.

Azure Data Lake Storage Gen2

Código de erro: ADLSGen2OperationFailed

  • Mensagem: ADLS Gen2 operation failed for: %adlsGen2Message;.%exceptionData;.

  • Causas e recomendações: causas diferentes podem levar a esse erro. Marque a lista abaixo para obter a possível análise de causa e a recomendação relacionada.

    Análise da causa Recomendação
    Se o Azure Data Lake Storage Gen2 gera um erro indicando que uma operação falhou. Verifique a mensagem de erro detalhada lançada pelo Azure Data Lake Storage Gen2. Se o erro for uma falha transitória, repita a operação. Para obter mais ajuda, entre em contato com o suporte do Armazenamento do Microsoft Azure e forneça a ID da solicitação na mensagem de erro.
    Se a mensagem de erro contiver a string "Proibido", a entidade de serviço ou a identidade gerenciada que você usa pode não ter permissão suficiente para acessar o Azure Data Lake Storage Gen2. Para solucionar esse erro, confira Copiar e transformar dados no Azure Data Lake Storage Gen2.
    Se a mensagem de erro contiver a string "InternalServerError", o erro será retornado pelo Azure Data Lake Storage Gen2. O erro pode ser causado por uma falha temporária. Nesse caso, repita a operação. Se o problema persistir, entre em contato com o suporte do Armazenamento do Microsoft Azure e forneça a ID da solicitação da mensagem de erro.
    Se a mensagem de erro for Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host, o runtime de integração terá um problema de rede ao conectar o Azure Data Lake Storage Gen2. Na configuração de regra de firewall do Azure Data Lake Storage Gen2, verifique se os endereços IP do Azure Data Factory estão na lista permitida. Para saber mais, consulte Configurar Redes Virtuais e Firewalls de Armazenamento do Azure.
    Se a mensagem de erro for This endpoint does not support BlobStorageEvents or SoftDelete, significa que um serviço vinculado do Azure Data Lake Storage Gen2 está sendo usado para conectar uma conta de Armazenamento de Blobs do Azure que permite eventos de armazenamento de Blobs ou exclusão temporária. Tente as seguintes opções:
    1. Se ainda quiser usar um serviço vinculado do Azure Data Lake Storage Gen2, atualize o Armazenamento de Blobs do Azure para o Azure Data Lake Storage Gen2. Para obter mais informações, consulte Atualizar o Armazenamento de Blobs do Azure com recursos do Azure Data Lake Storage Gen2.
    2. Alterne o serviço vinculado para o Armazenamento de Blobs do Azure.
    3. Desabilite os eventos de armazenamento de Blobs ou a exclusão temporária na conta de Armazenamento de Blobs do Azure.

A solicitação para a conta do Azure Data Lake Storage Gen2 causou um erro de tempo limite

  • Mensagem:

    • Código de erro = UserErrorFailedBlobFSOperation
    • Mensagem de erro = BlobFS operation failed for: A task was canceled.
  • Causa: o problema é causado pelo erro de tempo limite do coletor do Azure Data Lake Storage Gen2, que geralmente ocorre na máquina do Integration Runtime do IR auto-hospedado (IR).

  • Recomendação:

    • Coloque sua máquina de IR auto-hospedado e a conta do Azure Data Lake Storage Gen2 de destino na mesma região, se possível. Isso pode ajudar a evitar um erro de tempo limite aleatório e produzir um melhor desempenho.

    • Verifique se há uma configuração de rede especial, como ExpressRoute, e certifique-se de que a rede tenha largura de banda suficiente. Sugerimos que você diminua a configuração de trabalhos simultâneos de IR auto-hospedados quando a largura de banda geral estiver baixa. Isso pode ajudar a evitar a competição de recursos de rede em vários trabalhos simultâneos.

    • Se o tamanho do arquivo for moderado ou pequeno, use um tamanho de bloco menor para a cópia não binária para mitigar esse erro de tempo limite. Para obter mais informações, consulte Associações de armazenamento de blobs.

      Para especificar o tamanho do bloco personalizado, edite a propriedade em seu editor de arquivo JSON conforme mostrado aqui:

      "sink": {
          "type": "DelimitedTextSink",
          "storeSettings": {
              "type": "AzureBlobFSWriteSettings",
              "blockSizeInMB": 8
          }
      }
      

A atividade de cópia não é capaz de escolher arquivos do Azure Data Lake Storage Gen2

  • Sintomas: a atividade de cópia não é capaz de escolher arquivos do Azure Data Lake Storage Gen2 quando o nome do arquivo é "Asset_Metadata". O problema ocorre apenas no conjunto tipo Parquet. Outros tipos de conjuntos de arquivos com o mesmo nome de arquivo funcionam corretamente.

  • Causa: para a compatibilidade com versões anteriores, _metadata é tratado como uma substring de caracteres reservada no nome do arquivo.

  • Recomendação: altere o nome do arquivo para evitar a lista reservada para Parquet abaixo:

    1. O nome do arquivo contém _metadata.
    2. O nome do arquivo começa com . (dot).

Código de erro: ADLSGen2ForbiddenError

  • Mensagem: ADLS Gen2 failed for forbidden: Storage operation % on % get failed with 'Operation returned an invalid status code 'Forbidden'.

  • Causa: Há duas causas possíveis:

    1. O runtime de integração é bloqueado pelo acesso à rede nas configurações de firewall da conta de armazenamento do Azure.
    2. A entidade de serviço ou a identidade gerenciada não têm permissão suficiente para acessar os dados.
  • Recomendação:

    1. Verifique as configurações de rede da conta de armazenamento do Azure para ver se o acesso à rede pública está desabilitado. Se estiver desabilitado, use um runtime de integração de rede virtual gerenciada e crie um ponto de extremidade privado para acessar. Para obter mais informações, consulte Rede virtual gerenciada e Criar um pipeline de cópia usando VNet gerenciada e pontos de extremidade privados.

    2. Se você habilitou redes virtuais selecionadas e endereços IP na configuração de rede da conta de armazenamento do Azure:

      1. Isso é possível porque alguns intervalos de endereços IP do runtime de integração não são permitidos pelas configurações de firewall da conta de armazenamento. Adicione os endereços IP do Azure Integration Runtime ou o endereço IP do runtime de integração auto-hospedada ao firewall da conta de armazenamento. Para endereços IP do runtime de integração do Azure, consulte Endereços IP do Azure Integration Runtime, e para saber como adicionar intervalos de IP no firewall da conta de armazenamento, consulte Gerenciar regras de rede IP.

      2. Se você permitir que serviços confiáveis do Azure acessem essa conta de armazenamento no firewall, deverá usar a autenticação de identidade gerenciada na atividade de cópia.

      Para obter mais informações sobre as configurações dos firewalls da conta de armazenamento do Microsoft Azure, consulte Como configurar Redes Virtuais e Firewalls de Armazenamento do Azure.

    3. Se você usar a entidade de serviço ou a autenticação de identidade gerenciada, conceda à entidade de serviço ou à identidade gerenciada permissões apropriadas para fazer a cópia. Para a fonte, no mínimo a função de Leitor de Dados do Blob de Armazenamento. Para o coletor, pelo menos a função Colaborador de Dados do Blob de Armazenamento. Para obter mais informações, consulte Copiar e transformar dados no Azure Data Lake Storage Gen2.

Para obter mais ajuda com a solução de problemas, experimente estes recursos: