Hızlı Başlangıç: ARM şablonunu kullanarak Azure Data Factory oluşturma
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 hızlı başlangıçta Azure Data Factory oluşturmak için Azure Resource Manager şablonunun (ARM şablonu) nasıl kullanılacağı açıklanmaktadır. Bu veri fabrikasında oluşturduğunuz işlem hattı, verileri Azure blob depolama alanındaki bir klasörden başka bir klasöre kopyalar. Azure Data Factory kullanarak verileri dönüştürme hakkında bir öğretici için bkz. Öğretici: Spark kullanarak verileri dönüştürme.
Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.
Not
Bu makale, Data Factory hizmetine ayrıntılı giriş bilgileri sağlamaz. Azure Data Factory hizmetine giriş bilgileri için bkz. Azure Data Factory'ye giriş.
Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Şablon Azure portalda açılır.
Önkoşullar
Azure aboneliği
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Dosya oluşturma
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.)
Şablonu gözden geçirme
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "17339534711754973978"
}
},
"parameters": {
"dataFactoryName": {
"type": "string",
"defaultValue": "[format('datafactory{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Data Factory Name"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location of the data factory."
}
},
"storageAccountName": {
"type": "string",
"defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Name of the Azure storage account that contains the input/output data."
}
},
"blobContainerName": {
"type": "string",
"defaultValue": "[format('blob{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Name of the blob container in the Azure Storage account."
}
}
},
"variables": {
"dataFactoryLinkedServiceName": "ArmtemplateStorageLinkedService",
"dataFactoryDataSetInName": "ArmtemplateTestDatasetIn",
"dataFactoryDataSetOutName": "ArmtemplateTestDatasetOut",
"pipelineName": "ArmtemplateSampleCopyPipeline"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2023-01-01",
"name": "[format('{0}/{1}', parameters('storageAccountName'), 'default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-01-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {
"minimumTlsVersion": "TLS1_2",
"supportsHttpsTrafficOnly": true,
"allowBlobPublicAccess": false
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2023-01-01",
"name": "[format('{0}/{1}/{2}', parameters('storageAccountName'), 'default', parameters('blobContainerName'))]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', parameters('storageAccountName'), 'default')]"
]
},
{
"type": "Microsoft.DataFactory/factories",
"apiVersion": "2018-06-01",
"name": "[parameters('dataFactoryName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
}
},
{
"type": "Microsoft.DataFactory/factories/linkedservices",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('dataFactoryLinkedServiceName'))]",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"connectionString": "[format('DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}', parameters('storageAccountName'), listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2023-01-01').keys[0].value)]"
}
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"type": "Microsoft.DataFactory/factories/datasets",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('dataFactoryDataSetInName'))]",
"properties": {
"linkedServiceName": {
"referenceName": "[variables('dataFactoryLinkedServiceName')]",
"type": "LinkedServiceReference"
},
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "[parameters('blobContainerName')]",
"folderPath": "input",
"fileName": "emp.txt"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.DataFactory/factories/linkedservices', parameters('dataFactoryName'), variables('dataFactoryLinkedServiceName'))]"
]
},
{
"type": "Microsoft.DataFactory/factories/datasets",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('dataFactoryDataSetOutName'))]",
"properties": {
"linkedServiceName": {
"referenceName": "[variables('dataFactoryLinkedServiceName')]",
"type": "LinkedServiceReference"
},
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "[parameters('blobContainerName')]",
"folderPath": "output"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.DataFactory/factories/linkedservices', parameters('dataFactoryName'), variables('dataFactoryLinkedServiceName'))]"
]
},
{
"type": "Microsoft.DataFactory/factories/pipelines",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('pipelineName'))]",
"properties": {
"activities": [
{
"name": "MyCopyActivity",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureBlobStorageWriteSettings"
}
},
"enableStaging": false
},
"inputs": [
{
"referenceName": "[variables('dataFactoryDataSetInName')]",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "[variables('dataFactoryDataSetOutName')]",
"type": "DatasetReference"
}
]
}
]
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), variables('dataFactoryDataSetInName'))]",
"[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), variables('dataFactoryDataSetOutName'))]"
]
}
],
"outputs": {
"name": {
"type": "string",
"value": "[variables('pipelineName')]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.DataFactory/factories/pipelines', parameters('dataFactoryName'), variables('pipelineName'))]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
Şablonda tanımlanan Azure kaynakları vardır:
- Microsoft.Storage/storageAccounts: Bir depolama hesabı tanımlar.
- Microsoft.DataFactory/factory: Azure Data Factory oluşturun.
- Microsoft.DataFactory/factory/linkedServices: Azure Data Factory bağlı hizmeti oluşturun.
- Microsoft.DataFactory/factory/datasets: Azure Data Factory veri kümesi oluşturun.
- Microsoft.DataFactory/factory/pipelines: Azure Data Factory işlem hattı oluşturun.
Hızlı başlangıç şablonu galerisinde daha fazla Azure Data Factory şablon örneği bulunabilir.
Şablonu dağıtma
Aşağıdaki görüntüyü seçerek Azure'da oturum açıp bir şablon açın. Şablon bir Azure Data Factory hesabı, depolama hesabı ve blob kapsayıcısı oluşturur.
Aşağıdaki değerleri seçin veya girin.
Belirtilmediği sürece Azure Data Factory kaynaklarını oluşturmak için varsayılan değerleri kullanın:
- Abonelik: Bir Azure aboneliği seçin.
- Kaynak grubu: Yeni oluştur'u seçin, kaynak grubu için benzersiz bir ad girin ve tamam'ı seçin.
- Bölge: Bir konum seçin. Örneğin, Doğu ABD.
- Data Factory Adı: Varsayılan değeri kullanın.
- Konum: Varsayılan değeri kullanın.
- Depolama Hesabı Adı: Varsayılan değeri kullanın.
- Blob Kapsayıcısı: Varsayılan değeri kullanın.
Dağıtılan kaynakları gözden geçirme
Kaynak grubuna git'i seçin.
Azure Data Factory'nizin oluşturulduğunu doğrulayın.
- Azure Data Factory adınız datafactory<uniqueid> biçimindedir.
Depolama hesabınızın oluşturulduğunu doğrulayın.
- Depolama hesabı adı , storage<uniqueid> biçimindedir.
Oluşturulan depolama hesabını ve ardından Kapsayıcılar'ı seçin.
- Kapsayıcılar sayfasında, oluşturduğunuz blob kapsayıcısını seçin.
- Blob kapsayıcı adı şu biçimdedir: blob<uniqueid>.
- Kapsayıcılar sayfasında, oluşturduğunuz blob kapsayıcısını seçin.
Dosyayı karşıya yükleme
Kapsayıcılar sayfasında Karşıya Yükle'yi seçin.
Sağdaki bölmede Dosyalar kutusunu seçin ve ardından daha önce oluşturduğunuz emp.txt dosyasına göz atın ve dosyayı seçin.
Gelişmiş başlığını genişletin.
Klasöre yükle kutusuna giriş girin.
Karşıya Yükle düğmesini seçin. Listede emp.txt dosyasını ve karşıya yükleme durumunu görmeniz gerekir.
Blobu karşıya yükle sayfasını kapatmak için Kapat simgesini (X) seçin.
Bu hızlı başlangıcın sonunda çıkışı doğrulamak için kullanabileceğiniz için kapsayıcı sayfasını açık tutun.
Tetikleyiciyi Başlat
Veri fabrikaları sayfasına gidin ve oluşturduğunuz veri fabrikasını seçin.
Azure Data Factory Studio'yu Aç kutucuğunda Aç'ı seçin.
Yazar sekmesini seçin.
Oluşturulan işlem hattını seçin - ArmtemplateSampleCopyPipeline.
Şimdi Tetikleyici>Ekle'yi seçin.
Sağ bölmede İşlem hattı çalıştırması'nın altında Tamam'ı seçin.
İşlem hattını izleme
İzleyici sekmesini seçin.
İşlem hattı çalıştırmasıyla ilişkili etkinlik çalıştırmalarını görürsünüz. Bu hızlı başlangıçta işlem hattı yalnızca bir etkinlik türü içerir: Kopyalama. Bu nedenle, bu etkinlik için bir çalıştırma görürsünüz.
Çıkış dosyasını doğrulama
İşlem hattı, blob kapsayıcısında otomatik olarak bir çıkış klasörü oluşturur. Ardından, giriş klasöründeki emp.txt dosyasını çıktı klasörüne kopyalar.
Azure portalındaki Kapsayıcılar sayfasında Yenile'yi seçerek çıkış klasörünü görebilirsiniz.
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
Kaynak grubunun tamamını değil yalnızca veri fabrikasını silmek istiyorsanız aşağıdaki komutu çalıştırın:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
İlgili içerik
Bu hızlı başlangıçta ARM şablonu kullanarak bir Azure Data Factory oluşturdunuz ve dağıtımı doğruladunuz. Azure Data Factory ve Azure Resource Manager hakkında daha fazla bilgi edinmek için aşağıdaki makalelere geçin.
- Azure Data Factory belgeleri
- Azure Resource Manager hakkında daha fazla bilgi edinin
- Diğer Azure Data Factory ARM şablonlarını alma