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
İ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!
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.
İpucu
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) | (1) (2) | ✓ Depolama hesabı V1'i hariç tutma |
Eşleme veri akışı (kaynak/havuz) | (1) | ✓ Depolama hesabı V1'i hariç tutma |
Arama etkinliği | (1) (2) | ✓ Depolama hesabı V1'i hariç tutma |
GetMetadata etkinliği | (1) (2) | ✓ Depolama hesabı V1'i hariç tutma |
Silme etkinliği | (1) (2) | ✓ 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.
Kullanmaya başlayın
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
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.
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:
Blobu arayın ve Azure Blob Depolama bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı 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.
- Anonim kimlik doğrulaması
- Hesap anahtarı kimlik doğrulaması
- Paylaşılan erişim imzası kimlik doğrulaması
- Hizmet sorumlusu kimlik doğrulaması
- Sistem tarafından atanan yönetilen kimlik kimlik doğrulaması
- Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması
Not
- Azure Depolama güvenlik duvarında etkinleştirilen Bu depolama hesabına güvenilen Microsoft hizmetleri 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.
Not
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 |
---|---|---|
Tür | type özelliği (önerilen) veya AzureStorage (aşağıdaki notlara bakın) olarak ayarlanmalıdır AzureBlobStorage . |
Yes |
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 |
Yes |
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. | Hayır |
Ö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. Açık veri kümesini bing_covid-19_data.csv 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/public
doldurmanız yeterlidir.
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 |
---|---|---|
Tür | type özelliği (önerilen) veya AzureStorage (aşağıdaki notlara bakın) olarak ayarlanmalıdır AzureBlobStorage . |
Yes |
connectionString | Özelliği için Depolama'ya 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. |
Yes |
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. | Hayır |
Not
Hesap anahtarı kimlik doğrulaması kullanırken ikincil Blob hizmet uç noktası desteklenmez. Diğer kimlik doğrulama türlerini kullanabilirsiniz.
Not
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.
Not
- 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 |
---|---|---|
Tür | Özelliğin type (önerilen) veya AzureStorage (aşağıdaki nota bakın) olarak ayarlanması AzureBlobStorage gerekir. |
Yes |
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. |
Yes |
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. | Hayır |
Not
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 nesnelerine 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'ya erişimin kimliğini doğrulama.
Hizmet sorumlusu kimlik doğrulamasını kullanmak için şu adımları izleyin:
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
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 Blobu 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 |
---|---|---|
Tür | type özelliği AzureBlobStorage olarak ayarlanmalıdır. | Yes |
serviceEndpoint | Azure Blob Depolama hizmet uç noktasını deseniyle https://<accountName>.blob.core.windows.net/ belirtin. |
Yes |
accountKind | Depolama hesabınızın türünü belirtin. İzin verilen değerler şunlardır: Depolama (genel amaçlı v1), StorageV2 (genel amaçlı v2), BlobStorage veya BlockBlobStorage. 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. |
Hayır |
servicePrincipalId | Uygulamanın istemci kimliğini belirtin. | Yes |
servicePrincipalCredentialType | Hizmet sorumlusu kimlik doğrulaması için kullanılacak kimlik bilgisi türü. İzin verilen değerler ServicePrincipalKey ve ServicePrincipalCert değerleridir. | Yes |
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. |
Yes |
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. | Yes |
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. |
Hayır |
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. | Hayır |
Not
- 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.
Not
Hizmet sorumlusu kimlik doğrulaması yalnızca "AzureBlobStorage" türü bağlı hizmeti tarafından desteklenir, önceki "AzureStorage" türü bağlı hizmeti 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'ya erişimin kimliğini doğrulama. Azure kaynak kimlik doğrulaması için yönetilen kimlikleri kullanmak için şu adımları izleyin:
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 Blobu 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 |
---|---|---|
Tür | type özelliği AzureBlobStorage olarak ayarlanmalıdır. | Yes |
serviceEndpoint | Azure Blob Depolama hizmet uç noktasını deseniyle https://<accountName>.blob.core.windows.net/ belirtin. |
Yes |
accountKind | Depolama hesabınızın türünü belirtin. İzin verilen değerler şunlardır: Depolama (genel amaçlı v1), StorageV2 (genel amaçlı v2), BlobStorage veya BlockBlobStorage. 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. |
Hayır |
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. | Hayır |
Ö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'ya erişimin kimliğini doğrulama. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulamasını kullanmak için şu adımları izleyin:
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 Blobu Veri Okuyucusu rolünü verin.
- Havuz olarak, Erişim denetiminde (IAM) en azından Depolama Blob Verileri Katkıda Bulunanı rolünü verin.
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 |
---|---|---|
Tür | type özelliği AzureBlobStorage olarak ayarlanmalıdır. | Yes |
serviceEndpoint | Azure Blob Depolama hizmet uç noktasını deseniyle https://<accountName>.blob.core.windows.net/ belirtin. |
Yes |
accountKind | Depolama hesabınızın türünü belirtin. İzin verilen değerler şunlardır: Depolama (genel amaçlı v1), StorageV2 (genel amaçlı v2), BlobStorage veya BlockBlobStorage. 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. |
Hayır |
kimlik bilgileri | Kimlik bilgisi nesnesi olarak kullanıcı tarafından atanan yönetilen kimliği belirtin. | Yes |
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. | Hayır |
Ö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ına erişmeye güvenilen Microsoft hizmetleri izin ver seçeneğinin de açık olması gerekir.
Not
- 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.
Not
Sistem tarafından atanan/kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması, önceki "AzureStorage" türü bağlı hizmeti tarafından değil yalnızca "AzureBlobStorage" türü bağlı hizmeti tarafından desteklenir.
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.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
Biçim tabanlı veri kümesindeki ayarlar altında location
Azure Blob Depolama için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesindeki konumun tür özelliği AzureBlobStorageLocation olarak ayarlanmalıdır. | Yes |
kapsayıcı | Blob kapsayıcısı. | Yes |
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. | Hayır |
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. | Hayır |
Ö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.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
Aşağıdaki özellikler, biçim tabanlı kopyalama kaynağındaki ayarlar altında storeSettings
Azure Blob Depolama için desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | altındaki storeSettings tür özelliği AzureBlobStorageReadSettings olarak ayarlanmalıdır. |
Yes |
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.txt var ve ön eki olarak folder/sub yapılandırdığınızda, korunan dosya yolu olur subfolder/file.txt . |
Hayır |
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. |
Hayır |
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. |
Yes |
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. |
Hayır |
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 fileListPath bu özellik geçerli değildir. |
Hayır |
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. |
Hayır |
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 modifiedDatetimeEnd küçü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 fileListPath bu özellik geçerli değildir. |
Hayır |
modifiedDatetimeEnd | Önceki özellik ile aynı. | Hayır |
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. |
Hayır |
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 month day daha oluşturur.- Bölüm kök yolu belirtilmezse ek sütun oluşturulmaz. |
Hayır |
maxConcurrentConnections | 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. | Hayır |
Not
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>"
}
}
}
]
Not
$logs
Depolama hesabı için Depolama Analizi 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 |
---|---|---|
Tür | type altındaki storeSettings özelliği olarak AzureBlobStorageWriteSettings ayarlanmalıdır. |
Yes |
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. |
Hayır |
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. |
Hayır |
maxConcurrentConnections | 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. | Hayır |
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.-İfade - Statik değer |
Hayır |
Ö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 File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
container/Folder* |
(boş, varsayılanı kullan) | true | kapsayıcı KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
container/Folder* |
*.csv |
yanlış | kapsayıcı KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
container/Folder* |
*.csv |
true | kapsayıcı KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.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 içeriği | Yapılandırma |
---|---|---|
kapsayıcı KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv Meta veri FileListToCopy.txt |
File1.csv Alt Klasör1/File3.csv Alt Klasör1/File5.csv |
Veri kümesinde: -Konteyner: 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.
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
/data/sales altında .csv dosyaları iki düzey alır./data/sales/2004/*/12/[XY]1?.csv
Aralık 2004'te X veya Y ön ekiyle iki basamaklı bir sayıyla başlayan tüm .csv dosyalarını 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=2019
bu 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.
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.
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/priorSales
taşınır.
Not
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.
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.
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.csv
vb. 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
Not
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 |
---|---|---|
Tür | type Veri kümesinin özelliği olarak AzureBlob ayarlanmalıdır. |
Yes |
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". |
Hayır |
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 modifiedDatetimeEnd küçü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. |
Hayır |
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 modifiedDatetimeEnd küçü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. |
Hayır |
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. |
Hayır |
İpucu
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 |
---|---|---|
Tür | type Kopyalama etkinliği kaynağının özelliği olarak BlobSource ayarlanmalıdır. |
Yes |
Ö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 false değerleridir true . |
Hayır |
maxConcurrentConnections | 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. | Hayır |
Ö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 |
---|---|---|
Tür | type Kopyalama etkinliği havuzu özelliği olarak BlobSink ayarlanmalıdır. |
Yes |
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. |
Hayır |
maxConcurrentConnections | 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. | Hayır |
Ö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.
İlgili içerik
Kopyalama etkinliği kaynak ve havuz olarak desteklediği veri depolarının listesi için bkz. Desteklenen veri depoları.