Metagegevens en ACL's behouden met behulp van kopieeractiviteit in Azure Data Factory of Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Wanneer u kopieeractiviteit van Azure Data Factory of Synapse Analytics-pijplijnen gebruikt om gegevens van bron naar sink te kopiëren, kunt u in de volgende scenario's ook de metagegevens en ACL's behouden.

Metagegevens behouden voor lake-migratie

Wanneer u gegevens migreert van de ene data lake naar een andere, waaronder Amazon S3, Azure Blob, Azure Data Lake Storage Gen2 en Azure Files, kunt u ervoor kiezen om de metagegevens van het bestand samen met gegevens te behouden.

Copy-activiteit ondersteunt het behouden van de volgende kenmerken tijdens het kopiëren van gegevens:

  • Alle door de klant opgegeven metagegevens
  • En de volgende vijf ingebouwde systeemeigenschappen voor gegevensopslag: contentType, ( contentLanguage met uitzondering van Amazon S3), contentEncoding, contentDisposition, . cacheControl

Verschillen in metagegevens verwerken: Amazon S3 en Azure Storage staan verschillende sets tekens toe in de sleutels van door de klant opgegeven metagegevens. Wanneer u ervoor kiest om metagegevens te behouden met behulp van kopieeractiviteit, vervangt de service automatisch de ongeldige tekens door '_'.

Wanneer u bestanden vanuit Amazon S3/Azure Data Lake Storage Gen2/Azure Blob Storage/Azure Files kopieert naar Azure Data Lake Storage Gen2/Azure Blob Storage/Azure Files met binaire indeling, kunt u de optie Behouden vinden op het tabblad Kopieeractiviteit> Instellingen voor het ontwerpen van activiteiten of de pagina Instellingen in het hulpprogramma Voor kopiëren van gegevens.

Copy activity preserve metadata

Hier volgt een voorbeeld van de JSON-configuratie van kopieeractiviteit (zie 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"
            }
        ]
    }
]

ACL's van Data Lake Storage Gen1/Gen2 behouden naar Gen2

Wanneer u een upgrade uitvoert van Azure Data Lake Storage Gen1 naar Gen2 of gegevens kopieert tussen ADLS Gen2, kunt u ervoor kiezen om de POSIX-toegangsbeheerlijsten (ACL's) samen met gegevensbestanden te behouden. Zie Toegangsbeheer in Azure Data Lake Storage Gen1 en toegangsbeheer in Azure Data Lake Storage Gen2 voor meer informatie over toegangsbeheer.

Copy-activiteit ondersteunt het behouden van de volgende typen ACL's tijdens het kopiëren van gegevens. U kunt een of meer typen selecteren:

  • ACL: POSIX-toegangsbeheerlijsten kopiëren en behouden voor bestanden en mappen. Hiermee worden de volledige bestaande ACL's van bron naar sink gekopieerd.
  • Eigenaar: Kopieer en behoud de gebruiker die eigenaar is van bestanden en mappen. Supergebruikertoegang tot sink Data Lake Storage Gen2 is vereist.
  • Groep: Kopieer en behoud de groep die eigenaar is van bestanden en mappen. Supergebruikertoegang tot sink Data Lake Storage Gen2 of de gebruiker die eigenaar is (als de eigenaar ook lid is van de doelgroep) is vereist.

Als u opgeeft dat u wilt kopiëren uit een map, repliceert de service de ACL's voor die opgegeven map en de bestanden en mappen eronder, indien recursive ingesteld op waar. Als u opgeeft dat u wilt kopiëren uit één bestand, worden de ACL's in dat bestand gekopieerd.

Notitie

Wanneer u de kopieeractiviteit gebruikt om ACL's van Data Lake Storage Gen1/Gen2 naar Gen2 te behouden, worden de bestaande ACL's in de bijbehorende map/bestanden van sink Gen2 overschreven.

Belangrijk

Wanneer u ervoor kiest om ACL's te behouden, moet u ervoor zorgen dat u voldoende machtigingen verleent voor de service om te werken met uw Sink Data Lake Storage Gen2-account. Gebruik bijvoorbeeld accountsleutelverificatie of wijs de rol Eigenaar van opslagblobgegevens toe aan de service-principal of beheerde identiteit.

Wanneer u de bron configureert als Data Lake Storage Gen1/Gen2 met binaire indeling of de optie voor binaire kopie, en sink als Data Lake Storage Gen2 met binaire indeling of de optie binaire kopie, kunt u de optie Behouden vinden op de Instellingen pagina in het hulpprogramma Voor kopiëren van gegevens of op het tabblad Kopieeractiviteit> Instellingen tabblad voor het ontwerpen van activiteiten.

Data Lake Storage Gen1/Gen2 to Gen2 Preserve ACL

Hier volgt een voorbeeld van de JSON-configuratie van kopieeractiviteit (zie 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"
            }
        ]
    }
]

Zie de andere artikelen over kopieeractiviteiten: