Condividi tramite


Mantenere metadati e ACL usando l'attività di copia in Azure Data Factory o Synapse Analytics

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!

Quando si usa l'attività di copia delle pipeline di Azure Data Factory o Synapse Analytics per copiare i dati dall'origine al sink, negli scenari seguenti è anche possibile conservare i metadati e gli ACL.

Conservare i metadati per la migrazione lake

Quando si esegue la migrazione dei dati da un data lake a un altro, tra cui Amazon S3, BLOB di Azure, Azure Data Lake Storage Gen2 e File di Azure, è possibile scegliere di mantenere i metadati del file insieme ai dati.

attività Copy supporta il mantenimento degli attributi seguenti durante la copia dei dati:

  • Tutti i metadati specificati dal cliente
  • E le cinque proprietà di sistema predefinite dell'archivio dati seguenti: contentType, contentLanguage (ad eccezione di Amazon S3), contentEncoding, , contentDispositioncacheControl.

Gestire le differenze nei metadati: Amazon S3 e Archiviazione di Azure consentono diversi set di caratteri nelle chiavi dei metadati specificati dal cliente. Quando si sceglie di mantenere i metadati usando l'attività di copia, il servizio sostituisce automaticamente i caratteri non validi con '_'.

Quando si copiano i file così come sono da Amazon S3/Azure Data Lake Storage Gen2/Archiviazione BLOB di Azure/File di Azure ad Azure Data Lake Storage Gen2/Archiviazione BLOB di Azure/File di Azure con formato binario, è possibile trovare l'opzione Mantieni nella scheda Impostazioni attività>di copia per la creazione di attività o la pagina Impostazioni in Copia dati strumento.

attività Copy conservare i metadati

Ecco un esempio di configurazione JSON dell'attività di copia (vedere preserve):

"activities":[
    {
        "name": "CopyAndPreserveMetadata",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "BinarySource",
                "storeSettings": {
                    "type": "AmazonS3ReadSettings",
                    "recursive": true
                }
            },
            "sink": {
                "type": "BinarySink",
                "storeSettings": {
                    "type": "AzureBlobFSWriteSettings"
                }
            },
            "preserve": [
                "Attributes"
            ]
        },
        "inputs": [
            {
                "referenceName": "<Binary dataset Amazon S3/Azure Blob/ADLS Gen2 source>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Binary dataset for Azure Blob/ADLS Gen2 sink>",
                "type": "DatasetReference"
            }
        ]
    }
]

Mantenere gli elenchi di controllo di accesso da Data Lake Storage Gen1/Gen2 a Gen2

Quando si esegue l'aggiornamento da Azure Data Lake Storage Gen1 a Gen2 o si copiano dati tra ADLS Gen2, è possibile scegliere di mantenere gli elenchi di controllo di accesso POSIX (ACL) insieme ai file di dati. Per altre informazioni sul controllo di accesso, vedere Controllo di accesso in Azure Data Lake Storage Gen1 e Controllo di accesso in Azure Data Lake Storage Gen2.

attività Copy supporta il mantenimento dei tipi di ACL seguenti durante la copia dei dati. È possibile selezionare uno o più tipi:

  • ACL: copiare e mantenere gli elenchi di controllo di accesso POSIX nei file e nelle directory. Copia gli ACL completi dall'origine al sink.
  • Proprietario: copiare e mantenere l'utente proprietario di file e directory. È necessario l'accesso con privilegi avanzati utente al sink Data Lake Storage Gen2.
  • Gruppo: copiare e mantenere il gruppo proprietario di file e directory. È necessario l'accesso con privilegi avanzati utente al sink di Data Lake Storage Gen2 o all'utente proprietario (se l'utente proprietario è anche membro del gruppo di destinazione).

Se si specifica di copiare da una cartella, il servizio replica gli ACL per la cartella specificata e i file e le directory sottostanti, se recursive è impostato su true. Se si specifica di copiare da un singolo file, gli elenchi di controllo di accesso in tale file vengono copiati.

Nota

Quando si usa l'attività di copia per mantenere gli elenchi di controllo di accesso da Data Lake Storage Gen1/Gen2 a Gen2, gli ACL esistenti nella cartella o nei file corrispondenti di sink Gen2 verranno sovrascritti.

Importante

Quando si sceglie di mantenere gli elenchi di controllo di accesso, assicurarsi di concedere autorizzazioni sufficienti per il servizio per operare sull'account Data Lake Storage Gen2 sink. Ad esempio, usare l'autenticazione della chiave dell'account o assegnare il ruolo Proprietario dati BLOB di archiviazione all'entità servizio o all'identità gestita.

Quando si configura l'origine come Data Lake Storage Gen1/Gen2 con formato binario o l'opzione di copia binaria e il sink come Data Lake Storage Gen2 con formato binario o l'opzione copia binaria, è possibile trovare l'opzione Mantieni nella pagina Impostazioni in Copia dati strumento o nella scheda Impostazioni attività>di copia per la creazione di attività.

Conservazione ACL da Data Lake Storage Gen1/Gen2 a Gen2

Ecco un esempio di configurazione JSON dell'attività di copia (vedere preserve):

"activities":[
    {
        "name": "CopyAndPreserveACLs",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "BinarySource",
                "storeSettings": {
                    "type": "AzureDataLakeStoreReadSettings",
                    "recursive": true
                }
            },
            "sink": {
                "type": "BinarySink",
                "storeSettings": {
                    "type": "AzureBlobFSWriteSettings"
                }
            },
            "preserve": [
                "ACL",
                "Owner",
                "Group"
            ]
        },
        "inputs": [
            {
                "referenceName": "<Binary dataset name for Azure Data Lake Storage Gen1/Gen2 source>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Binary dataset name for Azure Data Lake Storage Gen2 sink>",
                "type": "DatasetReference"
            }
        ]
    }
]

Vedere gli altri articoli relativi all'attività di copia: