Risolvere i problemi dei connettori Archiviazione di Azure Data Lake in Azure Data Factory e Azure Synapse

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo fornisce suggerimenti per risolvere i problemi comuni relativi ai connettori di Azure Data Lake Archiviazione Gen1 e Gen2 in Azure Data Factory e Azure Synapse.

Azure Data Lake Storage Gen1

Messaggio di errore: La connessione sottostante è stata chiusa: impossibile stabilire una relazione di trust per il canale sicuro SSL/TLS.

  • Sintomi: attività Copy ha esito negativo con l'errore seguente:

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

  • Causa: la convalida del certificato non è riuscita durante l'handshake TLS.

  • Soluzione: come soluzione alternativa, usare la copia di staging per ignorare la convalida tls (Transport Layer Security) per Azure Data Lake Archiviazione Gen1. È necessario riprodurre questo problema e raccogliere la traccia di monitoraggio di rete (netmon) e quindi contattare il team di rete per controllare la configurazione della rete locale.

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

Messaggio di errore: Il server remoto ha restituito un errore: (403) Accesso negato

  • Sintomi: attività Copy hanno esito negativo con l'errore seguente:

    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: una possibile causa è che l'entità servizio o l'identità gestita usata non dispone dell'autorizzazione per accedere a determinate cartelle o file.

  • Soluzione: concedere le autorizzazioni appropriate a tutte le cartelle e le sottocartelle da copiare. Per altre informazioni, vedere Copiare dati da o verso Azure Data Lake Archiviazione Gen1.

Messaggio di errore: Impossibile ottenere il token di accesso tramite l'entità servizio. Errore ADAL: service_unavailable

  • Sintomi: attività Copy ha esito negativo con l'errore seguente:

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

  • Causa: quando il server token di servizio (STS) di proprietà di Microsoft Entra ID non è disponibile, significa che è troppo occupato per gestire le richieste e restituisce l'errore HTTP 503.

  • Soluzione: eseguire di nuovo l'attività di copia dopo alcuni minuti.

Azure Data Lake Storage Gen2

Codice errore: ADLSGen2OperationFailed

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

  • Cause e raccomandazioni: cause diverse possono causare questo errore. Controllare sotto l'elenco per individuare le possibili cause di analisi e raccomandazioni correlate.

    Analisi delle cause Elemento consigliato
    Se Azure Data Lake Archiviazione Gen2 genera un errore che indica che un'operazione non è riuscita. Controllare il messaggio di errore dettagliato generato da Azure Data Lake Archiviazione Gen2. Se l'errore è un errore temporaneo, ripetere l'operazione. Per altre informazioni, contattare Archiviazione di Azure supporto tecnico e specificare l'ID richiesta nel messaggio di errore.
    Se il messaggio di errore contiene la stringa "Accesso negato", l'entità servizio o l'identità gestita usata potrebbe non avere autorizzazioni sufficienti per accedere ad Azure Data Lake Archiviazione Gen2. Per risolvere questo errore, vedere Copiare e trasformare i dati in Azure Data Lake Archiviazione Gen2.
    Se il messaggio di errore contiene la stringa "InternalServerError", l'errore viene restituito da Azure Data Lake Archiviazione Gen2. L'errore potrebbe essere causato da un errore temporaneo. In questo caso, provare a ripetere l'operazione. Se il problema persiste, contattare Archiviazione di Azure supporto tecnico e fornire l'ID richiesta dal messaggio di errore.
    Se il messaggio di errore è Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host, il runtime di integrazione presenta un problema di rete per la connessione ad Azure Data Lake Archiviazione Gen2. Nell'impostazione della regola del firewall di Azure Data Lake Archiviazione Gen2 verificare che gli indirizzi IP di Azure Data Factory siano inclusi nell'elenco consentito. Per altre informazioni, vedere Configurare i firewall e le reti virtuali di Archiviazione di Azure.
    Se il messaggio di errore è This endpoint does not support BlobStorageEvents or SoftDelete, si usa un servizio collegato Azure Data Lake Archiviazione Gen2 per connettersi a un account Archiviazione BLOB di Azure che abilita gli eventi di archiviazione BLOB o l'eliminazione temporanea. Provare le opzioni seguenti:
    1. Se si vuole comunque usare un servizio collegato Azure Data Lake Archiviazione Gen2, aggiornare il Archiviazione BLOB di Azure ad Azure Data Lake Archiviazione Gen2. Per altre informazioni, vedere Aggiornare Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Archiviazione Gen2.
    2. Impostare il servizio collegato su Archiviazione BLOB di Azure.
    3. Disabilitare gli eventi di archiviazione BLOB o l'eliminazione temporanea nell'account Archiviazione BLOB di Azure.

La richiesta all'account Azure Data Lake Archiviazione Gen2 ha causato un errore di timeout

  • Messaggio:

    • Codice errore = UserErrorFailedBlobFSOperation
    • Messaggio di errore = BlobFS operation failed for: A task was canceled.
  • Causa: il problema è causato dall'errore di timeout sink di Azure Data Lake Archiviazione Gen2, che in genere si verifica nel computer runtime di integrazione self-hosted.

  • Raccomandazione:

    • Posizionare il computer del runtime di integrazione self-hosted e l'account Azure Data Lake Archiviazione Gen2 nella stessa area, se possibile. Ciò consente di evitare un errore di timeout casuale e produrre prestazioni migliori.

    • Controllare se è presente un'impostazione di rete speciale, ad esempio ExpressRoute, e assicurarsi che la rete disponga di una larghezza di banda sufficiente. È consigliabile ridurre l'impostazione dei processi simultanei del runtime di integrazione self-hosted quando la larghezza di banda complessiva è bassa. In questo modo è possibile evitare la concorrenza delle risorse di rete tra più processi simultanei.

    • Se le dimensioni del file sono moderate o ridotte, usare una dimensione del blocco inferiore per la copia nonbinary per attenuare un errore di timeout di questo tipo. Per altre informazioni, vedere BLOB Archiviazione Put Block.

      Per specificare le dimensioni del blocco personalizzate, modificare la proprietà nell'editor di file JSON, come illustrato di seguito:

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

L'attività di copia non è in grado di selezionare i file da Azure Data Lake Archiviazione Gen2

  • Sintomi: l'attività di copia non è in grado di selezionare i file da Azure Data Lake Archiviazione Gen2 quando il nome del file è "Asset_Metadata". Il problema si verifica solo nel set di dati di tipo Parquet. Altri tipi di set di dati con lo stesso nome file funzionano correttamente.

  • Causa: per la compatibilità con le versioni precedenti, _metadata viene considerata una sottostringa riservata nel nome file.

  • Raccomandazione: Modificare il nome del file per evitare l'elenco riservato per Parquet di seguito:

    1. Il nome del file contiene _metadata.
    2. Il nome del file inizia con . (punto).

Codice errore: ADLSGen2ForbiddenError

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

  • Causa: le cause possono essere due:

    1. Il runtime di integrazione è bloccato dall'accesso di rete nelle impostazioni del firewall dell'account di archiviazione di Azure.
    2. L'entità servizio o l'identità gestita non dispone di autorizzazioni sufficienti per accedere ai dati.
  • Raccomandazione:

    1. Controllare le impostazioni di rete dell'account di archiviazione di Azure per verificare se l'accesso alla rete pubblica è disabilitato. Se disabilitato, usare un runtime di integrazione della rete virtuale gestita e creare un endpoint privato per accedere. Per altre informazioni, vedere Rete virtuale gestita e Creare una pipeline di copia usando reti virtuali gestite ed endpoint privati.

    2. Se sono state abilitate le reti virtuali e gli indirizzi IP selezionati nell'impostazione di rete dell'account di archiviazione di Azure:

      1. È possibile perché alcuni intervalli di indirizzi IP del runtime di integrazione non sono consentiti dalle impostazioni del firewall dell'account di archiviazione. Aggiungere gli indirizzi IP del runtime di integrazione di Azure o l'indirizzo IP del runtime di integrazione self-hosted al firewall dell'account di archiviazione. Per gli indirizzi IP del runtime di integrazione di Azure, vedere Indirizzi IP del runtime di integrazione di Azure e per informazioni su come aggiungere intervalli IP nel firewall dell'account di archiviazione, vedere Gestione delle regole di rete IP.

      2. Se si consente ai servizi di Azure attendibili di accedere a questo account di archiviazione nel firewall, è necessario usare l'autenticazione dell'identità gestita nell'attività di copia.

      Per altre informazioni sulle impostazioni dei firewall dell'account di archiviazione di Azure, vedere Configurare Archiviazione di Azure firewall e reti virtuali.

    3. Se si usa l'entità servizio o l'autenticazione dell'identità gestita, concedere all'entità servizio o all'identità gestita le autorizzazioni appropriate per eseguire la copia. Per l'origine, almeno il ruolo lettore di dati BLOB Archiviazione. Per sink, almeno il ruolo Collaboratore dati BLOB Archiviazione. Per altre informazioni, vedere Copiare e trasformare i dati in Azure Data Lake Archiviazione Gen2.

Per altre informazioni sulla risoluzione dei problemi, usare le risorse seguenti: