Azure Data Factory veya Synapse Analytics'te kopyalama etkinliğini kullanarak meta verileri ve ACL'leri koruma

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Verileri kaynaktan havuza kopyalamak için Azure Data Factory veya Synapse Analytics işlem hatlarını kopyalama etkinliğini kullandığınızda, aşağıdaki senaryolarda meta verileri ve ACL'leri de koruyabilirsiniz.

Göl geçişi için meta verileri koruma

Amazon S3, Azure Blob, Azure Data Lake Storage 2. Nesil ve Azure Dosyalar gibi bir veri gölünden diğerine veri geçirdiğinizde, verilerle birlikte dosya meta verilerini de korumayı seçebilirsiniz.

Kopyalama etkinliği, veri kopyalama sırasında aşağıdaki özniteliklerin korunmasını destekler:

  • Müşterinin belirttiği tüm meta veriler
  • Ve aşağıdaki beş veri deposu yerleşik sistem özelliği: contentType, contentLanguage (Amazon S3 hariç), contentEncoding, contentDisposition, cacheControl.

Meta verilerdeki farkları işleme: Amazon S3 ve Azure Depolama, müşteri tarafından belirtilen meta verilerin anahtarlarında farklı karakter kümelerine izin verir. Kopyalama etkinliğini kullanarak meta verileri korumayı seçtiğinizde, hizmet geçersiz karakterleri otomatik olarak '_' ile değiştirir.

Dosyaları Amazon S3/Azure Data Lake Storage 2. Nesil/Azure Blob depolama/Azure Dosyalar'dan ikili biçimli Azure Data Lake Storage 2. Nesil/Azure Blob depolama/Azure Dosyalar'a olduğu gibi kopyaladığınızda, Koru'yu bulabilirsiniz seçeneğine tıklayın veya Veri Kopyalama>Aracı'ndaki Ayarlar sayfasında Etkinlik Ayarlarını Kopyala seçeneğine tıklayın.

Meta verileri Kopyalama etkinliği koruma

Aşağıda kopyalama etkinliği JSON yapılandırması örneği verilmiştir (bkz 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"
            }
        ]
    }
]

Data Lake Storage 1. Nesil/2. Nesilden 2. Nesil'e ACL'leri koruma

Azure Data Lake Storage 1. Nesil'den 2. Nesil'e yükseltirken veya ADLS 2. Nesil arasında veri kopyaladığınızda, veri dosyalarıyla birlikte POSIX erişim denetim listelerini (ACL'ler) korumayı seçebilirsiniz. Erişim denetimi hakkında daha fazla bilgi için bkz. Azure Data Lake Storage 1. Nesil'de erişim denetimi ve Azure Data Lake Storage 2. Nesil'de Erişim denetimi.

Kopyalama etkinliği, veri kopyalama sırasında aşağıdaki ACL türlerinin korunmasını destekler. Bir veya daha fazla tür seçebilirsiniz:

  • ACL: Dosya ve dizinlerde POSIX erişim denetimi listelerini kopyalayın ve koruyun. Var olan ACL'lerin tamamını kaynaktan havuza kopyalar.
  • Sahip: Dosya ve dizinlerin sahibi olan kullanıcıyı kopyalayın ve koruyun. Havuz Data Lake Storage 2. Nesil süper kullanıcı erişimi gereklidir.
  • Grup: Sahip olan dosya ve dizin grubunu kopyalayın ve koruyun. Havuz Data Lake Storage 2. Nesil veya sahip olan kullanıcıya (sahip olan kullanıcı da hedef grubun üyesiyse) süper kullanıcı erişimi gereklidir.

Bir klasörden kopyalamayı belirtirseniz, hizmet söz konusu klasörün ACL'lerini ve true olarak ayarlanmışsa recursive altındaki dosyaları ve dizinleri çoğaltır. Tek bir dosyadan kopyalamayı belirtirseniz, bu dosyadaki ACL'ler kopyalanır.

Not

Data Lake Storage 1. Nesil/2. Nesil'den 2. Nesil'e ACL'leri korumak için kopyalama etkinliğini kullandığınızda, havuz 2. Nesil'in ilgili klasör/dosyalarındaki mevcut ACL'lerin üzerine yazılır.

Önemli

ACL'leri korumayı seçtiğinizde, hizmetin havuz Data Lake Storage 2. Nesil hesabınızda çalışması için yeterli sayıda izin verdiğinden emin olun. Örneğin, hesap anahtarı kimlik doğrulamasını kullanın veya Depolama Blobu Veri Sahibi rolünü hizmet sorumlusuna veya yönetilen kimliğe atayın.

Kaynağı ikili biçim veya ikili kopyalama seçeneğiyle Data Lake Storage 1. Nesil/2. Nesil olarak yapılandırdığınızda ve havuz ikili biçimi veya ikili kopyalama seçeneğiyle Data Lake Storage 2. Nesil olarak yapılandırdığınızda, Koru seçeneğini Veri Kopyalama Aracı'ndaki Ayarlar sayfasında veya etkinlik yazma için Etkinlik>Ayarlarını Kopyala sekmesinde bulabilirsiniz.

Data Lake Storage 1. Nesil/2. Nesilden 2. Nesile ACL'yi Koru

Aşağıda kopyalama etkinliği JSON yapılandırması örneği verilmiştir (bkz 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"
            }
        ]
    }
]

Diğer Kopyalama Etkinliği makalelerine bakın: