Risolvere i problemi di accesso all'archiviazione del pool Apache Spark di Azure Synapse Analytics

Si applica a: Azure Synapse Analytics

Apache Spark è un framework di elaborazione parallela che supporta l'elaborazione in memoria per migliorare le prestazioni delle applicazioni di analisi dei Big Data. Apache Spark in Azure Synapse Analytics è una delle implementazioni Microsoft di Apache Spark nel cloud. Azure Synapse semplifica la creazione e la configurazione di un pool di Apache Spark serverless in Azure. I pool Spark in Azure Synapse sono compatibili con Archiviazione di Azure e Archiviazione Azure Data Lake Generation 2. È quindi possibile usare i pool di Spark per elaborare i dati archiviati in Azure.

Se si verificano problemi di accesso all'archiviazione del pool, ad esempio errori "403" o errori dell'area di lavoro Synapse per trovare i servizi collegati, usare le indicazioni fornite per risolvere i problemi.

Scenari non supportati

I casi d'uso seguenti non sono supportati quando ci si connette a un account di archiviazione da un pool di Synapse Spark:

  • Connessione all'account di archiviazione ADLS Gen 1
  • Connessione all'account di archiviazione ADLS Gen 2 con identità gestita assegnata dall'utente
  • Connessione all'account di archiviazione ADLS Gen2 con:
    • Area di lavoro Synapse rete virtuale condivisa
    • Account di archiviazione abilitato per il firewall

Problemi e soluzioni comuni

Error Soluzione
"errorMessage":"LSRServiceException è [{"StatusCode":400,"ErrorResponse":{"code":"LSRLinkedServiceFailure","message":"Impossibile trovare il servizio collegato AzureDataLakeStorage1; Questo errore viene generato se un'area di lavoro Synapse è associata a un repository Git, Azure DevOps Services o GitHub. Viene generato anche quando un artefatto, ad esempio un notebook o un servizio collegato, non viene pubblicato.

Pubblicare manualmente le modifiche al codice nel ramo di collaborazione nel servizio Synapse.
stdout: eccezione nel thread "main" org.apache.hadoop.fs.FileAlreadyExistsException: operazione non riuscita: "Questo endpoint non supporta BlobStorageEvents o SoftDelete. Disabilitare queste funzionalità dell'account se si vuole usare questo endpoint.", 409, HEAD, https://< storageaccountname.dfs.core.windows.net/scripts/?upn=false&> action=getAccessControl&timeout=90 Verificare che l'archiviazione di ADLS Gen2 sia configurata come risorsa di archiviazione primaria.

Per disabilitare SoftDelete, deselezionare la casella di controllo Abilita eliminazione temporanea BLOB per l'account di archiviazione.

Risoluzione dei problemi di '403'

Accesso all'archiviazione e accesso all'account

  • Per scrivere nell'archiviazione tramite una pipeline, l'identità del servizio gestito dell'area di lavoro di Synapse è l'entità di sicurezza che esegue qualsiasi operazione, ad esempio lettura, scrittura ed eliminazione nell'archiviazione.
    • Assicurarsi che l'account MSI dell'area di lavoro abbia il ruolo Collaboratore dati BLOB di archiviazione per eseguire tutte le azioni.
  • Se si usa Azure Notebooks per accedere all'account di archiviazione, usare l'account connesso, a meno che non si accaccessa all'archiviazione tramite servizi collegati.
    • L'account utente connesso deve avere il ruolo Collaboratore dati BLOB di archiviazione per avere accesso completo e autorizzazioni.
  • Per connettersi all'archiviazione, usare l'autenticazione del servizio collegato e dell'entità servizio. Quindi, all'applicazione registrata in Azure Active deve essere assegnato "Collaboratore ai dati del BLOB di archiviazione" nell'archiviazione di Azure.

Per l'implementazione del controllo degli accessi in base al ruolo nell'archiviazione, i dettagli vengono controllati a livello di contenitore. Per altre informazioni, vedere Modello di controllo di accesso in Azure Data Lake Storage Gen2.

Controllo degli accessi in base al ruolo di Azure

Il controllo degli accessi in base al ruolo di Azure usa le assegnazioni di ruolo per applicare set di autorizzazioni alle entità di sicurezza, ad esempio l'identità del servizio gestito dell'area di lavoro synapse, l'utente connesso o il registro applicazioni nel Microsoft Entra ID. Ruoli come Proprietario, Collaboratore, Lettore e Collaboratore account di archiviazione consentono a un'entità di sicurezza di gestire un account di archiviazione.

Elenchi di controllo di accesso

Usare gli elenchi di controllo di accesso (ACL) per applicare livelli dettagliati di accesso a directory e file.

  • Se vengono trovati ruoli di accesso ai dati come Lettore dati BLOB di archiviazione o Collaboratore dati BLOB di archiviazione per l'entità di sicurezza, viene eseguito un controllo per verificare se il ruolo dispone delle autorizzazioni per eseguire azioni quali Scrittura, Lettura ed Eliminazione. In tal caso, l'entità di sicurezza potrebbe accedere a tutti i file e le cartelle, in base al ruolo del contenitore.
    • Non sono previsti controlli ACL aggiuntivi per i file o le cartelle.
  • Se non viene trovato un ruolo di accesso ai dati per l'entità di sicurezza a livello di contenitore di archiviazione, i controlli ACL vengono eseguiti nei file e nelle cartelle.

Risorse