Azure Data Factory veya Azure Synapse Analytics kullanarak Azure Blob Depolama verileri kopyalama ve dönüştürme

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

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!

Bu makalede, azure data factory ve Azure Synapse işlem hatlarındaki Kopyalama etkinliği kullanarak verileri Azure Blob Depolama kopyalama adımları açıklanmaktadır. Ayrıca, Azure Blob Depolama verileri dönüştürmek için Veri Akışı etkinliğinin nasıl kullanılacağını da açıklar. Daha fazla bilgi edinmek için Azure Data Factory ve Azure Synapse Analytics giriş makalelerini okuyun.

Bahşiş

Veri gölü veya veri ambarı için geçiş senaryosu hakkında bilgi edinmek için Veri gölünüzden veya veri ambarınızdan Azure'a veri geçirme makalesine bakın.

Desteklenen özellikler

Bu Azure Blob Depolama bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR Yönetilen özel uç nokta
Kopyalama etkinliği (kaynak/havuz) ① ② ✓ Depolama hesabı V1'i hariç tutma
Eşleme veri akışı (kaynak/havuz) ✓ Depolama hesabı V1'i hariç tutma
Arama etkinliği ① ② ✓ Depolama hesabı V1'i hariç tutma
GetMetadata etkinliği ① ② ✓ Depolama hesabı V1'i hariç tutma
Silme etkinliği ① ② ✓ Depolama hesabı V1'i hariç tutma

(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı

Kopyalama etkinliği için bu Blob depolama bağlayıcısı şunları destekler:

  • Blobları genel amaçlı Azure depolama hesaplarına ve sık erişimli/seyrek erişimli blob depolamaya kopyalama.
  • Hesap anahtarı, hizmet paylaşılan erişim imzası (SAS), hizmet sorumlusu veya Azure kaynak kimlik doğrulamaları için yönetilen kimlikler kullanarak blobları kopyalama.
  • Blok, ekleme veya sayfa bloblarından blob kopyalama ve verileri yalnızca blok bloblarına kopyalama.
  • Blobları olduğu gibi kopyalama veya desteklenen dosya biçimleri ve sıkıştırma codec'leri ile blobları ayrıştırma veya oluşturma.
  • Kopyalama sırasında dosya meta verilerini koruma.

Başlarken

İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak Azure Blob Depolama bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde Azure Blob Depolama bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine gidin ve Bağlı Hizmetler'i ve ardından Yeni'yi seçin:

  2. Blobu arayın ve Azure Blob Depolama bağlayıcısını seçin.

    Select Azure Blob Storage connector.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Screenshot of configuration for Azure Blob Storage linked service.

Bağlan veya yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Blob depolamaya özgü Data Factory ve Synapse işlem hattı varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

Bu Blob depolama bağlayıcısı aşağıdaki kimlik doğrulama türlerini destekler. Ayrıntılar için ilgili bölümlere bakın.

Dekont

  • Azure Depolama güvenlik duvarında etkinleştirilmiş Olan Güvenilen Microsoft hizmetleri bu depolama hesabına erişmesine izin ver seçeneğinden yararlanarak Blob depolamanıza bağlanmak için genel Azure tümleştirme çalışma zamanını kullanmak istiyorsanız yönetilen kimlik doğrulaması kullanmanız gerekir. Azure Depolama güvenlik duvarları ayarları hakkında daha fazla bilgi için bkz. Azure Depolama güvenlik duvarlarını ve sanal ağları yapılandırma.
  • Azure Synapse Analytics'e veri yüklemek için PolyBase veya COPY deyimini kullandığınızda, kaynak veya hazırlama Blob depolamanız bir Azure Sanal Ağ uç noktasıyla yapılandırılmışsa, Azure Synapse'in gerektirdiği şekilde yönetilen kimlik doğrulaması kullanmanız gerekir. Daha fazla yapılandırma önkoşulu için Yönetilen kimlik kimlik doğrulaması bölümüne bakın.

Dekont

Azure HDInsight ve Azure Machine Learning etkinlikleri yalnızca Azure Blob Depolama hesap anahtarlarını kullanan kimlik doğrulamayı destekler.

Anonim kimlik doğrulama

Azure Data Factory veya Synapse işlem hatlarında depolama hesabı anahtarı kimlik doğrulaması için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type type özelliği (önerilen) veya AzureStorage (aşağıdaki notlara bakın) olarak ayarlanmalıdır AzureBlobStorage . Evet
containerUri Bu biçimi https://<AccountName>.blob.core.windows.net/<ContainerName> alarak Anonim okuma erişimini etkinleştiren Azure Blob kapsayıcı URI'sini belirtin ve Kapsayıcılar ve bloblar için anonim genel okuma erişimini yapılandırın Evet
connectVia Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağdaysa) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. No

Örnek:


{
    "name": "AzureBlobStorageAnonymous",
    "properties": {
        "annotations": [],
        "type": "AzureBlobStorage",
        "typeProperties": {
            "containerUri": "https:// <accountname>.blob.core.windows.net/ <containername>",
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Örnek kullanıcı arabirimi:

Kullanıcı arabirimi deneyimi aşağıdaki görüntüde açıklandığı gibidir. Bu örnek, kaynak olarak Azure açık veri kümesini kullanır. bing_covid-19_data.csv açık veri kümesini almak istiyorsanız Kimlik doğrulama türünü Anonim olarak seçmeniz ve Kapsayıcı URI'sini ile https://pandemicdatalake.blob.core.windows.net/publicdoldurmanız yeterlidir.

Screenshot of configuration for Anonymous examples UI.

Hesap anahtarı kimlik doğrulaması

Azure Data Factory veya Synapse işlem hatlarında depolama hesabı anahtarı kimlik doğrulaması için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type type özelliği (önerilen) veya AzureStorage (aşağıdaki notlara bakın) olarak ayarlanmalıdır AzureBlobStorage . Evet
Connectionstring özelliği için Depolama bağlanmak için connectionString gereken bilgileri belirtin.
Ayrıca hesap anahtarını Azure Key Vault'a koyabilir ve yapılandırmayı accountKey bağlantı dizesi çıkarabilirsiniz. Daha fazla bilgi için aşağıdaki örneklere ve Azure Key Vault'ta kimlik bilgilerini depolama makalesine bakın.
Evet
connectVia Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağdaysa) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. No

Dekont

Hesap anahtarı kimlik doğrulaması kullanırken ikincil Blob hizmet uç noktası desteklenmez. Diğer kimlik doğrulama türlerini kullanabilirsiniz.

Dekont

Bağlı tür hizmetini kullanıyorsanız AzureStorage , bu hizmet olduğu gibi yine de desteklenir. Ancak bundan sonra yeni AzureBlobStorage bağlı hizmet türünü kullanmanızı öneririz.

Örnek:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
          "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        },
        "connectVia": {
          "referenceName": "<name of Integration Runtime>",
          "type": "IntegrationRuntimeReference"
        }
    }
}

