Mempertahankan metadata dan ACL menggunakan aktivitas penyalinan di Azure Data Factory atau Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Saat menggunakan alur aktivitas penyalinan Azure Data Factory atau Synapse Analytics untuk menyalin data dari sumber ke sink, dalam skenario berikut, Anda juga dapat mempertahankan metadata beserta ACL.

Mempertahankan metadata untuk migrasi danau

Saat Anda memigrasikan data dari satu data lake ke yang lain termasuk Amazon S3, Azure Blob, Azure Data Lake Storage Gen2, dan Azure Files, Anda dapat memilih untuk mempertahankan metadata file bersama dengan data.

Aktivitas penyalinan mendukung penyimpanan atribut berikut selama penyalinan data:

  • Semua metadata yang ditentukan pelanggan
  • Dan lima properti sistem bawaan penyimpanan data berikut: contentType, contentLanguage (kecuali untuk Amazon S3), contentEncoding, contentDisposition, cacheControl.

Menangani perbedaan dalam metadata: Amazon S3 dan Azure Storage memungkinkan kumpulan karakter yang berbeda dalam kunci metadata yang ditentukan pelanggan. Jika Anda memilih untuk mempertahankan metadata menggunakan aktivitas penyalinan, layanan secara otomatis mengganti karakter yang tidak valid dengan '_'.

Saat Anda menyalin file apa adanya dari Amazon S3/Azure Data Lake Storage Gen2/Azure Blob storage/Azure Files ke Azure Data Lake Storage Gen2/Azure Blob storage/Azure Files dengan format biner, Anda dapat menemukan opsi Pertahankan di tab pengaturan>Aktivitas Salin untuk penulisan aktivitas atau halaman Pengaturan di Alat Salin Data.

Copy activity preserve metadata

Berikut contoh konfigurasi JSON aktivitas penyalinan (lihat 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"
            }
        ]
    }
]

Mempertahankan ACL dari Data Lake Storage Gen1/Gen2 ke Gen2

Saat meningkatkan versi dari Azure Data Lake Storage Gen1 ke Gen2 atau menyalin data antara ADLS Gen2, Anda dapat memilih untuk mempertahankan daftar kontrol akses (ACL) POSIX beserta file data. Untuk mendapatkan informasi selengkapnya tentang kontrol akses, lihat Kontrol akses di Azure Data Lake Storage Gen1 dan Kontrol akses di Azure Data Lake Storage Gen2.

Aktivitas penyalinan mendukung penyimpanan jenis ACL berikut selama penyalinan data. Anda bisa memilih satu atau beberapa jenis:

  • ACL: Salin dan pertahankan daftar kontrol akses POSIX pada file dan direktori. Ini menyalin ACL yang ada secara penuh dari sumber ke sink.
  • Pemilik: Salin dan pertahankan pengguna pemilik file dan direktori. Diperlukan akses pengguna super ke sink Data Lake Storage Gen2.
  • Grup: Salin dan pertahankan grup pemilik file dan direktori. Diperlukan akses pengguna super ke sink Data Lake Storage Gen2 atau pengguna pemilik (jika pengguna pemilik juga anggota grup target).

Jika Anda menentukan untuk menyalin dari folder, layanan akan mereplikasi ACL untuk folder tertentu dan file dan direktori di bawahnya, jika recursive diatur menjadi benar. Jika Anda menentukan untuk menyalin dari satu file, ACL pada file tersebut akan disalin.

Catatan

Jika Anda menggunakan aktivitas penyalinan untuk mempertahankan ACL dari Data Lake Storage Gen1/Gen2 ke Gen2, ACL yang ada di folder/file terkait sink Gen2 akan ditimpa.

Penting

Jika memilih untuk mempertahankan ACL, pastikan Anda memberikan izin yang cukup tinggi agar layanan dapat beroperasi terhadap akun sink Data Lake Storage Gen2 Anda. Misalnya, gunakan autentikasi kunci akun atau tetapkan peran Pemilik Data Blob Penyimpanan ke perwakilan layanan atau identitas terkelola.

Jika mengonfigurasi sumber sebagai Data Lake Storage Gen1/Gen2 dengan format biner atau opsi penyalinan biner, dan sink sebagai Data Lake Storage Gen2 dengan format biner atau opsi penyalinan biner, Anda dapat menemukan opsi Pertahankan di halaman Pengaturan di Copy Data Tool atau di tab Aktivitas Penyalinan>Pengaturan untuk penulisan aktivitas.

Data Lake Storage Gen1/Gen2 to Gen2 Preserve ACL

Berikut contoh konfigurasi JSON aktivitas penyalinan (lihat 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"
            }
        ]
    }
]

Lihat artikel Aktivitas Penyalinan lainnya: