Azure Data Factory veya Azure SYNAPSE Analytics kullanarak Azure Blob depolamada verileri kopyalama ve dönüştürme
Uygulama hedefi:
Azure SYNAPSE Analytics 'i Azure Data Factory
Bu makalede, verileri ve Azure Blob depolama alanından kopyalamak için Azure Data Factory ve Azure SYNAPSE işlem hatları 'nda kopyalama etkinliğinin nasıl kullanılacağı özetlenmektedir. ayrıca, Azure Blob depolamada verileri dönüştürmek için veri Flow etkinliğinin nasıl kullanılacağını açıklar. Daha fazla bilgi edinmek için Azure Data Factory ve Azure SYNAPSE Analytics tanıtım makalelerini okuyun.
İpucu
Bir veri Gölü veya veri ambarıyla ilgili geçiş senaryosu hakkında bilgi edinmek için Data Lake veya veri ambarınızdan verileri Azure 'A geçirmemakalesine bakın.
Desteklenen özellikler
Bu Azure Blob depolama Bağlayıcısı aşağıdaki etkinlikler için desteklenir:
- Desteklenen kaynak/havuz matrisi ile kopyalama etkinliği
- Veri akışını eşleme
- Arama etkinliği
- GetMetadata etkinliği
- Etkinliği sil
Kopyalama etkinliği için bu blob Storage Bağlayıcısı şunları destekler:
- Blob 'ları genel amaçlı Azure depolama hesaplarına ve bu kaynaklardan kopyalama, sık/seyrek erişimli BLOB depolama.
- Bir hesap anahtarı, hizmet paylaşılan erişim imzası (SAS), hizmet sorumlusu veya Azure Kaynak kimlik doğrulamaları için Yönetilen kimlikler kullanarak blob 'ları kopyalama.
- Blob 'ları blok, ekleme veya sayfa Bloblarından kopyalama ve yalnızca blok bloblarına veri kopyalama.
- Blob 'ları olduğu gibi kopyalama veya Desteklenen dosya biçimleri ve sıkıştırma codec bileşenleriile blob ayrıştırma veya oluşturma.
- Kopyalama sırasında dosya meta verileri koruma.
başlarken
İş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
- Python SDK'sı
- Azure PowerShell
- REST API
- Azure Resource Manager şablonu
kullanıcı arabirimini kullanarak Azure Blob Depolama bağlantılı hizmet oluşturma
Azure portal kullanıcı arabiriminde bir Azure Blob Depolama bağlı hizmeti oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya SYNAPSE çalışma alanınızdaki Yönet sekmesine gidin ve bağlı hizmetler ' i seçin ve ardından yeni ' ye tıklayın:
blob 'u 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 özellikler hakkında ayrıntılı bilgi sağlanmaktadı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.
- 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 doğrulaması
- Kullanıcı tarafından atanan yönetilen kimlik doğrulaması
Not
- azure Depolama güvenlik duvarında etkin olan bu depolama hesabına erişmek için güvenilir Microsoft hizmetleri izin ver ' i kullanarak Blob depolamaya bağlanmak için genel Azure tümleştirme çalışma zamanını kullanmak istiyorsanız, yönetilen kimlik kimlik doğrulamasınıkullanmanız gerekir.
- Azure SYNAPSE Analytics 'e veri yüklemek için PolyBase veya COPY ifadesini kullandığınızda, kaynak veya hazırlama BLOB depolama alanı bir Azure sanal ağ uç noktasıyla yapılandırılmışsa, Azure SYNAPSE tarafından istenen yönetilen kimlik kimlik doğrulamasını kullanmanız gerekir. Daha fazla yapılandırma önkoşulları için yönetilen kimlik doğrulama bölümüne bakın.
Not
azure hdınsight ve Azure Machine Learning etkinlikleri yalnızca azure Blob depolama hesabı anahtarlarını kullanan kimlik doğrulamasını destekler.
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 AzureBlobStorage (önerilir) veya AzureStorage (aşağıdaki notlara bakın) olarak ayarlanmalıdır. |
Yes |
| Dizisi | özelliği için Depolama bağlanmak için gereken bilgileri belirtin connectionString . Ayrıca hesap anahtarını Azure Key Vault yerleştirebilir ve accountKey yapılandırmayı bağlantı dizesinin dışına çekebilirsiniz. Daha fazla bilgi için, Azure Key Vault makalesinde aşağıdaki örneklere ve Mağaza kimlik bilgilerine 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 depolduğunuz özel bir ağda olması halinde) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. | No |
Not
Hesap anahtarı kimlik doğrulaması kullanırken ikincil blob hizmeti uç noktası desteklenmez. Diğer kimlik doğrulama türlerini kullanabilirsiniz.
Not
AzureStorageTür bağlı hizmetini kullanıyorsanız, hala olduğu gibi desteklenmektedir. Ancak AzureBlobStorage ileriye gitmekte olan yeni 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 depolayın
{
"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. Belirli bir süre boyunca Depolama hesabınızdaki nesnelere sınırlı bir izinler vermek için paylaşılan erişim imzasını kullanabilirsiniz.
Hesap erişim anahtarlarınızı paylaşmak zorunda değilsiniz. 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 hizmet paylaşılan erişim imzalarını ve Hesap paylaşılan erişim imzalarını desteklemektedir. 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 'nizin yolunu kullanarak bir hizalanmış şekilde yapılandırmanız gerekir.
Aşağıdaki özellikler, paylaşılan erişim imzası kimlik doğrulamasını kullanmak için desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | typeÖzelliği AzureBlobStorage (önerilir) veya AzureStorage (aşağıdaki nota bakın) olarak ayarlanmalıdır. |
Yes |
| sasUri | blob veya kapsayıcı gibi Depolama kaynaklara yönelik paylaşılan erişim imzası urı 'sini belirtin. Bu alanı güvenli bir şekilde SecureString depolamak için olarak işaretleyin. Ayrıca, Otomatik döndürmeyi kullanmak ve belirteç bölümünü kaldırmak için SAS belirtecini Azure Key Vault de yerleştirebilirsiniz. Daha fazla bilgi için, aşağıdaki örneklere bakın ve Azure Key Vault kimlik bilgilerini depolayı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 depolduğunuz özel bir ağda olması halinde) kullanabilirsiniz. Bu özellik belirtilmezse hizmet varsayılan Azure tümleştirme çalışma zamanı kullanır. | No |
Not
Bağlı hizmet türünü AzureStorage kullanıyorsanız yine de desteklemektedir. Ancak bundan sonra yeni bağlı hizmet AzureBlobStorage 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
{
"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'si uri'si oluşturduktan sonra aşağıdaki noktaları göz önünde bulundurarak:
- Bağlı hizmetin (okuma, yazma, okuma/yazma) nasıl kullanıldıklarına bağlı olarak nesneler üzerinde uygun okuma/yazma izinlerini ayarlayın.
- Süre sonu süresini uygun şekilde ayarlayın. İşlem hattının etkin Depolama süresi içinde Depolama erişim süresinin dolmay olduğundan emin olun.
- URI, ihtiyaçlara göre doğru kapsayıcıda veya blobda oluşturularak oluşturulur. Bloba paylaşılan erişim imzası URI'sı, veri fabrikasının veya Synapse işlem hattının bu bloba erişmesine olanak sağlar. Blob depolama kapsayıcısı için paylaşılan erişim imzası URI'si, veri fabrikasının veya Synapse işlem hattının bu kapsayıcının blob'lar arasında yeniden derlesine olanak sağlar. Daha sonra daha fazla veya daha az nesne için 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 hizmet sorumlusu kimlik doğrulaması hakkında genel Depolama için bkz. Depolama kullanarak Azure Azure Active Directory.
Hizmet sorumlusu kimlik doğrulamasını kullanmak için şu adımları izleyin:
Azure AD kiracısına Azure Active Directory 'de (Azure AD) bir uygulama varlığı kaydetme. Bağlı hizmeti tanımlamak için kullanılan şu değerleri not etmek için:
- Uygulama Kimliği
- Uygulama anahtarı
- Kiracı Kimliği
Azure Blob depolamada hizmet sorumlusuna uygun iznini vermek. Roller hakkında daha fazla bilgi için bkz. Blob Azure portal ve kuyruk verilerine erişim için Azure rolü atamak üzere azure rolünü kullanma.
- Kaynak olarak, Erişim denetiminde (IAM) en azından Blob Depolama Okuyucusu rolünü ver.
- Havuz olarak, Erişim denetiminde (IAM) en az blob Depolama Katkıda Bulunanı rolünü kullanın.
Bu özellikler, Azure Blob depolama bağlı hizmeti için de kullanılabilir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | type özelliğinin AzureBlobStorage olarak ayarlanmış olması gerekir. | Yes |
| Serviceendpoint | Azure Blob depolama hizmeti uç noktasını deseniyle https://<accountName>.blob.core.windows.net/ belirtin. |
Yes |
| accountKind | Depolama hesabınıza ne tür bir şey olduğunu belirtin. İzin verilen değerler: 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 "yönetilen kimlik" olarak kabul Depolama. Uygun hesap türlerini 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. | Yes |
| servicePrincipalKey | Uygulamanın anahtarını belirtin. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleFactory veya içinde depolanan bir gizli diziye Azure Key Vault. | Yes |
| Kiracı | Uygulamanın altında bulunduğu kiracı bilgilerini (etki alanı adı veya kiracı kimliği) belirtin. Dosyanın sağ üst köşesinin üzerine gelerek Azure portal. | Yes |
| azureCloudType | Hizmet sorumlusu kimlik doğrulaması için, uygulama uygulamanıza kaydedilen Azure Azure Active Directory türünü belirtin. İzin verilen değerler AzurePublic, AzureChina, AzureUsGovernment ve AzureGermany değerleridir. 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 kendi içinde barındırılan tümleştirme çalışma zamanını kullanabilirsiniz (veri deponız özel bir ağ içinde ise). Bu özellik belirtilmezse hizmet varsayılan Azure tümleştirme çalışma zamanı kullanır. | No |
Not
- Blob hesabınız yazılımdan silmeyi destekliyorsa,Veri Kaynağı hizmet sorumlusu kimlik doğrulaması Flow.
- Data Flow kullanarak blob depolamaya özel uç nokta üzerinden erişıyorsanız, hizmet sorumlusu kimlik doğrulamasının ne zaman Flow Blob uç noktası yerine ADLS 2. Nesil uç noktasına bağlandığına dikkat olun. Erişimi etkinleştirmek için veri fabrikanıza veya Synapse çalışma alanınıza karşılık gelen özel uç noktayı 12.
Not
Hizmet sorumlusu kimlik doğrulaması yalnızca "AzureBlobStorage" türü bağlı hizmeti tarafından, önceki "AzureStorage" türü bağlı hizmet tarafından desteklanmaz.
Ö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 doğrulaması
Veri fabrikası veya Synapse işlem hattı, Diğer Azurehizmetleri için kimlik doğrulaması için bu kaynağı temsil eden Azure kaynakları için sistem tarafından atanan yönetilen kimlikle ilişkilendirilebilirsiniz. Blob depolama kimlik doğrulaması için doğrudan sistem tarafından atanan bu yönetilen kimliği kullanabilirsiniz. Bu kimlik, kendi hizmet sorumlularınızı kullanmaya benzer. Bu belirlenen kaynağın Blob depolamadan veya Blob depolamaya veri erişmesi ve verileri kopyalaması için 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 kimlik doğrulaması hakkında genel Depolama için bkz. Depolama kullanarak Azure Azure Active Directory. Azure kaynak kimlik doğrulamasında yönetilen kimlikleri kullanmak için şu adımları izleyin:
Fabrikanız veya Synapse çalışma alanınız ile birlikte oluşturulan sistem tarafından atanan yönetilen kimlik nesnesi kimliğinin değerini kopyalayıp sistem tarafından atanan yönetilen kimlik bilgilerini alın.
Azure Blob depolamada yönetilen kimlik iznini vermek. Roller hakkında daha fazla bilgi için bkz. Blob Azure portal ve kuyruk verilerine erişim için Azure rolü atamak üzere azure rolünü kullanma.
- Kaynak olarak, Erişim denetiminde (IAM) en azından Blob Depolama Okuyucusu rolünü ver.
- Havuz olarak, Erişim denetiminde (IAM) en az blob Depolama Katkıda Bulunanı rolünü kullanın.
Bu özellikler, Azure Blob depolama bağlı hizmeti için de kullanılabilir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | type özelliğinin AzureBlobStorage olarak ayarlanmış olması gerekir. | Yes |
| Serviceendpoint | Azure Blob depolama hizmeti uç noktasını deseniyle https://<accountName>.blob.core.windows.net/ belirtin. |
Yes |
| accountKind | Depolama hesabınıza ne tür bir şey olduğunu belirtin. İzin verilen değerler: 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 "yönetilen kimlik" olarak kabul Depolama. Uygun hesap türlerini 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 kendi içinde barındırılan tümleştirme çalışma zamanını kullanabilirsiniz (veri deponız özel bir ağ içinde ise). Bu özellik belirtilmezse hizmet varsayılan Azure tümleştirme çalışma zamanı 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 doğrulaması
Bir veri fabrikası, bir veya daha fazla Kullanıcı tarafından atanan yönetilen kimlikile atanabilir. BLOB depolama alanı kimlik doğrulaması için bu kullanıcı tarafından atanan bu yönetilen kimliği, BLOB depolama alanına erişim ve BLOB depolamaya veri kopyalamaya izin veren şekilde kullanabilirsiniz. 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. azure Depolama erişimi kimlik doğrulaması Azure Active Directory kullanarak. Kullanıcı tarafından atanan yönetilen 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 alanında izin verin. Roller hakkında daha fazla bilgi için bkz. BLOB ve kuyruk verilerine erişim Için Azure rolü atamak üzere Azure Portal kullanma.
- kaynak olarak, erişim denetimi 'nde (ıam), en azından Depolama Blob veri okuyucu rolü verin.
- havuz olarak, erişim denetimi 'nde (ıam), en azından Depolama Blob veri katılımcısı rolü verin.
Veri fabrikanıza bir veya daha fazla kullanıcı tarafından atanan yönetilen kimlik atayın ve Kullanıcı tarafından atanan her yönetilen kimliğin kimlik bilgilerini oluşturun .
Bu özellikler, Azure Blob depolama bağlı hizmeti için desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | Type özelliği AzureBlobStorage olarak ayarlanmalıdır. | Yes |
| Sözleşmeli | Düzenine sahip Azure Blob depolama hizmeti uç noktasını belirtin https://<accountName>.blob.core.windows.net/ . |
Yes |
| accountKind | Depolama hesabınızın türünü belirtin. izin verilen değerler: 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. |
No |
| Kimlik bilgileri | Kullanıcı tarafından atanan yönetilen kimliği kimlik bilgisi nesnesi olarak 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 depolduğunuz özel bir ağda olması halinde) 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 depolama alanından (kaynak veya hazırlama olarak) Azure SYNAPSE Analytics 'e veri yüklemek için PolyBase veya COPY ifadesini kullanırsanız, blob depolaması için yönetilen kimlik kimlik doğrulaması kullandığınızda, Bukılavuzda 1 ile 3 arasındaki adımları da izlediğinizden emin olun. bu adımlar, sunucunuzu Azure AD 'ye kaydeder ve Depolama Blob veri katılımcısı rolünü sunucunuza atar. Data Factory Rest 'i işler. Blob depolamayı bir azure sanal ağ uç noktası ile yapılandırırsanız, azure Synapse 'ın gerektirdiği şekilde azure Depolama hesabı güvenlik duvarları ve sanal ağlar ayarları menüsü altında bu depolama hesabına erişmesine izin ver ' i de Microsoft hizmetleri.
Not
- Blob hesabınız geçici silmeişlemi etkinleştiriyorsa, sistem tarafından atanan/kullanıcı tarafından atanan yönetilen kimlik doğrulaması veri Flow desteklenmez.
- blob depolama alanına veri Flow kullanarak özel uç nokta üzerinden eriştiğinizde, sistem tarafından atanan/kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulamasının ne zaman kullanıldığını, Flow blob uç noktası yerine ADLS 2. uç noktasına bağlandığını aklınızda görürsünüz. Erişimi etkinleştirmek için ADF 'de karşılık gelen özel uç noktayı oluşturduğunuzdan emin olun.
Not
Sistem tarafından atanan/kullanıcı tarafından atanan yönetilen kimlik doğrulaması, önceki "AzureStorage" türü bağlı hizmeti değil, yalnızca "AzureBlobStorage" türünde bağlı hizmet tarafından desteklenir.
Veri kümesi özellikleri
Veri kümelerini tanımlamaya yönelik bölümlerin ve özelliklerin tam listesi için bkz. veri kümeleri makalesi.
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, location Biçim tabanlı bir veri kümesindeki ayarlar altında Azure Blob depolama için desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | Veri kümesindeki konumun Type özelliği AzureBlobStorageLocation olarak ayarlanmalıdır. | Yes |
| kapsayıcı | Blob kapsayıcısı. | Yes |
| folderPath | Verilen kapsayıcı altındaki klasörün yolu. Klasörü filtrelemek için bir joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarları ' nda belirleyin. | No |
| fileName | Verilen kapsayıcı ve klasör yolu altındaki dosya adı. Dosyaları filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarları ' nda belirleyin. | 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ımlamaya yönelik bölümlerin ve özelliklerin tam listesi için Pipelines makalesine bakın. Bu bölüm, BLOB depolama kaynağı ve havuzunun desteklediği özelliklerin bir listesini sağlar.
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, Azure Blob depolama için, storeSettings Biçim tabanlı bir kopyalama kaynağında ayarlar altında desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | İçindeki tür özelliği storeSettings AzureBlobStorageReadSettings olarak ayarlanmalıdır. |
Yes |
| Kopyalanacak dosyaları bulun: | ||
| SEÇENEK 1: statik yol |
Veri kümesinde belirtilen kapsayıcı veya klasör/dosya yolundan Kopyala. Tüm Blobları bir kapsayıcı veya klasörden kopyalamak istiyorsanız, ayrıca olarak öğesini belirtin wildcardFileName * . |
|
| Seçenek 2: blob ön eki -önek |
Kaynak bloblarını filtrelemek için bir veri kümesinde yapılandırılan, belirtilen kapsayıcının altındaki blob adı için ön ek. Adları ile başlayan blob 'lar container_in_dataset/this_prefix seçilidir. BLOB depolama için hizmet tarafı filtresinden yararlanır ve bu, joker karakter filtresinden daha iyi performans sağlar.Ön eki ve koruma hiyerarşisi ile dosya tabanlı havuza kopyalamayı seçtiğinizde, önekte son "/" dan sonraki alt yolun korunması gerekir. Örneğin, kaynağı vardır container/folder/subfolder/file.txt ve ön eki olarak yapılandırın ve folder/sub ardından korunan dosya yolu olur subfolder/file.txt . |
No |
| Seçenek 3: joker karakter -Yavaya Cardfolderpath |
Kaynak klasörleri filtrelemek için bir veri kümesinde yapılandırılan, belirtilen kapsayıcının altındaki joker karakterleri içeren klasör yolu. İzin verilen joker karakterler: * (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 joker karakter veya içinde bu kaçış karakteri varsa kaçış için kullanın. Klasör ve dosya filtresi örneklerindedaha fazla örnek görüntüleyin. |
No |
| Seçenek 3: joker karakter -Yavaya Cardfilename |
Kaynak dosyalarını filtrelemek için verilen kapsayıcı ve klasör yolu (veya joker karakter klasörü yolu) altındaki joker karakterlerle dosya adı. İzin verilen joker karakterler: * (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 bir joker karakter veya içinde bu kaçış karakteri varsa kaçış için kullanın. Klasör ve dosya filtresi örneklerindedaha fazla örnek görüntüleyin. |
Yes |
| 4. seçenek: dosya listesi -fileListPath |
Belirli bir dosya kümesinin kopyalanıp ayrılmadığını gösterir. Veri kümesinde yapılandırılan yolun göreli yolu olan, kopyalamak istediğiniz dosyaların listesini içeren bir metin dosyası üzerine gelin. Bu seçeneği kullandığınızda, veri kümesinde bir dosya adı belirtmeyin. Dosya listesi örneklerindedaha fazla örneğe bakın. |
No |
| Ek ayarlar: | ||
| öz | Verilerin alt klasörlerden veya yalnızca belirtilen klasörden özyinelemeli olarak okunup okunmadığını gösterir. Özyinelemeli değeri true olarak ayarlandığında ve havuz dosya tabanlı bir depo olduğunda, havuzda boş bir klasör veya alt klasör kopyalanmadığını veya oluşturulamadığına unutmayın. İzin verilen değerler true (varsayılan) ve false şeklindedir. Bu özellik, yapılandırdığınızda uygulanmaz fileListPath . |
No |
| deleteFilesAfterCompletion | Hedef depoya başarıyla taşıdıktan sonra, ikili dosyaların kaynak depodan silinip silinmeyeceğini gösterir. Dosya silme dosya başına yapılır, bu nedenle kopyalama etkinliği başarısız olduğunda, bazı dosyaların hedefe zaten kopyalanmış ve kaynaktan silindiği görürsünüz, diğerleri ise kaynak deposunda hala kalır. Bu özellik yalnızca ikili dosyalar kopyalama senaryosunda geçerlidir. Varsayılan değer: false. |
No |
| modifiedDatetimeStart | Dosyalar şu özniteliğe göre filtrelenmiştir: son değiştirme. Son değiştirilme zamanı ve arasındaki zaman aralığı içinde ise dosyalar seçilir modifiedDatetimeStart modifiedDatetimeEnd . Saat, "2018-12-01T05:00:00Z" biçiminde bir UTC saat dilimine uygulanır. Özellikler null olabilir, bu da veri kümesine hiçbir dosya özniteliği filtresinin uygulanmayacağı anlamına gelir. Ne zaman modifiedDatetimeStart bir tarih saat değeri olduğunda modifiedDatetimeEnd , ancak null ise, son değiştirilen özniteliği DateTime değerinden büyük veya ona eşit olan dosyalar seçilir. Ne zaman modifiedDatetimeEnd bir tarih saat değeri olduğunda modifiedDatetimeStart , ancak null ise, son değiştirilen özniteliği DateTime değerinden küçük olan dosyalar seçilir.Bu özellik, yapılandırdığınızda uygulanmaz fileListPath . |
No |
| modifiedDatetimeEnd | Yukarıdakiyle aynıdır. | No |
| enablePartitionDiscovery | Bölümlenmiş dosyalar için, dosya yolundan bölümlerin ayrıştırıp ayrıştırmayacağını belirtin ve bunları ek kaynak sütunları olarak ekleyin. İzin verilen değerler false (varsayılan) ve true şeklindedir. |
No |
| Partitionrootyolu | Bölüm bulma etkin olduğunda, bölümlenmiş klasörleri veri sütunları olarak okumak için mutlak kök yolunu belirtin. Belirtilmemişse, varsayılan olarak -Veri kümesinde dosya yolunu veya kaynaktaki dosya 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 karakterin öncesindeki alt yoldur. -Öneki kullandığınızda, bölüm kök yolu son "/" dan önceki alt yoldur. Örneğin, veri kümesindeki yolu "root/Folder/Year = 2020/ay = 08/gün = 27" olarak yapılandırdığınız varsayılarak: -Bölüm kök yolunu "root/Folder/Year = 2020" olarak belirtirseniz, kopyalama etkinliği month day dosyaların içindeki sütunlara ek olarak, sırasıyla "08" ve "27" değeriyle birlikte iki sütun oluşturur.-Bölüm kök yolu belirtilmemişse, ek sütun oluşturulmaz. |
No |
| maxConcurrentConnections | Etkinlik çalışması 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ırlandırmak istediğinizde bir değer belirtin. | No |
Not
Parquet/delimited metin biçimi için, sonraki bölümde bahsedilen kopyalama etkinliği kaynağı için Blobsource türü, geriye dönük uyumluluk için olduğu gibi hala desteklenmektedir. 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
$logsbir 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. Veri fabrikanızın veya SYNAPSE işlem hattının kapsayıcıdan dosyaları tüketmesi için doğrudan dosya yolu belirtilmelidir $logs .
Havuz türü olarak BLOB depolama
Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye başvurun.
Aşağıdaki özellikler, storeSettings Biçim tabanlı bir kopya havuzunda ayarlar altında Azure Blob depolama için desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | typeAltındaki özelliği storeSettings olarak ayarlanmalıdır AzureBlobStorageWriteSettings . |
Yes |
| copyBehavior | Kaynak dosya tabanlı bir veri deposundan 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 göreli yoluyla hedef klasöre aynıdır. -DÜZEDEN hiyerarşi: 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 dosya ile birleştirir. Dosya veya blob adı belirtilmişse, birleştirilmiş dosya adı belirtilen addır. Aksi takdirde, otomatik olarak oluşturulan bir dosya adıdır. |
No |
| Blocksizeınmb | Blok bloblarına veri yazmak için kullanılan blok boyutunu megabayt cinsinden belirtin. Blok Blobları hakkındadaha fazla bilgi edinin. İzin verilen değer 4 MB ile 100 MB arasındadır. Varsayılan olarak hizmet, blok boyutunu kaynak depolama türü ve verilerinize göre otomatik olarak belirler. Blob depolamaya ikili olmayan kopya için, varsayılan blok boyutu 100 MB 'tır, bu nedenle en fazla 4,95 TB veri olabilir. Özellikle, işlem zaman aşımı veya performans sorunlarına neden olan kötü ağ bağlantılarıyla şirket içinde barındırılan tümleştirme çalışma zamanını kullandığınızda verileriniz büyük olmadığında en iyi durumda olmayabilir. Açıkça bir blok boyutu belirtebilirsiniz, bu da blockSizeInMB*50000 verileri depolamaya yetecek büyüklükte bir değer sağlar. Aksi takdirde kopyalama etkinliği çalıştırması başarısız olur. |
No |
| maxConcurrentConnections | Etkinlik çalışması 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ırlandırmak istediğinizde bir değer belirtin. | No |
| meta veriler | Havuza kopyalama sırasında özel meta verileri ayarlayın. Dizideki her nesne metadata bir ek sütunu temsil eder. , name Meta veri anahtar adını tanımlar ve value Bu anahtarın veri değerini gösterir. Öznitelikleri Koru özelliği kullanılırsa, belirtilen meta veriler kaynak dosya meta verileriyle birleşim/üzerine yazacak.İzin verilen veri değerleri şunlardır: - $$LASTMODIFIED: ayrılmış bir değişken, kaynak dosyaların son değiştirilme zamanını depolayacağınız anlamına gelir. Dosya tabanlı kaynağa yalnızca ikili biçimde Uygula.-İfadesi - 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, klasör yolu ve dosya adının joker karakter filtreleriyle elde edilen davranışı açıklanmaktadır.
| folderPath | fileName | öz | Kaynak klasör yapısı ve filtre sonucu ( kalın olan dosyalar alınır) |
|---|---|---|---|
container/Folder* |
(boş, Varsayılanı kullan) | yanlış | kapsayıcı Klasör a File1.csv Dosya2. JSON Subfolder1 File3.csv File4. JSON File5.csv AnotherFolderB File6.csv |
container/Folder* |
(boş, Varsayılanı kullan) | true | kapsayıcı Klasör a File1.csv Dosya2. JSON Subfolder1 File3.csv File4. JSON File5.csv AnotherFolderB File6.csv |
container/Folder* |
*.csv |
yanlış | kapsayıcı Klasör a File1.csv Dosya2. JSON Subfolder1 File3.csv File4. JSON File5.csv AnotherFolderB File6.csv |
container/Folder* |
*.csv |
true | kapsayıcı Klasör a File1.csv Dosya2. JSON Subfolder1 File3.csv File4. JSON File5.csv AnotherFolderB File6.csv |
Dosya listesi örnekleri
Bu bölümde, kopyalama etkinlik kaynağında bir dosya listesi yolu kullanmanın ortaya çıkan davranışı açıklanmaktadır.
Aşağıdaki kaynak klasör yapısına sahip olduğunuz ve dosyaları kalın yazı tipinde kopyalamak istediğinizi varsayalım:
| Örnek kaynak yapısı | FileListToCopy.txt içerik | Yapılandırma |
|---|---|---|
| kapsayıcı Klasör a File1.csv Dosya2. JSON Subfolder1 File3.csv File4. JSON File5.csv Veriyi FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
Veri kümesinde: Kapsayıcı container-Klasör yolu: FolderAKopyalama etkinliği kaynağı: -Dosya listesi yolu: container/Metadata/FileListToCopy.txt Dosya listesi yolu, veri kümesinde yapılandırılan yolun göreli yolu ile, kopyalamak istediğiniz dosyaların bir listesini, her satıra bir dosya içeren bir metin dosyasını gösterir. |
Bazı özyinelemeli ve copyBehavior örnekleri
Bu bölümde, özyinelemeli ve copybehavior değerlerinin farklı birleşimleri için kopyalama işleminin ortaya çıkan davranışı açıklanmaktadır.
| öz | copyBehavior | Kaynak klasör yapısı | Sonuç hedefi |
|---|---|---|---|
| true | preserveHierarchy | Klasör1 FILE1 Dosya2 Subfolder1 File3 File4 File5 |
Hedef klasör, Klasör1, kaynak ile aynı yapıyla oluşturulur: Klasör1 FILE1 Dosya2 Subfolder1 File3 File4 File5 |
| true | DÜZEDEN hiyerarşisi | Klasör1 FILE1 Dosya2 Subfolder1 File3 File4 File5 |
Hedef klasör, Klasör1, aşağıdaki yapıyla oluşturulur: Klasör1 Fıle1 için otomatik olarak oluşturulan ad dosya2 için otomatik olarak oluşturulan ad file3 için otomatik olarak oluşturulan ad File4 için otomatik olarak oluşturulan ad File5 için otomatik olarak oluşturulan ad |
| true | mergeFiles | Klasör1 FILE1 Dosya2 Subfolder1 File3 File4 File5 |
Hedef klasör, Klasör1, aşağıdaki yapıyla oluşturulur: Klasör1 FILE1 + dosya2 + File3 + File4 + File5 içerikler, otomatik olarak oluşturulan bir dosya adına sahip tek bir dosyada birleştirilir. |
| yanlış | preserveHierarchy | Klasör1 FILE1 Dosya2 Subfolder1 File3 File4 File5 |
Hedef klasör, Klasör1, aşağıdaki yapıyla oluşturulur: Klasör1 FILE1 Dosya2 File3, File4 ve File5 ile Subfolder1. |
| yanlış | DÜZEDEN hiyerarşisi | Klasör1 FILE1 Dosya2 Subfolder1 File3 File4 File5 |
Hedef klasör, Klasör1, aşağıdaki yapıyla oluşturulur: Klasör1 Fıle1 için otomatik olarak oluşturulan ad dosya2 için otomatik olarak oluşturulan ad File3, File4 ve File5 ile Subfolder1. |
| yanlış | mergeFiles | Klasör1 FILE1 Dosya2 Subfolder1 File3 File4 File5 |
Hedef klasör, Klasör1, aşağıdaki yapıyla oluşturulur: Klasör1 FILE1 + dosya2 içerikleri, otomatik olarak oluşturulan dosya adına sahip bir dosyada birleştirilir. Fıle1 için otomatik olarak oluşturulan ad File3, File4 ve File5 ile Subfolder1. |
Kopya sırasında meta verileri koruma
dosyaları Amazon S3, azure blob storage veya Azure Data Lake Storage 2. Azure Data Lake Storage 2. ya da Azure blob depolama alanından kopyaladığınızda, dosya meta verilerini verilerle birlikte korumayı seçebilirsiniz. Meta verileri koru'dan daha fazla bilgi edinin.
Veri akışı özelliklerini eşleme
Veri akışlarındaki verileri dönüştürürken, aşağıdaki biçimlerde Azure Blob depolamadan dosyaları okuyabilir ve yazabilirsiniz:
Biçimlendirme özel ayarları, bu biçimdeki belgelerde bulunur. Daha fazla bilgi için bkz. eşleme veri akışı ve Havuz dönüşümünde kaynak dönüştürme veri akışında.
Kaynak dönüştürme
Kaynak dönüşümünde, Azure Blob depolama alanındaki bir kapsayıcı, klasör veya tek dosyadan okuyabilirsiniz. Dosyaların nasıl okunacağını yönetmek için kaynak seçenekleri sekmesini kullanın.
Joker karakter yolları: Joker karakter deseninin kullanılması, hizmetin tek bir kaynak dönüşümünde eşleşen her klasör ve dosya üzerinden döngüye girmesine neden olur. Bu, tek bir akış içinde birden çok dosyayı işlemek için etkili bir yoldur. Mevcut joker karakter deseniniz üzerine geldiğinizde görüntülenen artı işaretine sahip birden fazla joker karakterle eşleşen desenler ekleyin.
Kaynak kapsayıcısından bir düzeniyle eşleşen bir dosya serisi seçin. Veri kümesinde yalnızca bir kapsayıcı belirtilebilir. Bu nedenle, joker karakter yolunuzda Ayrıca, kök klasörden klasör yolunuzdan de yer verilmelidir.
Joker karakter örnekleri:
*Herhangi bir karakter kümesini temsil eder.**Özyinelemeli dizin iç içe geçirmeyi temsil eder.?Bir karakteri değiştirir.[]Köşeli ayraç içindeki bir veya daha fazla karakterle eşler./data/sales/**/*.csv/data/sales .csv tüm veri dosyalarını alır./data/sales/20??/**/20. yy'daki tüm dosyaları alır./data/sales/*/*/*.csvDosya .csv /data/sales altında iki düzey alır./data/sales/2004/*/12/[XY]1?.csvAralık 2004'te X veya Y ön ekli iki basamaklı bir sayı ile başlayan tüm .csv dosyalarını alır.
Bölüm kök yolu: Dosya kaynağınıza biçime sahip bölümlenmiş klasörleriniz varsa (örneğin, ), bu bölüm klasörü ağacının en üst düzeyini veri akışınıza veri akışınıza bir sütun adı key=value year=2019 atabilirsiniz.
İ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üleyenin, hizmetin klasör düzeylerinizin her birsinde bulunan çözümlenmiş bölümleri ekleyek olduğunu görebilirsiniz.
Dosya listesi: Bu bir dosya kümesidir. İşlemek için göreli yol dosyalarının listesini içeren bir metin dosyası oluşturun. Bu metin dosyasının işaretsini seçin.
Dosya adını depolamak için sütun: Kaynak dosyanın adını verilerinizde bir sütunda depolar. Dosya adı dizesini depolamak için buraya yeni bir sütun adı girin.
Tamamlandıktan sonra: Veri akışı çalıştırktan sonra kaynak dosyayla hiçbir şey yapmamaya, kaynak dosyayı silmeyi veya kaynak dosyayı taşımayı seçin. Taşımanın yolları görelidir.
Kaynak dosyaları işleme sonrası başka bir konuma taşımak için önce dosya işlemi için "Taşı" seçeneğini seçin. Ardından "from" dizinini ayarlayın. Yolunuz için joker karakter kullanmazsanız "from" ayarı kaynak klasörünüzle aynı klasör olur.
Joker karakterli bir kaynak yolunuz varsa söz dizimleri şöyle olur:
/data/sales/20??/**/*.csv
"From" ifadesini şu şekilde belirtesiniz:
/data/sales
"to" ifadesini şu şekilde belirterek:
/backup/priorSales
Bu durumda, altında kaynağı olan tüm /data/sales dosyalar'a /backup/priorSales taşınır.
Not
Dosya işlemleri yalnızca veri akışını bir işlem hattında Veri Yürütme etkinliği kullanan bir işlem hattı çalıştırması (işlem hattı hata ayıklaması veya yürütme çalıştırması) Flow çalıştırabilirsiniz. Dosya işlemleri Veri ve hata Flow çalıştırlanmaz.
Son değiştirilme tarihine göre filtrele: Son değiştirilme zamanlarının tarih aralığını belirterek hangi dosyaları işleyebilirsiniz? Tüm tarih ve saatler UTC cinsindendir.
Havuz özellikleri
Havuz dönüştürmesinde, Azure Blob depolamada bir kapsayıcıya veya klasöre yazabilirsiniz. Dosyaların Ayarlar yönetmek için Ayarlar sekmesini kullanın.
Klasörü silin: Veriler yazmadan önce hedef klasörün temiz olup olmadığını belirler.
Dosya adı seçeneği: Hedef dosyaların hedef klasörde nasıl adlandırılmış olduğunu belirler. Dosya adı seçenekleri şunlardır:
- Varsayılan: Spark'ın dosyaları PART varsayılanlarına göre ad vermesine izin ver.
- Desen: Bölüm başına çıkış dosyalarınızı numaraya alan bir desen girin. Örneğin,
loans[n].csv,loans1.csvloans2.csvve gibi bir şey oluşturacak. - 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örle değil veri kümesi kapsayıcısı ile görelidir. Veri kümeniz içinde bir klasör yolunuz varsa, bu yol geçersiz kılınır.
- 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şlemi büyük olasılıkla düğüm boyutuna göre başarısız olabilir. Büyük veri kümeleri için bu seçeneği önerilmez.
Hepsini tırnak içine alın: Tüm değerlerin tırnak içine alınıp alınmayacakları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ğini kontrol edin.
Etkinlik özelliklerini silme
Özellikler hakkında ayrıntılı bilgi edinmek için Etkinliği sil'e bakın.
Eski modeller
Not
Geriye dönük uyumluluk için olduğu gibi aşağıdaki modeller de destektedir. Daha önce bahsedilen yeni modeli kullanmanızı öneririz. Yazma kullanıcı arabirimi yeni modeli oluşturmak için geçiş yaptı.
Eski veri kümesi modeli
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | Veri type kümesi özelliğinin olarak ayarlanmış olması AzureBlob gerekir. |
Yes |
| folderPath | Blob depolamada kapsayıcının ve klasörün yolu. Yol için kapsayıcı adı hariç olmak üzere joker karakter filtresi de kullanılır. İzin verilen joker karakterler: * (sıfır veya daha fazla karakterle eşler) ve ? (sıfır veya tek karakterle eşler). Klasör ^ adınızda joker karakter veya bu kaçış karakteri varsa kaçış karakteri kullanın. Örnek olarak: myblobcontainer/myblobfolder/ . Daha fazla örnek için bkz. Klasör ve dosya filtresi örnekleri. |
Kopyalama veya Arama etkinliği için Evet, GetMetadata etkinliği için Hayır |
| fileName | Belirtilen değer altındaki bloblar için ad veya joker karakter folderPath filtresi. Bu özellik için bir değer belirtmezseniz, veri kümesi klasördeki tüm blobları belirtir. Filtre için izin verilen joker karakterler: * (sıfır veya daha fazla karakterle eşler) ve ? (sıfır veya tek karakterle eşler).- Örnek 1: "fileName": "*.csv"- Örnek 2: "fileName": "???20180427.txt"Dosya ^ adınızda joker karakter veya bu kaçış karakteri varsa kaçış karakteri kullanın.Çıkış veri kümesi için belirtilmezse ve etkinlik havuzunda belirtilmezse, Kopyalama etkinliği otomatik olarak şu desenle blob adını fileName preserveHierarchy oluşturur: "Data.[ etkinlik çalıştırma kimliği GUID]. [FlattenHierarchy ise GUID]. [yapılandırılmışsa biçim]. [yapılandırılmışsa 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 [table name].[format].[compression if configured] olur. Örneğin: "MyTable.csv". |
No |
| modifiedDatetimeStart | Dosyalar özniteliğine göre filtrelenmiş: son değiştirme. Son değiştirme zamanları ile arasındaki zaman aralığı içindeyse dosyalar modifiedDatetimeStart modifiedDatetimeEnd seçilir. Saat UTC saat dilimine "2018-12-01T05:00:00Z" biçiminde uygulanır. Çok büyük miktarlardaki dosyaları filtrelemek istediğinizde, bu ayarın etkinleştirilmesi veri taşımanın genel performansını etkiler. Özellikler NULL olabilir; başka bir ifadeyle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. bir tarih saat değerine sahip olduğunda ancak olduğunda, son değiştirilen özniteliği tarih saat değerinden büyük veya ona eşit modifiedDatetimeStart modifiedDatetimeEnd olan dosyalar NULL seçilir. bir tarih saat değerine sahip olduğunda ancak olduğunda, son modifiedDatetimeEnd modifiedDatetimeStart değiştirilen özniteliği NULL datetime değerinden küçük olan dosyalar seçilir. |
No |
| modifiedDatetimeEnd | Dosyalar özniteliğine göre filtrelenmiş: son değiştirme. Son değiştirme zamanları ile arasındaki zaman aralığı içindeyse dosyalar modifiedDatetimeStart modifiedDatetimeEnd seçilir. Saat UTC saat dilimine "2018-12-01T05:00:00Z" biçiminde uygulanır. Çok büyük miktarlardaki dosyaları filtrelemek istediğinizde, bu ayarın etkinleştirilmesi veri taşımanın genel performansını etkiler. Özellikler NULL olabilir; başka bir ifadeyle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. bir tarih saat değerine sahip olduğunda ancak olduğunda, son değiştirilen özniteliği tarih saat değerinden büyük veya ona eşit modifiedDatetimeStart modifiedDatetimeEnd olan dosyalar NULL seçilir. bir tarih saat değerine sahip olduğunda ancak olduğunda, son değiştirilen özniteliği tarih saat değerinden küçük modifiedDatetimeEnd modifiedDatetimeStart olan dosyalar NULL seçilir. |
No |
| biçim | Dosyaları dosya tabanlı depolar (ikili kopya) arasında olduğu gibi kopyalamak için hem giriş hem de çıkış veri kümesi tanımlarında biçim bölümünü atlayabilirsiniz. Belirli bir biçime sahip dosyaları ayrıştırmak veya oluşturmak için şu dosya biçimi türleri de kullanılabilir: TextFormat, JsonFormat, AvroFormat, OrcFormat ve ParquetFormat. biçim altındaki type özelliğini bu değerlerden biri olarak ayarlayın. Daha fazla bilgi için Metin biçimi, JSON biçimi, Avro biçimi, Orc biçimive 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 bileşenleri. Desteklenen türler GZip, Deflate, BZip2 ve ZipDeflate'dır. Desteklenen düzeyler En Uygun ve En Hızlı'dır. |
No |
İpucu
Bir klasör altındaki tüm blobları kopyalamak için yalnızca folderPath belirtin.
Belirli bir adla tek bir blobu kopyalamak için klasör bölümü için folderPath ve dosya adı olarak fileName belirtin.
Bir klasör altındaki blobların bir alt kümesini kopyalamak için klasör bölümü için folderPath ve joker karakter filtresiyle fileName 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"
}
}
}
}
Veri kaynağı için eski Kopyalama etkinliği
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | Kaynak type Kopyalama etkinliği olarak BlobSource ayarmalıdır. |
Yes |
| Özyinelemeli | Verilerin alt klasörlerden veya yalnızca belirtilen klasörden tekrar tekrar okunarak okunıp okunmay olmadığını gösterir. ne zaman olarak ayarlanır ve havuz dosya tabanlı bir depo olduğunda, havuza boş bir klasör veya alt klasör kopyalanmaz recursive true veya oluşturulmaz.İzin verilen değerler true (varsayılan) ve false değerleridir. |
No |
| 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ğiniz zaman 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>"
}
}
}
]
Havuz için eski havuz Kopyalama etkinliği
| Özellik | Açıklama | Gerekli |
|---|---|---|
| tür | Kopyalama etkinliği type özelliğinin olarak ayarlanmış olması BlobSink gerekir. |
Yes |
| copyBehavior | Kaynak, dosya tabanlı bir veri deposuna bağlı 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 yenilenmiş adlara sahip. - MergeFiles:Kaynak klasördeki tüm dosyaları tek bir dosyada birleştirin. Dosya veya blob adı belirtilirse, birleştirilen dosya adı belirtilen addır. Aksi takdirde, bu otomatik olarak yeni bir dosya adıdır. |
No |
| 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ğiniz zaman 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"
}
}
}
]
Sonraki adımlar
Kaynak ve havuz olarak desteklenen veri Kopyalama etkinliği listesi için bkz. Desteklenen veri depoları.