Risolvere i problemi relativi ai connettori di Azure Data Lake Storage 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 all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo fornisce suggerimenti per risolvere i problemi comuni relativi ai connettori di Azure Data Lake Storage Gen1 e Gen2 in Azure Data Factory e Azure Synapse.
Azure Data Lake Storage Gen1
Messaggio di errore: Connessione sottostante chiusa: impossibile stabilire una relazione di trust per il canale sicuro SSL/TLS.
Sintomi: l'attività Copy non riesce 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 Storage Gen1. È necessario riprodurre questo problema e raccogliere la traccia di monitoraggio di rete (netmon), quindi coinvolgere il team di rete per controllare la configurazione della rete locale.
Messaggio di errore: Errore del server remoto: (403) Accesso negato
Sintomi: l'attività Copy ha 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 delle possibili cause è che l'entità servizio o l'identità gestita usata non è autorizzata ad accedere a cartelle o file specifici.
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 Storage Gen1.
Message: non è stato possibile ottenere il token di accesso tramite l'entità servizio. Errore ADAL: service_unavailable
Sintomi: l'attività Copy non riesce 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.
Risoluzione: Eseguire di nuovo l'attività Copy 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 l'elenco di seguito per un’analisi delle possibili cause e raccomandazioni correlate.
Analisi delle cause Elemento consigliato Se Azure Data Lake Storage Gen2 genera un errore che indica che un'operazione non è riuscita. Controllare il messaggio di errore dettagliato generato da Azure Data Lake Storage Gen2. Se l'errore è temporaneo, ripetere l'operazione. Per ulteriore assistenza, contattare il supporto di Archiviazione di Azure e fornire l'ID richiesta presente 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 Storage Gen2. Per risolvere questo errore, vedere Copiare e trasformare i dati in Azure Data Lake Storage Gen2. Se il messaggio di errore contiene la stringa "InternalServerError", l'errore viene restituito da Azure Data Lake Storage Gen2. L'errore potrebbe essere causato da un problema temporaneo. In questo caso, provare a ripetere l'operazione. Se il problema persiste, contattare il supporto di Archiviazione di Azure e fornire l'ID richiesta presente nel 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 Storage Gen2.Nell'impostazione della regola del firewall di Azure Data Lake Storage 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 Storage Gen2 per connettersi a un account di 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 Storage Gen2, aggiornare l'archiviazione BLOB di Azure ad Azure Data Lake Storage Gen2. Per altre informazioni, vedere Aggiornare Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Storage Gen2.
2. Passare il servizio collegato ad Archiviazione BLOB di Azure.
3. Disabilitare gli eventi di archiviazione BLOB o l'eliminazione temporanea nell'account di archiviazione BLOB di Azure.
La richiesta all'account Azure Data Lake Storage Gen2 ha causato un errore di timeout
Messaggio:
- Codice errore =
UserErrorFailedBlobFSOperation
- Messaggio di errore =
BlobFS operation failed for: A task was canceled.
- Codice errore =
Causa: il problema è causato dall'errore di timeout del sink di Azure Data Lake Storage Gen2, che in genere si verifica nel computer runtime di integrazione (IR) self-hosted.
Raccomandazione:
Posizionare il computer del runtime di integrazione self-hosted e impostare come destinazione l'account Azure Data Lake Storage Gen2 nella stessa area, se possibile. Ciò consente di evitare un errore di timeout casuale e avere 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 abbassare 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 Storage 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 Storage Gen2
Sintomi: l'attività di copia non è in grado di selezionare i file da Azure Data Lake Storage Gen2 quando il nome 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:
- Il nome del file contiene
_metadata
. - Il nome del file inizia con
.
(punto).
- Il nome del file contiene
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:
- Il runtime di integrazione è bloccato dall'accesso di rete nelle impostazioni del firewall dell'account di archiviazione di Azure.
- L'entità servizio o l'identità gestita non dispone di autorizzazioni sufficienti per accedere ai dati.
Raccomandazione:
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.
Se sono state abilitate le reti virtuali e gli indirizzi IP selezionati nell'impostazione di rete dell'account di archiviazione di Azure:
È 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.
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à Copy.
Per altre informazioni sulle impostazioni dei firewall dell’account di archiviazione di Microsoft Azure, vedere Configurare i firewall e le reti virtuali di Archiviazione di Azure.
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 dati BLOB di archiviazione. Per sink, almeno il ruolo Collaboratore dati BLOB di archiviazione. Per altre informazioni, vedere Copiare e trasformare i dati in Azure Data Lake Storage Gen2.
Contenuto correlato
Per altre informazioni sulla risoluzione dei problemi, usare le risorse seguenti: