Zachowywanie metadanych i list ACL przy użyciu działania kopiowania w usłudze Azure Data Factory lub Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Jeśli używasz działania kopiowania potoków usługi Azure Data Factory lub Synapse Analytics do kopiowania danych ze źródła do ujścia, w poniższych scenariuszach można również zachować metadane i listy ACL.

Zachowywanie metadanych na potrzeby migracji w usłudze Lake

Podczas migracji danych z jednego magazynu data lake do innego, w tym usług Amazon S3, Azure Blob, Azure Data Lake Storage Gen2 i Azure Files, możesz zachować metadane pliku wraz z danymi.

działanie Kopiuj obsługuje zachowywanie następujących atrybutów podczas kopiowania danych:

  • Wszystkie metadane określone przez klienta
  • A następujące pięć wbudowanych właściwości systemu magazynu danych: contentType, contentLanguage (z wyjątkiem Amazon S3), contentEncoding, , contentDispositioncacheControl.

Obsługa różnic w metadanych: usługi Amazon S3 i Azure Storage umożliwiają używanie różnych zestawów znaków w kluczach określonych metadanych klienta. Jeśli zdecydujesz się zachować metadane przy użyciu działania kopiowania, usługa automatycznie zastępuje nieprawidłowe znaki znaki '_'.

Podczas kopiowania plików zgodnie z rzeczywistym użyciem z usługi Amazon S3/Azure Data Lake Storage Gen2/Azure Blob Storage/Azure Files do usługi Azure Data Lake Storage Gen2/Azure Blob Storage/Azure Files w formacie binarnym możesz znaleźć opcję Zachowaj na karcie Działanie> kopiowania Ustawienia na potrzeby tworzenia działań lub strony Ustawienia w narzędziu do kopiowania danych.

Copy activity preserve metadata

Oto przykład konfiguracji JSON działania kopiowania (zobacz 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"
            }
        ]
    }
]

Zachowywanie list ACL z usługi Data Lake Storage Gen1/Gen2 do gen2

Podczas uaktualniania z usługi Azure Data Lake Storage Gen1 do generacji2 lub kopiowania danych między usługą ADLS Gen2 można zachować listy kontroli dostępu (ACL) POSIX wraz z plikami danych. Aby uzyskać więcej informacji na temat kontroli dostępu, zobacz Kontrola dostępu w usłudze Azure Data Lake Storage Gen1 i Kontrola dostępu w usłudze Azure Data Lake Storage Gen2.

działanie Kopiuj obsługuje zachowywanie następujących typów list ACL podczas kopiowania danych. Możesz wybrać jeden lub więcej typów:

  • Lista ACL: Kopiowanie i zachowywanie list kontroli dostępu POSIX w plikach i katalogach. Kopiuje pełne istniejące listy ACL ze źródła do ujścia.
  • Właściciel: skopiuj i zachowaj użytkownika właściciela plików i katalogów. Wymagany jest dostęp administratora do ujścia usługi Data Lake Storage Gen2.
  • Grupa: skopiuj i zachowaj grupę będącą właścicielem plików i katalogów. Dostęp administratora do ujścia usługi Data Lake Storage Gen2 lub użytkownika będącego właścicielem (jeśli użytkownik będący właścicielem jest również członkiem grupy docelowej) jest wymagany.

Jeśli określisz, że chcesz skopiować z folderu, usługa replikuje listy ACL dla danego folderu oraz pliki i katalogi w nim, jeśli recursive jest ustawiona na wartość true. Jeśli określisz skopiowanie z pojedynczego pliku, listy ACL w tym pliku zostaną skopiowane.

Uwaga

Jeśli używasz działania kopiowania do zachowywania list ACL z usługi Data Lake Storage Gen1/Gen2 do gen2, istniejące listy ACL odpowiedniego folderu/plików ujścia Gen2 zostaną zastąpione.

Ważne

Jeśli zdecydujesz się zachować listy ACL, upewnij się, że przyznasz usłudze wystarczające uprawnienia do działania względem konta usługi Data Lake Storage Gen2 ujścia. Na przykład użyj uwierzytelniania klucza konta lub przypisz rolę Właściciela danych obiektu blob usługi Storage do jednostki usługi lub tożsamości zarządzanej.

Po skonfigurowaniu źródła jako usługi Data Lake Storage Gen1/Gen2 przy użyciu formatu binarnego lub opcji kopiowania binarnego i ujścia jako data Lake Storage Gen2 z formatem binarnym lub opcją kopiowania binarnego możesz znaleźć opcję Zachowaj na stronie Ustawienia w narzędziu do kopiowania danych lub na karcie Działanie> kopiowania Ustawienia na potrzeby tworzenia działań.

Data Lake Storage Gen1/Gen2 to Gen2 Preserve ACL

Oto przykład konfiguracji JSON działania kopiowania (zobacz 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"
            }
        ]
    }
]

Zobacz inne artykuły dotyczące działania kopiowania: