Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Bu hızlı başlangıçta Azure Data Factory oluşturmak için PowerShell'in nasıl kullanılacağı açıklanmaktadır. Bu veri fabrikasında oluşturduğunuz işlem hattı, verileri bir klasörden Azure blob depolama alanındaki başka bir klasöre kopyalar. Azure Data Factory'i kullanarak verileri dönüştürme hakkında bir öğretici için "Spark kullanarak verileri dönüştürme öğreticisi"ne bakın.
Not
Bu makalede Data Factory hizmetinin ayrıntılı bir tanıtımı sağlanmamıştır. Azure Data Factory hizmetine giriş için bkz. Azure Data Factory'a giriş.
Önkoşullar
Azure aboneliği
Azure aboneliğiniz yoksa başlamadan önce free hesabı oluşturun.
Azure rolleri
Data Factory örnekleri oluşturmak için, Azure oturum açmak için kullandığınız kullanıcı hesabının Azure aboneliğinin contributor veya owner rolünün veya administrator üyesi olması gerekir. Abonelikte sahip olduğunuz izinleri görüntülemek için Azure portalına gidin sağ üst köşeden kullanıcı adınızı seçin, "... daha fazla seçenek için " simgesine tıklayın ve ardından Y izinleri'yi seçin. Birden çok aboneliğe erişiminiz varsa uygun aboneliği seçin.
Data Factory için veri kümeleri, bağlı hizmetler, işlem hatları, tetikleyiciler ve tümleştirme çalışma zamanları gibi alt kaynaklar oluşturup yönetmek için aşağıdaki gereksinimlerin karşılanması gerekir:
- Azure portalında alt kaynak oluşturmak ve yönetmek için kaynak grubu düzeyinde veya daha üst bir düzeyde Data Factory Katkıda Bulunanı rolüne ait olmanız gerekir.
- PowerShell veya SDK ile alt kaynaklar oluşturup yönetebilmek için kaynak düzeyinde katkıda bulunan rolü ya da daha üst bir rol yeterlidir.
Kullanıcı rolü eklemeye ilişkin örnek yönergeler için Rol ekleme makalesine bakın.
Daha fazla bilgi için aşağıdaki makalelere bakın:
Azure Storage hesabı
Bu hızlı başlangıçta hem source hem de destination veri depoları olarak genel amaçlı bir Azure Storage hesabı (özellikle Blob depolama) kullanırsınız. Genel amaçlı bir Azure Storage hesabınız yoksa, bir depolama hesabı oluşturmak için Depolama hesabı oluşturma bölümüne bakın.
Depolama hesabı adını alma
Bu hızlı başlangıç için Azure Storage hesabınızın adı gerekir. Aşağıdaki yordam, depolama hesabınızın adını alma adımlarını sağlar:
- Web tarayıcısında Azure portalına gidin ve Azure kullanıcı adınızı ve parolanızı kullanarak oturum açın.
- Azure portalı menüsünden Tüm hizmetler'yi seçin ve ardından Depolama>Depolama hesapları öğesini seçin. Ayrıca herhangi bir sayfadan Depolama hesapları için arama yapabilir ve seçebilirsiniz.
- Depolama hesapları sayfasında depolama hesabınızı (gerekirse) filtreleyin ve ardından depolama hesabınızı seçin.
Ayrıca herhangi bir sayfadan Depolama hesapları için arama yapabilir ve seçebilirsiniz.
Blob kapsayıcısı oluşturma
Bu bölümde, Azure Blob depolama alanında adftutorial adlı bir blob kapsayıcısı oluşturacaksınız.
Depolama hesabı sayfasından Genel Bakış
<Hesap adı> - Kapsayıcıları sayfasının araç çubuğunda Kapsayıcı'yı seçin.
Yeni kapsayıcı iletişim kutusunda ad olarak adftutorial girin ve ardından Tamam’ı seçin. <Hesap adı> - Kapsayıcılar sayfası, kapsayıcılar listesinde adftutorial yer alacak şekilde güncellenmiştir.
Blob kapsayıcısı için giriş klasörü ve dosyası ekleme
Bu bölümde, oluşturduğunuz kapsayıcıda input adlı bir klasör oluşturacak ve ardından giriş klasörüne örnek bir dosya yükleyebilirsiniz. Başlamadan önce Not Defteri gibi bir metin düzenleyicisi açın ve aşağıdaki içeriğe sahip emp.txt adlı bir dosya oluşturun:
John, Doe
Jane, Doe
Dosyayı C:\ADFv2QuickStartPSH klasörüne kaydedin. (Klasör henüz yoksa oluşturun.) Ardından Azure portalına dönün ve şu adımları izleyin:
Kaldığınız <> sayfasında, güncellenmiş kapsayıcı listesinden 'ü seçin.
- Pencereyi kapattıysanız veya başka bir sayfaya gittiyseniz Azure portalında yeniden oturum açın.
- Azure portalı menüsünden Tüm hizmetler'yi seçin ve ardından Depolama>Depolama hesapları öğesini seçin. Ayrıca herhangi bir sayfadan Depolama hesapları için arama yapabilir ve seçebilirsiniz.
- Depolama hesabınızı seçin ve ardından Kapsayıcılar>adftutorial'i seçin.
adftutorial kapsayıcı sayfasının araç çubuğunda, Karşıya Yükle'yi seçin.
Blobu karşıya yükle sayfasında Dosyalar kutusunu seçin ve ardından emp.txt dosyasına göz atın ve dosyayı seçin.
Gelişmiş başlığını genişletin. Sayfa artık gösterildiği gibi görüntülenir:
Yükle kutusunagiriş girin.
Karşıya Yükle düğmesini seçin. Listede emp.txt dosyasını ve karşıya yükleme durumunu görmelisiniz.
Kapat simgesini (X) seçerek Blobu karşıya yükle sayfasını kapatın.
adftutorial kapsayıcı sayfasını açık tutun. Bu hızlı başlangıcın sonundaki çıktıyı doğrulamak için bunu kullanırsınız.
Azure PowerShell
Not
Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell yükleme. Az PowerShell modülüne nasıl geçiş yapılacağını öğrenmek için bkz. AzureRM'den Az Azure PowerShell dağıtma.
Azure PowerShell yükleme ve yapılandırma yönergelerini izleyerek en son Azure PowerShell modüllerini yükleyin.
Uyarı
PowerShell ve Data Factory modülünün en son sürümlerini kullanmıyorsanız, komutları çalıştırırken seri durumdan çıkarma hatalarıyla karşılaşabilirsiniz.
PowerShell'de oturum açma
Makinenizde PowerShell'i başlatın. Bu hızlı başlangıcın sonuna kadar PowerShell’i açık tutun. Kapatıp yeniden açarsanız, bu komutları yeniden çalıştırmanız gerekir.
Aşağıdaki komutu çalıştırın ve Azure portalında oturum açmak için kullandığınız Azure kullanıcı adı ve parolasını girin:
Connect-AzAccountBu hesapla ilgili tüm abonelikleri görmek için aşağıdaki komutu çalıştırın:
Get-AzSubscriptionHesabınızla ilişkili birden çok aboneliğiniz varsa, birlikte çalışmak istediğiniz aboneliği seçmek için aşağıdaki komutu çalıştırın. SubscriptionId değerini Azure aboneliğinizin kimliğiyle değiştirin:
Select-AzSubscription -SubscriptionId "<SubscriptionId>"
Veri fabrikası oluşturma
Daha sonra PowerShell komutlarında kullanacağınız kaynak grubu adı için bir değişken tanımlayın. Aşağıdaki komut metnini PowerShell'e kopyalayın, çift tırnak içinde Azure kaynak grubu için bir ad belirtin ve komutunu çalıştırın. Örneğin:
"ADFQuickStartRG".$resourceGroupName = "ADFQuickStartRG";Kaynak grubu zaten varsa, bunun üzerine yazmak istemeyebilirsiniz.
$ResourceGroupNamedeğişkenine farklı bir değer atayın ve komutu yeniden çalıştırınAzure kaynak grubunu oluşturmak için aşağıdaki komutu çalıştırın:
$ResGrp = New-AzResourceGroup $resourceGroupName -location 'East US'Kaynak grubu zaten varsa, bunun üzerine yazmak istemeyebilirsiniz.
$ResourceGroupNamedeğişkenine farklı bir değer atayın ve komutu yeniden çalıştırın.Veri fabrikasının adı için bir değişken tanımlayın.
Önemli
Veri fabrikasının adını genel olarak benzersiz olacak şekilde güncelleştirin. Örneğin, ADFTutorialFactorySP1127.
$dataFactoryName = "ADFQuickStartFactory";Veri fabrikasını oluşturmak için, $ResGrp değişkeninden Location ve ResourceGroupName özelliğini kullanarak aşağıdaki Set-AzDataFactoryV2 cmdlet'ini çalıştırın:
$DataFactory = Set-AzDataFactoryV2 -ResourceGroupName $ResGrp.ResourceGroupName ` -Location $ResGrp.Location -Name $dataFactoryName
Aaşağıdaki noktaları unutmayın:
Azure Data Factory adı genel olarak benzersiz olmalıdır. Aşağıdaki hata iletisini alırsanız adı değiştirip yeniden deneyin.
The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.Data Factory örnekleri oluşturmak için, Azure oturum açmak için kullandığınız kullanıcı hesabının contributor veya owner rollerinin veya Azure aboneliğinin administrator üyesi olması gerekir.
Data Factory'nin şu anda kullanılabilir olduğu Azure bölgelerin listesi için aşağıdaki sayfada ilginizi çekebilecek bölgeleri seçin ve ardından Analytics'yi genişleterek Data Factory: Products by region öğesini bulun. Veri fabrikası tarafından kullanılan veri depoları (Azure Storage, Azure SQL Database vb.) ve işlem (HDInsight vb.) diğer bölgelerde olabilir.
Bağlı hizmet oluşturma
Veri depolarınızı ve işlem hizmetlerinizi veri fabrikasına bağlamak için veri fabrikasında bağlı hizmetler oluşturun. Bu hızlı başlangıçta hem kaynak hem de hedef depolar olarak kullanılan Azure Storage bağlı bir hizmet oluşturacaksınız. Bağlı hizmetler, Data Factory hizmetinin bunlara bağlanmak için çalışma zamanında kullandığı bağlantı bilgilerini içerir.
İpucu
Bu hızlı başlangıçta, veri deponuzun kimlik doğrulama türü olarak Hesap anahtarını kullanacaksınız, ancak desteklenen diğer kimlik doğrulama yöntemlerini seçebilirsiniz: GEREKIRSE SAS URI, *Hizmet Sorumlusu ve Yönetilen Kimlik . Ayrıntılar için bu makaledeki ilgili bölümlere bakın. Veri depolarının gizli dizilerini güvenli bir şekilde depolamak için bir Azure Key Vault kullanılması da önerilir. Ayrıntılı çizimler için bu makaleye bakın.
C:\ADFv2QuickStartPSH klasöründe şu içeriğe sahip AzureStorageLinkedService.json adlı bir JSON dosyası oluşturun: (Henüz yoksa ADFv2QuickStartPSH klasörünü oluşturun.).
Önemli
dosyayı kaydetmeden önce <accountName> ve <accountKey> Azure depolama hesabınızın adı ve anahtarıyla değiştirin.
{ "name": "AzureStorageLinkedService", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } } }Not Defteri'ni kullanıyorsanız, Farklı kaydet iletişim kutusunda Kayıt türü alanında Tüm dosyalar'ı seçin. Aksi takdirde, dosyaya uzantı ekleyebilir
.txt. Örneğin,AzureStorageLinkedService.json.txt. Dosyayı Not Defteri'nde açmadan önce Dosya Gezgini'nde oluşturursanız,.txtseçeneği varsayılan olarak ayarlandığından uzantıyı göremeyebilirsiniz. Sonraki adıma geçmeden önce.txtuzantısını kaldırın.PowerShell’de ADFv2QuickStartPSH klasörüne geçin.
Set-Location 'C:\ADFv2QuickStartPSH'Bağlı hizmeti oluşturmak için Set-AzDataFactoryV2LinkedService cmdlet'ini çalıştırın: AzureStorageLinkedService.
Set-AzDataFactoryV2LinkedService -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "AzureStorageLinkedService" ` -DefinitionFile ".\AzureStorageLinkedService.json"Örnek çıktı şu şekildedir:
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedService
Veri kümeleri oluşturma
Bu yordamda iki veri kümesi oluşturursunuz: InputDataset ve OutputDataset. Bu veri kümeleri İkili türündedir . Önceki bölümde oluşturduğunuz Azure Storage bağlantılı hizmetine başvururlar. Giriş veri kümesi, giriş klasöründeki kaynak verileri temsil eder. Giriş veri kümesi tanımında, kaynak verileri içeren blob kapsayıcısını (adftutorial), klasörü (input) ve dosyayı (emp.txt) belirtirsiniz. Çıkış veri kümesi hedefe kopyalanan verileri temsil eder. Çıkış veri kümesi tanımında, verilerin kopyalandığı blob kapsayıcısını (adftutorial), klasörü (output) ve dosyayı belirtirsiniz.
C:\ADFv2QuickStartPSH klasöründe aşağıdaki içeriğe sahip InputDataset.json adlı bir JSON dosyası oluşturun:
{ "name": "InputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "fileName": "emp.txt", "folderPath": "input", "container": "adftutorial" } } } }InputDataset veri kümesini oluşturmak için Set-AzDataFactoryV2Dataset cmdlet'ini çalıştırın.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "InputDataset" ` -DefinitionFile ".\InputDataset.json"Örnek çıktı şu şekildedir:
DatasetName : InputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDatasetÇıkış veri kümesini oluşturmak için adımları yineleyin. C:\ADFv2QuickStartPSH klasöründe aşağıdaki içeriğe sahip OutputDataset.json adlı bir JSON dosyası oluşturun:
{ "name": "OutputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } } }OutDataset'i oluşturmak için Set-AzDataFactoryV2Dataset cmdlet'ini çalıştırın.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "OutputDataset" ` -DefinitionFile ".\OutputDataset.json"Örnek çıktı şu şekildedir:
DatasetName : OutputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset
Bir işlem hattı oluştur
Bu yordamda, giriş ve çıkış veri kümelerini kullanan kopyalama etkinliğine sahip bir işlem hattı oluşturursunuz. Kopyalama etkinliği, giriş veri kümesi ayarlarında belirttiğiniz dosyadaki verileri çıkış veri kümesi ayarlarında belirttiğiniz dosyaya kopyalar.
C:\ADFv2QuickStartPSH klasöründe aşağıdaki içeriğe sahip Adfv2QuickStartPipeline.json adlı bir JSON dosyası oluşturun:
{ "name": "Adfv2QuickStartPipeline", "properties": { "activities": [ { "name": "CopyFromBlobToBlob", "type": "Copy", "dependsOn": [], "policy": { "timeout": "7.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "source": { "type": "BinarySource", "storeSettings": { "type": "AzureBlobStorageReadSettings", "recursive": true } }, "sink": { "type": "BinarySink", "storeSettings": { "type": "AzureBlobStorageWriteSettings" } }, "enableStaging": false }, "inputs": [ { "referenceName": "InputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "OutputDataset", "type": "DatasetReference" } ] } ], "annotations": [] } }İşlem hattını oluşturmak için: Adfv2QuickStartPipeline, Set-AzDataFactoryV2Pipeline cmdlet'ini çalıştırın.
$DFPipeLine = Set-AzDataFactoryV2Pipeline ` -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName ` -Name "Adfv2QuickStartPipeline" ` -DefinitionFile ".\Adfv2QuickStartPipeline.json"
İşlem hattı çalıştırmasını başlatın
Bu adımda bir işlem hattını çalıştırırsınız.
Invoke-AzDataFactoryV2Pipeline cmdlet'ini çalıştırarak bir işlem hattı çalıştırma oluşturun. Cmdlet, gelecekte izlemek üzere işlem hattı çalıştırma kimliğini döndürür.
$RunId = Invoke-AzDataFactoryV2Pipeline `
-DataFactoryName $DataFactory.DataFactoryName `
-ResourceGroupName $ResGrp.ResourceGroupName `
-PipelineName $DFPipeLine.Name
İşlem hattı çalışmasını izleme
İşlem hattı çalıştırma durumunu, verileri kopyalama işlemi tamamlanıncaya kadar sürekli olarak denetlemek için aşağıdaki PowerShell betiğini çalıştırın. Aşağıdaki betiği kopyalayıp PowerShell penceresine yapıştırın ve ENTER tuşuna basın.
while ($True) { $Run = Get-AzDataFactoryV2PipelineRun ` -ResourceGroupName $ResGrp.ResourceGroupName ` -DataFactoryName $DataFactory.DataFactoryName ` -PipelineRunId $RunId if ($Run) { if ( ($Run.Status -ne "InProgress") -and ($Run.Status -ne "Queued") ) { Write-Output ("Pipeline run finished. The status is: " + $Run.Status) $Run break } Write-Output ("Pipeline is running...status: " + $Run.Status) } Start-Sleep -Seconds 10 }İşlem hattı çalıştırmasının örnek çıktısı aşağıda verilmiştir:
Pipeline is running...status: InProgress Pipeline run finished. The status is: Succeeded ResourceGroupName : ADFQuickStartRG DataFactoryName : ADFQuickStartFactory RunId : 00000000-0000-0000-0000-0000000000000 PipelineName : Adfv2QuickStartPipeline LastUpdated : 8/27/2019 7:23:07 AM Parameters : {} RunStart : 8/27/2019 7:22:56 AM RunEnd : 8/27/2019 7:23:07 AM DurationInMs : 11324 Status : Succeeded Message :Kopyalama etkinliği çalıştırma ayrıntılarını (örneğin, okunan/yazılan verilerin boyutu) almak için aşağıdaki betiği çalıştırın.
Write-Output "Activity run details:" $Result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $DataFactory.DataFactoryName -ResourceGroupName $ResGrp.ResourceGroupName -PipelineRunId $RunId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) $Result Write-Output "Activity 'Output' section:" $Result.Output -join "`r`n" Write-Output "Activity 'Error' section:" $Result.Error -join "`r`n"Etkinlik çalıştırma sonucunun aşağıdaki örnek çıktısına benzer çıktıyı gördüğünüzü onaylayın:
ResourceGroupName : ADFQuickStartRG DataFactoryName : ADFQuickStartFactory ActivityRunId : 00000000-0000-0000-0000-000000000000 ActivityName : CopyFromBlobToBlob PipelineRunId : 00000000-0000-0000-0000-000000000000 PipelineName : Adfv2QuickStartPipeline Input : {source, sink, enableStaging} Output : {dataRead, dataWritten, filesRead, filesWritten...} LinkedServiceName : ActivityRunStart : 8/27/2019 7:22:58 AM ActivityRunEnd : 8/27/2019 7:23:05 AM DurationInMs : 6828 Status : Succeeded Error : {errorCode, message, failureType, target} Activity 'Output' section: "dataRead": 20 "dataWritten": 20 "filesRead": 1 "filesWritten": 1 "sourcePeakConnections": 1 "sinkPeakConnections": 1 "copyDuration": 4 "throughput": 0.01 "errors": [] "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (Central US)" "usedDataIntegrationUnits": 4 "usedParallelCopies": 1 "executionDetails": [ { "source": { "type": "AzureBlobStorage" }, "sink": { "type": "AzureBlobStorage" }, "status": "Succeeded", "start": "2019-08-27T07:22:59.1045645Z", "duration": 4, "usedDataIntegrationUnits": 4, "usedParallelCopies": 1, "detailedDurations": { "queuingDuration": 3, "transferDuration": 1 } } ] Activity 'Error' section: "errorCode": "" "message": "" "failureType": "" "target": "CopyFromBlobToBlob"
Dağıtılan kaynakları gözden geçirme
İşlem hattı adftutorial blob kapsayıcısında çıktı klasörünü otomatik olarak oluşturur. Ardından, giriş klasöründeki emp.txt dosyasını çıktı klasörüne kopyalar.
Azure portalında, adftutorial kapsayıcı sayfasında çıkış klasörünü görmek için Refresh öğesini seçin.
Klasör listesinden çıktıyı seçin.
emp.txt dosyasının output klasörüne kopyalandığını onaylayın.
Kaynakları temizleme
Hızlı başlangıç bölümünde oluşturduğunuz kaynakları iki şekilde temizleyebilirsiniz. Kaynak grubundaki tüm kaynakları içeren Azure kaynak grubunu silebilirsiniz. Diğer kaynakları korumak istiyorsanız yalnızca bu öğreticide oluşturduğunuz veri kaynağını silin.
Bir kaynak grubunun silinmesi, içindeki veri fabrikaları dahil olmak üzere tüm kaynakları siler. Kaynak grubunun tamamını silmek için şu komutu çalıştırın:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Not
Kaynak grubunu bırakmak biraz zaman alabilir. Lütfen işlemin tamamlanmasını bekleyin
Tüm kaynak grubu yerine yalnızca veri fabrikasını silmek istiyorsanız aşağıdaki aşağıdaki komutu çalıştırın:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
İlgili içerik
Bu örnekteki işlem hattı verileri bir konumdan Azure blob depolama alanındaki başka bir konuma kopyalar. Daha fazla senaryoda Data Factory’yi kullanma hakkında bilgi almak için öğreticileri okuyun.