Örnek: Hesap anahtarını Azure Key Vault'ta depolama

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
            "accountKey": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                },
                "secretName": "<secretName>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Paylaşılan erişim imzası kimlik doğrulaması

Paylaşılan erişim imzası, depolama hesabınızdaki kaynaklara temsilci erişimi sağlar. İstemciye depolama hesabınızdaki nesnelere belirli bir süre için sınırlı izinler vermek için paylaşılan erişim imzası kullanabilirsiniz.

Hesap erişim anahtarlarınızı paylaşmanız gerekmez. Paylaşılan erişim imzası, bir depolama kaynağına kimliği doğrulanmış erişim için gereken tüm bilgileri sorgu parametrelerinde kapsayan bir URI'dir. Paylaşılan erişim imzasıyla depolama kaynaklarına erişmek için istemcinin yalnızca paylaşılan erişim imzasını uygun oluşturucuya veya yönteme geçirmesi gerekir.

Paylaşılan erişim imzaları hakkında daha fazla bilgi için bkz . Paylaşılan erişim imzaları: Paylaşılan erişim imzası modelini anlama.

Dekont

  • Hizmet artık hem hizmet paylaşılan erişim imzalarını hem de hesap paylaşılan erişim imzalarını destekliyor. Paylaşılan erişim imzaları hakkında daha fazla bilgi için bkz. Paylaşılan erişim imzalarını kullanarak Azure Depolama kaynaklarına sınırlı erişim verme.
  • Sonraki veri kümesi yapılandırmalarında, klasör yolu kapsayıcı düzeyinden başlayan mutlak yoldur. SAS URI'nizdeki yol ile uyumlu bir yapılandırmanız gerekir.

Paylaşılan erişim imzası kimlik doğrulamasının kullanılması için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Özelliğin type (önerilen) veya AzureStorage (aşağıdaki nota bakın) olarak ayarlanması AzureBlobStorage gerekir. Evet
sasUri Blob veya kapsayıcı gibi Depolama kaynakları için paylaşılan erişim imzası URI'sini belirtin.
Güvenli bir şekilde depolamak için bu alanı olarak SecureString işaretleyin. Otomatik döndürmeyi kullanmak ve belirteç bölümünü kaldırmak için SAS belirtecini Azure Key Vault'a da yerleştirebilirsiniz. Daha fazla bilgi için aşağıdaki örneklere ve Kimlik bilgilerini Azure Key Vault'ta depolama bölümüne bakın.
Evet
connectVia Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağdaysa) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. No

Dekont

Bağlı tür hizmetini kullanıyorsanız AzureStorage , bu hizmet olduğu gibi yine de desteklenir. Ancak bundan sonra yeni AzureBlobStorage bağlı hizmet türünü kullanmanızı öneririz.

Örnek:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource e.g. https://<accountname>.blob.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Örnek: Hesap anahtarını Azure Key Vault'ta depolama

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.core.windows.net/>"
            },
            "sasToken": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference"
                },
                "secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Paylaşılan erişim imzası URI'sini oluştururken aşağıdaki noktaları göz önünde bulundurun:

  • Bağlı hizmetin (okuma, yazma, okuma/yazma) nasıl kullanıldığına bağlı olarak nesneler üzerinde uygun okuma/yazma izinlerini ayarlayın.
  • Süre sonu süresini uygun şekilde ayarlayın. Depolama nesnelere erişimin işlem hattının etkin süresi içinde dolmadığından emin olun.
  • URI, ihtiyaca göre doğru kapsayıcıda veya blobda oluşturulmalıdır. Bloba paylaşılan erişim imzası URI'si, veri fabrikasının veya Synapse işlem hattının söz konusu bloba erişmesine olanak tanır. Blob depolama kapsayıcısına paylaşılan erişim imzası URI'si, veri fabrikasının veya Synapse işlem hattının bu kapsayıcıdaki bloblar arasında yineleme yapmasına olanak tanır. Daha sonra daha fazla veya daha az nesneye erişim sağlamak veya paylaşılan erişim imzası URI'sini güncelleştirmek için bağlı hizmeti yeni URI ile güncelleştirmeyi unutmayın.

Hizmet sorumlusu kimlik doğrulaması

Azure Depolama hizmet sorumlusu kimlik doğrulaması hakkında genel bilgi için bkz. Microsoft Entra Id kullanarak Azure Depolama erişiminin kimliğini doğrulama.

Hizmet sorumlusu kimlik doğrulamasını kullanmak için şu adımları izleyin:

  1. Bir uygulamayı Microsoft kimlik platformu kaydedin. Nasıl yapılacağını öğrenmek için bkz. Hızlı Başlangıç: uygulamayı Microsoft kimlik platformu kaydetme. Bağlı hizmeti tanımlamak için kullandığınız şu değerleri not edin:

    • Uygulama Kimliği
    • Uygulama anahtarı
    • Kiracı kimliği
  2. hizmet sorumlusuna Azure Blob Depolama uygun izin verin. Roller hakkında daha fazla bilgi için bkz . Blob ve kuyruk verilerine erişim için Azure rolü atamak için Azure portalını kullanma.

    • Kaynak olarak, Erişim denetiminde (IAM) en azından Depolama Blob Veri Okuyucusu rolünü verin.
    • Havuz olarak, Erişim denetiminde (IAM) en azından Depolama Blob Verileri Katkıda Bulunanı rolünü verin.

Bu özellikler Azure Blob Depolama bağlı bir hizmet için desteklenir:

Özellik Açıklama Gerekli
type type özelliği AzureBlob Depolama olarak ayarlanmalıdır. Evet
Serviceendpoint Azure Blob Depolama hizmet uç noktasını deseniyle https://<accountName>.blob.core.windows.net/belirtin. Evet
accountKind Depolama hesabınızın türünü belirtin. İzin verilen değerler şunlardır: Depolama (genel amaçlı v1), Depolama V2 (genel amaçlı v2), Blob Depolama veya BlockBlob Depolama.

Veri akışında Azure Blob bağlı hizmeti kullanılırken, hesap türü boş veya "Depolama" olduğunda yönetilen kimlik veya hizmet sorumlusu kimlik doğrulaması desteklenmez. Uygun hesap türünü belirtin, farklı bir kimlik doğrulaması seçin veya depolama hesabınızı genel amaçlı v2'ye yükseltin.
No
servicePrincipalId Uygulamanın istemci kimliğini belirtin. Evet
servicePrincipalCredentialType Hizmet sorumlusu kimlik doğrulaması için kullanılacak kimlik bilgisi türü. İzin verilen değerler ServicePrincipalKey ve ServicePrincipalCert değerleridir. Evet
servicePrincipalCredential Hizmet sorumlusu kimlik bilgileri.
Kimlik bilgisi türü olarak ServicePrincipalKey kullandığınızda uygulamanın anahtarını belirtin. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun.
Kimlik bilgisi olarak ServicePrincipalCert kullandığınızda Azure Key Vault'taki bir sertifikaya başvurun ve sertifika içerik türünün PKCS #12 olduğundan emin olun.
Evet
tenant Uygulamanızın bulunduğu kiracı bilgilerini (etki alanı adı veya kiracı kimliği) belirtin. Azure portalının sağ üst köşesinin üzerine gelerek bunu alın. Evet
azureCloudType Hizmet sorumlusu kimlik doğrulaması için Microsoft Entra uygulamanızın kaydedildiği Azure bulut ortamının türünü belirtin.
İzin verilen değerler AzurePublic, AzureChina, AzureUsGovernment ve AzureGermany'dir. Varsayılan olarak, veri fabrikası veya Synapse işlem hattının bulut ortamı kullanılır.
No
connectVia Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağdaysa) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. No

Dekont

  • Blob hesabınız geçici silmeyi etkinleştirirse, hizmet sorumlusu kimlik doğrulaması Veri Akışı desteklenmez.
  • Blob depolamaya Veri Akışı kullanarak özel uç nokta üzerinden erişirseniz, hizmet sorumlusu kimlik doğrulamasının ne zaman kullanıldığını Veri Akışı Blob uç noktası yerine ADLS 2. Nesil uç noktasına bağlandığınıza dikkat edin. Erişimi etkinleştirmek için veri fabrikanızda veya Synapse çalışma alanınızda ilgili özel uç noktayı oluşturduğunuzdan emin olun.

Dekont

Hizmet sorumlusu kimlik doğrulaması yalnızca "AzureBlob Depolama" türü bağlı hizmet tarafından desteklenir, önceki "Azure Depolama" türü bağlı hizmet tarafından desteklenmez.

Örnek:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Sistem tarafından atanan yönetilen kimlik kimlik doğrulaması

Veri fabrikası veya Synapse işlem hattı, Azure kaynakları için sistem tarafından atanan yönetilen kimlikle ilişkilendirilebilir. Bu kimlik, diğer Azure hizmetlerinde kimlik doğrulaması için bu kaynağı temsil eder. Blob depolama kimlik doğrulaması için sistem tarafından atanan bu yönetilen kimliği doğrudan kullanabilirsiniz. Bu kimlik, kendi hizmet sorumlunuzu kullanmaya benzer. Bu atanan kaynağın blob depolamadan veya blob depolamadan verilere erişmesine ve verileri kopyalamasına izin verir. Azure kaynakları için yönetilen kimlikler hakkında daha fazla bilgi edinmek için bkz. Azure kaynakları için yönetilen kimlikler

Azure Depolama kimlik doğrulaması hakkında genel bilgi için bkz. Microsoft Entra Id kullanarak Azure Depolama erişiminin kimliğini doğrulama. Azure kaynak kimlik doğrulaması için yönetilen kimlikleri kullanmak için şu adımları izleyin:

  1. Fabrikanız veya Synapse çalışma alanınızla birlikte oluşturulan sistem tarafından atanan yönetilen kimlik nesne kimliğinin değerini kopyalayarak sistem tarafından atanan yönetilen kimlik bilgilerini alın.

  2. yönetilen kimlik iznini Azure Blob Depolama. Roller hakkında daha fazla bilgi için bkz . Blob ve kuyruk verilerine erişim için Azure rolü atamak için Azure portalını kullanma.

    • Kaynak olarak, Erişim denetiminde (IAM) en azından Depolama Blob Veri Okuyucusu rolünü verin.
    • Havuz olarak, Erişim denetiminde (IAM) en azından Depolama Blob Verileri Katkıda Bulunanı rolünü verin.

Bu özellikler Azure Blob Depolama bağlı bir hizmet için desteklenir:

Özellik Açıklama Gerekli
type type özelliği AzureBlob Depolama olarak ayarlanmalıdır. Evet
Serviceendpoint Azure Blob Depolama hizmet uç noktasını deseniyle https://<accountName>.blob.core.windows.net/belirtin. Evet
accountKind Depolama hesabınızın türünü belirtin. İzin verilen değerler şunlardır: Depolama (genel amaçlı v1), Depolama V2 (genel amaçlı v2), Blob Depolama veya BlockBlob Depolama.

Veri akışında Azure Blob bağlı hizmeti kullanılırken, hesap türü boş veya "Depolama" olduğunda yönetilen kimlik veya hizmet sorumlusu kimlik doğrulaması desteklenmez. Uygun hesap türünü belirtin, farklı bir kimlik doğrulaması seçin veya depolama hesabınızı genel amaçlı v2'ye yükseltin.
No
connectVia Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağdaysa) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. No

Örnek:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması

Veri fabrikası, kullanıcı tarafından atanan bir veya birden çok yönetilen kimlikle atanabilir. Blob depolama kimlik doğrulaması için kullanıcı tarafından atanan bu yönetilen kimliği kullanabilirsiniz. Bu kimlik, blob depolamadan veya blob depolamadan verilere erişmeye ve veri kopyalamaya olanak tanır. Azure kaynakları için yönetilen kimlikler hakkında daha fazla bilgi edinmek için bkz. Azure kaynakları için yönetilen kimlikler

Azure depolama kimlik doğrulaması hakkında genel bilgi için bkz. Microsoft Entra Id kullanarak Azure Depolama erişiminin kimliğini doğrulama. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulamasını kullanmak için şu adımları izleyin:

  1. Kullanıcı tarafından atanan bir veya birden çok yönetilen kimlik oluşturun ve Azure Blob Depolama izin verin. Roller hakkında daha fazla bilgi için bkz . Blob ve kuyruk verilerine erişim için Azure rolü atamak için Azure portalını kullanma.

    • Kaynak olarak, Erişim denetiminde (IAM) en azından Depolama Blob Veri Okuyucusu rolünü verin.
    • Havuz olarak, Erişim denetiminde (IAM) en azından Depolama Blob Verileri Katkıda Bulunanı rolünü verin.
  2. Veri fabrikanıza kullanıcı tarafından atanan bir veya birden çok yönetilen kimlik atayın ve kullanıcı tarafından atanan her yönetilen kimlik için kimlik bilgileri oluşturun.

Bu özellikler Azure Blob Depolama bağlı bir hizmet için desteklenir:

Özellik Açıklama Gerekli
type type özelliği AzureBlob Depolama olarak ayarlanmalıdır. Evet
Serviceendpoint Azure Blob Depolama hizmet uç noktasını deseniyle https://<accountName>.blob.core.windows.net/belirtin. Evet
accountKind Depolama hesabınızın türünü belirtin. İzin verilen değerler şunlardır: Depolama (genel amaçlı v1), Depolama V2 (genel amaçlı v2), Blob Depolama veya BlockBlob Depolama.

Veri akışında Azure Blob bağlı hizmeti kullanılırken, hesap türü boş veya "Depolama" olarak ayarlandığında yönetilen kimlik veya hizmet sorumlusu kimlik doğrulaması desteklenmez. Uygun hesap türünü belirtin, farklı bir kimlik doğrulaması seçin veya depolama hesabınızı genel amaçlı v2'ye yükseltin.
No
kimlik bilgileri Kimlik bilgisi nesnesi olarak kullanıcı tarafından atanan yönetilen kimliği belirtin. Evet
connectVia Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağdaysa) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. No

Örnek:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Önemli

Blob depolamadan (kaynak olarak veya hazırlama olarak) Azure Synapse Analytics'e veri yüklemek için PolyBase veya COPY deyimi kullanıyorsanız, Blob depolama için yönetilen kimlik doğrulaması kullandığınızda, bu kılavuzdaki 1 ile 3 arasında adımları da izlediğinizden emin olun. Bu adımlar sunucunuzu Microsoft Entra Id'ye kaydeder ve sunucunuza Depolama Blob Verileri Katkıda Bulunanı rolünü atar. Data Factory gerisini işler. Blob depolamayı bir Azure Sanal Ağ uç noktasıyla yapılandırıyorsanız, Azure Synapse'in gerektirdiği şekilde Azure Depolama hesabı Güvenlik duvarları ve Sanal ağlar ayarları menüsünün altında Bu depolama hesabınaerişmeye güvenilen Microsoft hizmetleri izin ver seçeneğinin de açık olması gerekir.

Dekont

  • Blob hesabınız geçici silmeyi etkinleştirirse, sistem tarafından atanan/kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması Veri Akışı desteklenmez.
  • Blob depolamaya Veri Akışı kullanarak özel uç nokta üzerinden erişiyorsa, Blob uç noktası yerine ADLS 2. Nesil uç noktasına bağlanmak Veri Akışı sistem tarafından atanan/kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulamasının ne zaman kullanıldığını unutmayın. Erişimi etkinleştirmek için ADF'de ilgili özel uç noktayı oluşturduğunuzdan emin olun.

Dekont

Sistem tarafından atanan/kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması yalnızca "AzureBlob Depolama" türü bağlı hizmet tarafından desteklenir, önceki "Azure Depolama" türü bağlı hizmet tarafından desteklenmez.

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Veri kümeleri makalesine bakın.

Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.

Biçim tabanlı veri kümesindeki ayarlar altında location Azure Blob Depolama için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Veri kümesindeki konumun tür özelliği AzureBlob Depolama Location olarak ayarlanmalıdır. Evet
kapsayıcı Blob kapsayıcısı. Evet
folderPath Verilen kapsayıcının altındaki klasörün yolu. Klasörü filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında bunu belirtin. No
fileName Verilen kapsayıcı ve klasör yolunun altındaki dosya adı. Dosyaları filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında bunu belirtin. No

Örnek:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Kopyalama etkinliğinin özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde Blob depolama kaynağının ve havuzunun desteklediği özelliklerin listesi sağlanır.

Kaynak türü olarak blob depolama

Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.

Aşağıdaki özellikler, biçim tabanlı kopyalama kaynağındaki ayarlar altında storeSettings Azure Blob Depolama için desteklenir:

Özellik Açıklama Gerekli
type altındaki storeSettings tür özelliği AzureBlob Depolama Read Ayarlar olarak ayarlanmalıdır. Evet
Kopyalanacak dosyaları bulun:
SEÇENEK 1: statik yol
Veri kümesinde belirtilen belirtilen kapsayıcıdan veya klasörden/dosya yolundan kopyalayın. Kapsayıcıdan veya klasörden tüm blobları kopyalamak istiyorsanız, ayrıca olarak *belirtinwildcardFileName.
SEÇENEK 2: blob ön eki
-Önek
Kaynak blobları filtrelemek için bir veri kümesinde yapılandırılan belirtilen kapsayıcının altındaki blob adının ön eki. Adları ile container_in_dataset/this_prefix başlayan bloblar seçilir. Blob depolama için hizmet tarafı filtresini kullanır ve bu da joker karakter filtresinden daha iyi performans sağlar.

Ön ek kullandığınızda ve koruma hiyerarşisi ile dosya tabanlı havuza kopyalamayı seçtiğinizde, ön ekteki son "/" korunduğunda alt yolu not edin. Örneğin, kaynağınız container/folder/subfolder/file.txtvar ve ön eki olarak folder/subyapılandırdığınızda, korunan dosya yolu olur subfolder/file.txt.
No
SEÇENEK 3: joker karakter
- wildcardFolderPath
Kaynak klasörleri filtrelemek için bir veri kümesinde yapılandırılmış verilen kapsayıcının altında joker karakterler içeren klasör yolu.
İzin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir). Klasör adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış için kullanın ^ .
Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın.
No
SEÇENEK 3: joker karakter
- wildcardFileName
Kaynak dosyaları filtrelemek için verilen kapsayıcı ve klasör yolu (veya joker klasör yolu) altında joker karakterler içeren dosya adı.
İzin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir). Dosya adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış yapmak için kullanın ^ . Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın.
Evet
OPTION 4: dosya listesi
- fileListPath
Belirli bir dosya kümesinin kopyalandığını gösterir. Kopyalamak istediğiniz dosyaların listesini içeren bir metin dosyasının üzerine gelin. Bu, veri kümesinde yapılandırılan yolun göreli yolu olan satır başına bir dosyadır.
Bu seçeneği kullanırken veri kümesinde bir dosya adı belirtmeyin. Dosya listesi örnekleri'ndeki diğer örneklere bakın.
No
Ek ayarlar:
Özyinelemeli Verilerin alt klasörlerden veya yalnızca belirtilen klasörden özyinelemeli olarak okunup okunmadığını gösterir. Özyineleme true olarak ayarlandığında ve havuz dosya tabanlı bir depo olduğunda, havuza boş bir klasör veya alt klasör kopyalanmadı veya oluşturulmadı.
İzin verilen değerler true (varsayılan) ve false değerleridir.
Yapılandırdığınızda fileListPathbu özellik geçerli değildir.
No
deleteFilesAfterCompletion hedef depoya başarıyla taşındıktan sonra ikili dosyaların kaynak depodan silinip silinmeyeceğini gösterir. Dosya silme işlemi her dosyaya göre yapılır. Bu nedenle, kopyalama etkinliği başarısız olduğunda bazı dosyaların hedefe kopyalandığını ve kaynaktan silindiğini, bazılarının ise kaynak depoda kaldığını görürsünüz.
Bu özellik yalnızca ikili dosya kopyalama senaryosunda geçerlidir. Varsayılan değer: false.
No
modifiedDatetimeStart Dosyalar özniteliğine göre filtrelenir: son değiştirme.
Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat, "2018-12-01T05:00:00Z" biçiminde bir UTC saat dilimine uygulanır.
Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Tarih saat değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği tarih saat değerinden büyük veya buna eşit olan dosyalar seçilir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart NULL olduğunda, son değiştirilen özniteliği datetime değerinden küçük olan dosyalar seçilir.
Yapılandırdığınızda fileListPathbu özellik geçerli değildir.
No
modifiedDatetimeEnd Önceki özellik ile aynı. No
enablePartitionDiscovery Bölümlenmiş dosyalar için, bölümlerin dosya yolundan ayrıştırılıp ayrıştırılmayacağını belirtin ve bunları ek kaynak sütunlar olarak ekleyin.
İzin verilen değerler false (varsayılan) ve true değerleridir.
No
partitionRootPath Bölüm bulma etkinleştirildiğinde, bölümlenmiş klasörleri veri sütunları olarak okumak için mutlak kök yolu belirtin.

Belirtilmezse, varsayılan olarak
- Veri kümesinde dosya yolunu veya kaynaktaki dosyaların listesini kullandığınızda, bölüm kök yolu veri kümesinde yapılandırılan yoldur.
- Joker karakter klasör filtresi kullandığınızda, bölüm kök yolu ilk joker karakterden önceki alt yoldur.
- Ön ek kullandığınızda, bölüm kök yolu son "/" yolundan önceki alt yoldur.

Örneğin, veri kümesindeki yolu "root/folder/year=2020/month=08/day=27" olarak yapılandırdığınız varsayılır:
- Bölüm kök yolunu "root/folder/year=2020" olarak belirtirseniz kopyalama etkinliği, dosyaların içindeki sütunlara ek olarak sırasıyla "08" ve "27" değerine sahip iki sütun monthday daha oluşturur.
- Bölüm kök yolu belirtilmezse ek sütun oluşturulmaz.
No
maxConcurrent Bağlan ions Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. No

Dekont

Parquet/sınırlandırılmış metin biçimi için, bir sonraki bölümde bahsedilen Kopyalama etkinliği kaynağının BlobSource türü, geriye dönük uyumluluk için olduğu gibi yine de desteklenir. Yazma kullanıcı arabirimi bu yeni türleri oluşturmaya geçene kadar yeni modeli kullanmanızı öneririz.

Örnek:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Dekont

$logs Depolama hesabı için Depolama Analytics etkinleştirildiğinde otomatik olarak oluşturulan kapsayıcı, kullanıcı arabirimi aracılığıyla bir kapsayıcı listeleme işlemi gerçekleştirildiğinde gösterilmez. Kapsayıcıdaki $logs dosyaları kullanmak için doğrudan veri fabrikanız veya Synapse işlem hattı için dosya yolu sağlanmalıdır.

Havuz türü olarak blob depolama

Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.

Aşağıdaki özellikler, biçim tabanlı bir kopya havuzundaki ayarlar altında storeSettings Azure Blob Depolama için desteklenir:

Özellik Açıklama Gerekli
type type altındaki storeSettings özelliği olarak AzureBlobStorageWriteSettingsayarlanmalıdır. Evet
copyBehavior Kaynak dosya tabanlı bir veri deposundaki dosyalar olduğunda kopyalama davranışını tanımlar.

İzin verilen değerler şunlardır:
- PreserveHierarchy (varsayılan): Hedef klasördeki dosya hiyerarşisini korur. Kaynak dosyanın kaynak klasöre göreli yolu, hedef dosyanın hedef klasöre göreli yolu ile aynıdır.
- FlattenHierarchy: Kaynak klasördeki tüm dosyalar hedef klasörün ilk düzeyindedir. Hedef dosyalar otomatik olarak oluşturulan adlara sahiptir.
- MergeFiles: Kaynak klasördeki tüm dosyaları tek bir dosyayla birleştirir. Dosya veya blob adı belirtilirse, birleştirilmiş dosya adı belirtilen addır. Aksi takdirde, otomatik olarak oluşturulan bir dosya adıdır.
No
blockSizeInMB Blok bloblarına veri yazmak için kullanılan blok boyutunu megabayt cinsinden belirtin. Blok Blobları hakkında daha fazla bilgi edinin.
İzin verilen değer 4 MB ile 100 MB arasındadır.
Varsayılan olarak, hizmet kaynak deponuzun türüne ve verilerine göre blok boyutunu otomatik olarak belirler. Blob depolamaya bağlı olmayan kopyalama için varsayılan blok boyutu 100 MB'tır, bu nedenle 4,95 TB veriye (en fazla) sığabilir. Verileriniz büyük olmadığında, özellikle de işlem zaman aşımına veya performans sorunlarına neden olan düşük ağ bağlantılarıyla şirket içinde barındırılan tümleştirme çalışma zamanını kullandığınızda en uygun seçenek olmayabilir. Verileri depolamak için yeterince büyük olduğundan emin blockSizeInMB*50000 olurken açıkça bir blok boyutu belirtebilirsiniz. Aksi takdirde, Kopyalama etkinliği çalıştırması başarısız olur.
No
maxConcurrent Bağlan ions Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. No
meta veriler Havuza kopyalarken özel meta veriler ayarlayın. Dizinin altındaki metadata her nesne fazladan bir sütunu temsil eder. , name meta veri anahtarı adını tanımlar ve value bu anahtarın veri değerini belirtir. Öznitelikleri koru özelliği kullanılırsa, belirtilen meta veriler kaynak dosya meta verileriyle birlenir/üzerine yazılır.

İzin verilen veri değerleri şunlardır:
- $$LASTMODIFIED: ayrılmış değişken, kaynak dosyaların son değiştirme zamanının depolandığı gösterir. Yalnızca ikili biçimli dosya tabanlı kaynağa uygulayın.
-Ifa -de
- Statik değer
No

Örnek:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Parquet output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "ParquetSink",
                "storeSettings":{
                    "type": "AzureBlobStorageWriteSettings",
                    "copyBehavior": "PreserveHierarchy",
                    "metadata": [
                        {
                            "name": "testKey1",
                            "value": "value1"
                        },
                        {
                            "name": "testKey2",
                            "value": "value2"
                        },
                        {
                            "name": "lastModifiedKey",
                            "value": "$$LASTMODIFIED"
                        }
                    ]
                }
            }
        }
    }
]

Klasör ve dosya filtresi örnekleri

Bu bölümde, joker karakter filtreleriyle klasör yolunun ve dosya adının elde edilen davranışı açıklanmaktadır.

folderPath fileName Özyinelemeli Kaynak klasör yapısı ve filtre sonucu (kalın yazılmış dosyalar alınır)
container/Folder* (boş, varsayılanı kullan) yanlış kapsayıcı
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv
container/Folder* (boş, varsayılanı kullan) true kapsayıcı
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv
container/Folder* *.csv yanlış kapsayıcı
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv
container/Folder* *.csv true kapsayıcı
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv

Dosya listesi örnekleri

Bu bölümde, Kopyalama etkinliği kaynağında bir dosya listesi yolu kullanmanın elde edilen davranışı açıklanmaktadır.

Aşağıdaki kaynak klasör yapısına sahip olduğunuzu ve dosyaları kalın yazıyla kopyalamak istediğinizi varsayalım:

Örnek kaynak yapısı FileListToCopy.txt dosyasındaki içerik Yapılandırma
kapsayıcı
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    Meta veri
        FileListToCopy.txt
Dosya1.csv
Alt Klasör1/Dosya3.csv
Alt Klasör1/File5.csv
Veri kümesinde:
-Kapsayıcı: container
- Klasör yolu: FolderA

Kopyalama etkinliği kaynağında:
- Dosya listesi yolu: container/Metadata/FileListToCopy.txt

Dosya listesi yolu, kopyalamak istediğiniz dosyaların listesini içeren aynı veri deposundaki bir metin dosyasını gösterir. Veri kümesinde yapılandırılan yolun göreli yolunu içeren satır başına bir dosya içerir.

Bazı özyinelemeli ve copyBehavior örnekleri

Bu bölümde özyinelemeli ve copyBehavior değerlerinin farklı birleşimleri için Kopyalama işleminin sonuç davranışı açıklanmaktadır.

Özyinelemeli copyBehavior Kaynak klasör yapısı Sonuçta elde edilen hedef
true preserveHierarchy Klasör1
    Dosya1
    Dosya2
    Alt Klasör1
        Dosya3
        Dosya4
        Dosya5
Hedef klasör olan Klasör1, kaynakla aynı yapıda oluşturulur:

Klasör1
    Dosya1
    Dosya2
    Alt Klasör1
        Dosya3
        Dosya4
        Dosya5
true flattenHierarchy Klasör1
    Dosya1
    Dosya2
    Alt Klasör1
        Dosya3
        Dosya4
        Dosya5
Klasör1 hedef klasörü aşağıdaki yapıyla oluşturulur:

Klasör1
    Dosya1 için otomatik oluşturulan ad
    Dosya2 için otomatik oluşturulan ad
    Dosya3 için otomatik olarak oluşturulan ad
    Dosya4 için otomatik olarak oluşturulan ad
    Dosya5 için otomatik oluşturulan ad
true mergeFiles Klasör1
    Dosya1
    Dosya2
    Alt Klasör1
        Dosya3
        Dosya4
        Dosya5
Klasör1 hedef klasörü aşağıdaki yapıyla oluşturulur:

Klasör1
    Dosya1 + Dosya2 + Dosya3 + Dosya4 + Dosya5 içeriği, otomatik olarak oluşturulan dosya adıyla tek bir dosyada birleştirilir.
yanlış preserveHierarchy Klasör1
    Dosya1
    Dosya2
    Alt Klasör1
        Dosya3
        Dosya4
        Dosya5
Klasör1 hedef klasörü aşağıdaki yapıyla oluşturulur:

Klasör1
    Dosya1
    Dosya2

Dosya3, Dosya4 ve Dosya5 içeren alt klasör1 alınmaz.
yanlış flattenHierarchy Klasör1
    Dosya1
    Dosya2
    Alt Klasör1
        Dosya3
        Dosya4
        Dosya5
Klasör1 hedef klasörü aşağıdaki yapıyla oluşturulur:

Klasör1
    Dosya1 için otomatik oluşturulan ad
    Dosya2 için otomatik oluşturulan ad

Dosya3, Dosya4 ve Dosya5 içeren alt klasör1 alınmaz.
yanlış mergeFiles Klasör1
    Dosya1
    Dosya2
    Alt Klasör1
        Dosya3
        Dosya4
        Dosya5
Klasör1 hedef klasörü aşağıdaki yapıyla oluşturulur:

Klasör1
    Dosya1 + Dosya2 içeriği, otomatik olarak oluşturulan dosya adıyla tek bir dosyada birleştirilir. Dosya1 için otomatik oluşturulan ad

Dosya3, Dosya4 ve Dosya5 içeren alt klasör1 alınmaz.

Kopyalama sırasında meta verileri koruma

Amazon S3, Azure Blob Depolama veya Azure Data Lake Storage 2. Nesil dosyalarını Azure Data Lake Storage 2. Nesil veya Azure Blob Depolama kopyaladığınızda, dosya meta verilerini ve Veri. Meta verileri koruma başlığından daha fazla bilgi edinin.

Eşleme veri akışı özellikleri

Eşleme veri akışlarında verileri dönüştürürken, Azure Blob Depolama dosyaları aşağıdaki biçimlerde okuyabilir ve yazabilirsiniz:

Biçime özgü ayarlar, bu biçimin belgelerinde bulunur. Daha fazla bilgi için bkz. Eşleme veri akışında kaynak dönüşümü ve eşleme veri akışında havuz dönüşümü.

Kaynak dönüştürme

Kaynak dönüştürmede, Azure Blob Depolama bir kapsayıcıdan, klasörden veya tek tek dosyadan okuyabilirsiniz. Dosyaların okunma şeklini yönetmek için Kaynak seçenekleri sekmesini kullanın.

Screenshot of source options tab in mapping data flow source transformation.

Joker karakter yolları: Joker karakter deseni kullanmak, hizmete eşleşen her klasör ve dosyada tek bir kaynak dönüşümünde döngü gerçekleştirmesini emredecektir. Bu, tek bir akış içinde birden çok dosyayı işlemenin etkili bir yoludur. Var olan joker karakter deseninizin üzerine geldiğinizde görüntülenen artı işaretiyle birden çok joker karakter eşleştirme deseni ekleyin.

Kaynak kapsayıcınızdan bir desenle eşleşen bir dizi dosya seçin. Veri kümesinde yalnızca bir kapsayıcı belirtilebilir. Bu nedenle joker yolunuzun kök klasörden klasör yolunuzu da içermesi gerekir.

Joker karakter örnekleri:

  • * Herhangi bir karakter kümesini temsil eder.

  • ** Özyinelemeli dizin iç içe yerleştirmeyi temsil eder.

  • ? Bir karakteri değiştirir.

  • [] Köşeli ayraç içindeki bir veya daha fazla karakterle eşleşir.

  • /data/sales/**/*.csv /data/sales altındaki tüm .csv dosyalarını alır.

  • /data/sales/20??/**/ 20. yüzyıldaki tüm dosyaları alır.

  • /data/sales/*/*/*.csv .csv dosyalarını /data/sales altında iki düzey alır.

  • /data/sales/2004/*/12/[XY]1?.csv Aralık 2004'te X veya Y ön ekiyle başlayan tüm .csv dosyalarını iki basamaklı bir sayıyla alır.

Bölüm kök yolu: Dosya kaynağınızda bir key=value biçime (örneğin, ) sahip bölümlenmiş klasörleriniz varsa, year=2019bu bölüm klasör ağacının en üst düzeyini veri akışınızın veri akışındaki bir sütun adına atayabilirsiniz.

İlk olarak, bölümlenmiş klasörler olan tüm yolları ve okumak istediğiniz yaprak dosyaları içerecek şekilde bir joker karakter ayarlayın.

Screenshot of partition source file settings in mapping data flow source transformation.

Klasör yapısının en üst düzeyini tanımlamak için Bölüm kök yolu ayarını kullanın. Verilerinizin içeriğini bir veri önizlemesi aracılığıyla görüntülediğinizde, hizmetin klasör düzeylerinizin her birinde bulunan çözümlenmiş bölümleri eklediğini görürsünüz.

Partition root path

Dosya listesi: Bu bir dosya kümesidir. İşlenmek üzere göreli yol dosyalarının listesini içeren bir metin dosyası oluşturun. Bu metin dosyasının üzerine gelin.

Dosya adını depolamak için sütun: Kaynak dosyanın adını verilerinizdeki bir sütunda depolayın. Dosya adı dizesini depolamak için buraya yeni bir sütun adı girin.

Tamamlandıktan sonra: Veri akışı çalıştırıldıktan sonra kaynak dosyayla hiçbir şey yapmayı, kaynak dosyayı silmeyi veya kaynak dosyayı taşımayı seçin. Taşımanın yolları görelidir.

Kaynak dosyaları işleme sonrasında başka bir konuma taşımak için önce dosya işlemi için "Taşı"yı seçin. Ardından "kimden" dizinini ayarlayın. Yolunuz için joker karakter kullanmıyorsanız, "kimden" ayarı kaynak klasörünüzle aynı klasör olacaktır.

Joker karakter içeren bir kaynak yolunuz varsa söz diziminiz aşağıdaki gibidir:

/data/sales/20??/**/*.csv

"kimden" öğesini şu şekilde belirtebilirsiniz:

/data/sales

Ve "to" öğesini şu şekilde belirtebilirsiniz:

/backup/priorSales

Bu durumda, altında /data/sales kaynağı alınan tüm dosyalar öğesine /backup/priorSalestaşınır.

Dekont

Dosya işlemleri yalnızca işlem hattındaki Yürütme Veri Akışı etkinliğini kullanan bir işlem hattı çalıştırmasından (işlem hattı hata ayıklama veya yürütme çalıştırması) veri akışını başlattığınızda çalıştırılır. Dosya işlemleri Veri Akışı hata ayıklama modunda çalışmaz.

Son değiştirilmeye göre filtrele: İşlenecek dosyaları, son değiştirilme zamanlarının tarih aralığını belirterek filtreleyebilirsiniz. Tüm tarih saatleri UTC olarak belirlenir.

Değişiklik verilerini yakalamayı etkinleştirme: Doğruysa, yalnızca son çalıştırmadan yeni veya değiştirilmiş dosyalar alırsınız. Tam anlık görüntü verilerinin ilk yükü her zaman ilk çalıştırmada alınır ve ardından yalnızca sonraki çalıştırmalarda yeni veya değiştirilmiş dosyalar yakalanacaktır.

Screenshot showing Enable change data capture.

Havuz özellikleri

Havuz dönüşümünde, Azure Blob Depolama bir kapsayıcıya veya klasöre yazabilirsiniz. Dosyaların nasıl yazileceğini yönetmek için Ayarlar sekmesini kullanın.

Sink options

Klasörü temizleme: Veriler yazılmadan önce hedef klasörün temizlenip temizlenmeyeceğini belirler.

Dosya adı seçeneği: Hedef dosyaların hedef klasörde nasıl adlandırileceğini belirler. Dosya adı seçenekleri şunlardır:

  • Varsayılan: Spark'ın dosyaları PART varsayılanlarına göre adlandırmasına izin verin.
  • Desen: Çıkış dosyalarınızı bölüm başına numaralandıran bir desen girin. Örneğin, loans[n].csv , loans2.csvvb. oluştururloans1.csv.
  • Bölüm başına: Bölüm başına bir dosya adı girin.
  • Sütundaki veriler olarak: Çıkış dosyasını bir sütunun değerine ayarlayın. Yol hedef klasöre değil veri kümesi kapsayıcısına göredir. Veri kümenizde bir klasör yolunuz varsa, bu yol geçersiz kılınmış olur.
  • Tek bir dosyaya çıkış: Bölümlenmiş çıkış dosyalarını tek bir adlandırılmış dosyada birleştirin. Yol, veri kümesi klasörüne göredir. Birleştirme işleminin düğüm boyutuna göre başarısız olabileceğini unutmayın. Büyük veri kümeleri için bu seçeneği önermeyiz.

Tümünü tırnak içine al: Tüm değerlerin tırnak içine alınıp alınmayacağını belirler.

Arama etkinliği özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.

GetMetadata etkinlik özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için GetMetadata etkinliği'ne bakın.

Etkinlik özelliklerini silme

Özellikler hakkında ayrıntılı bilgi edinmek için Silme etkinliği'ne bakın.

Eski modeller

Dekont

Aşağıdaki modeller geriye dönük uyumluluk için olduğu gibi hala desteklenmektedir. Daha önce bahsedilen yeni modeli kullanmanızı öneririz. Yazma kullanıcı arabirimi yeni modeli oluşturmaya geçti.

Eski veri kümesi modeli

Özellik Açıklama Gerekli
type type Veri kümesinin özelliği olarak AzureBlobayarlanmalıdır. Evet
folderPath Blob depolamadaki kapsayıcı ve klasörün yolu.

Yol için kapsayıcı adı hariç joker karakter filtresi desteklenir. İzin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir). Klasör adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış için kullanın ^ .

Örnek: myblobcontainer/myblobfolder/. Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın.
Kopyalama veya Arama etkinliği için Evet, GetMetadata etkinliği için Hayır
fileName Belirtilen folderPath değer altındaki bloblar için ad veya joker karakter filtresi. Bu özellik için bir değer belirtmezseniz, veri kümesi klasördeki tüm blobları gösterir.

Filtre için izin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir).
- Örnek 1: "fileName": "*.csv"
- Örnek 2: "fileName": "???20180427.txt"
Dosya adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış yapmak için kullanın ^ .

Bir çıkış veri kümesi için belirtilmediğinde fileName ve preserveHierarchy etkinlik havuzunda belirtilmediğinde, Kopyalama etkinliği blob adını şu desenle otomatik olarak oluşturur: "Data.[ etkinlik çalıştırma kimliği GUID]. [FlattenHierarchy ise GUID]. [yapılandırıldıysa biçimlendir]. [yapılandırıldıysa sıkıştırma]". Örneğin: "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz".

Tablosal bir kaynaktan sorgu yerine tablo adı kullanarak kopyalarsanız, ad deseni olur [table name].[format].[compression if configured]. Örneğin: "MyTable.csv".
No
modifiedDatetimeStart Dosyalar özniteliğine göre filtrelenir: son değiştirme. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine "2018-12-01T05:00:00Z" biçiminde uygulanır.

Bu ayarın etkinleştirilmesinin, çok büyük miktarlardaki dosyaları filtrelemek istediğinizde veri taşımanın genel performansını etkileyeceğini unutmayın.

Özellikler olabilir NULL; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Tarih saat değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd olduğunda NULL, son değiştirilen özniteliği tarih saat değerinden büyük veya buna eşit olan dosyalar seçilir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart olduğunda NULL, son değiştirilen özniteliği datetime değerinden küçük olan dosyalar seçilir.
No
modifiedDatetimeEnd Dosyalar özniteliğine göre filtrelenir: son değiştirme. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine "2018-12-01T05:00:00Z" biçiminde uygulanır.

Bu ayarın etkinleştirilmesinin, çok büyük miktarlardaki dosyaları filtrelemek istediğinizde veri taşımanın genel performansını etkileyeceğini unutmayın.

Özellikler olabilir NULL; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Tarih saat değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd olduğunda NULL, son değiştirilen özniteliği tarih saat değerinden büyük veya buna eşit olan dosyalar seçilir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart olduğunda NULL, son değiştirilen özniteliği datetime değerinden küçük olan dosyalar seçilir.
No
format Dosyaları dosya tabanlı depolar (ikili kopya) arasında olduğu gibi kopyalamak istiyorsanız, hem giriş hem de çıkış veri kümesi tanımlarında biçim bölümünü atlayın.

Dosyaları belirli bir biçimde ayrıştırmak veya oluşturmak istiyorsanız, şu dosya biçimi türleri desteklenir: TextFormat, JsonFormat, AvroFormat, OrcFormat ve ParquetFormat. biçim altındaki type özelliğini bu değerlerden birine ayarlayın. Daha fazla bilgi için Metin biçimi, JSON biçimi, Avro biçimi, Ork biçimi ve Parquet biçimi bölümlerine bakın.
Hayır (yalnızca ikili kopyalama senaryosu için)
sıkıştırma Verilerin sıkıştırma türünü ve düzeyini belirtin. Daha fazla bilgi için bkz . Desteklenen dosya biçimleri ve sıkıştırma codec'leri.
Desteklenen türler GZip, Deflate, BZip2 ve ZipDeflate'tır.
Desteklenen düzeyler En uygun ve en hızlı düzeylerdir.
No

Bahşiş

Bir klasörün altındaki tüm blobları kopyalamak için yalnızca folderPath değerini belirtin.
Belirli bir ada sahip tek bir blobu kopyalamak için klasör bölümü için folderPath ve dosya adı için fileName belirtin.
Bir klasörün altındaki blobların bir alt kümesini kopyalamak için klasör bölümü için folderPath ve joker karakter filtresiyle fileName değerlerini belirtin.

Örnek:

{
    "name": "AzureBlobDataset",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "mycontainer/myfolder",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Kopyalama etkinliği için eski kaynak model

Özellik Açıklama Gerekli
type type Kopyalama etkinliği kaynağının özelliği olarak BlobSourceayarlanmalıdır. Evet
Özyinelemeli Verilerin alt klasörlerden veya yalnızca belirtilen klasörden özyinelemeli olarak okunup okunmadığını gösterir. recursive olarak ayarlandığında true ve havuz dosya tabanlı bir depo olduğunda, boş bir klasör veya alt klasör havuza kopyalanıp oluşturulmaz.
İzin verilen değerler (varsayılan) ve falsedeğerleridir true .
No
maxConcurrent Bağlan ions Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. No

Örnek:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure Blob input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Kopyalama etkinliği için eski havuz modeli

Özellik Açıklama Gerekli
type type Kopyalama etkinliği havuzu özelliği olarak BlobSinkayarlanmalıdır. Evet
copyBehavior Kaynak dosya tabanlı bir veri deposundaki dosyalar olduğunda kopyalama davranışını tanımlar.

İzin verilen değerler şunlardır:
- PreserveHierarchy (varsayılan): Hedef klasördeki dosya hiyerarşisini korur. Kaynak dosyanın kaynak klasöre göreli yolu, hedef dosyanın hedef klasöre göreli yolu ile aynıdır.
- FlattenHierarchy: Kaynak klasördeki tüm dosyalar hedef klasörün ilk düzeyindedir. Hedef dosyalar otomatik olarak oluşturulan adlara sahiptir.
- MergeFiles: Kaynak klasördeki tüm dosyaları tek bir dosyayla birleştirir. Dosya veya blob adı belirtilirse, birleştirilmiş dosya adı belirtilen addır. Aksi takdirde, otomatik olarak oluşturulan bir dosya adıdır.
No
maxConcurrent Bağlan ions Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. No

Örnek:

"activities":[
    {
        "name": "CopyToBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Blob output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "BlobSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Değişiklik verilerini yakalama

Azure Data Factory, eşleme veri akışı kaynak dönüşümünde **Değişiklik veri yakalamasını etkinleştir ** özelliğini etkinleştirerek yalnızca Azure Blob Depolama yeni veya değiştirilmiş dosyaları alabilir. Bu bağlayıcı seçeneğiyle, dönüştürülmüş verileri seçtiğiniz hedef veri kümelerine yüklemeden önce yalnızca yeni veya güncelleştirilmiş dosyaları okuyabilir ve dönüştürmeleri uygulayabilirsiniz. Ayrıntılar için lütfen Veri Yakalamayı Değiştirme bölümüne bakın.

.

Kopyalama etkinliği kaynak ve havuz olarak desteklediği veri depolarının listesi için bkz. Desteklenen veri depoları.