Hızlı başlangıç: ARM şablonunu kullanarak Azure Data Factory oluşturma
AŞAĞıDAKILER IÇIN GEÇERLIDIR:
Azure Data Factory
Azure Synapse Analytics
Bu hızlı başlangıçta, Azure Data Factory oluşturmak için bir Azure Resource Manager şablonunun (ARM şablonu) nasıl kullanılacağı açıklanmaktadır. Bu veri fabrikasında oluşturduğunuz işlem hattı, verileri bir 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.
ARM ş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. Bildirim temelli sözdiziminde, dağıtım oluşturmak için programlama komutlarının dizisini yazmadan amaçladığınız dağıtımı ifade edersiniz.
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.
Ön koş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 zaten mevcut değilse, oluşturun.)
Şablonu gözden geçir
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.4.412.5873",
"templateHash": "5138689633595887430"
}
},
"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."
}
}
},
"functions": [],
"variables": {
"dataFactoryLinkedServiceName": "ArmtemplateStorageLinkedService",
"dataFactoryDataSetInName": "ArmtemplateTestDatasetIn",
"dataFactoryDataSetOutName": "ArmtemplateTestDatasetOut",
"pipelineName": "ArmtemplateSampleCopyPipeline"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2"
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2021-04-01",
"name": "[format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName'))]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"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')), '2021-04-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": "[format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName'))]",
"folderPath": "input",
"fileName": "emp.txt"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[0], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[1], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[2])]",
"[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": "[format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName'))]",
"folderPath": "output"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[0], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[1], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[2])]",
"[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",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureBlobStorageWriterSettings"
}
},
"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'))]"
]
}
]
}
Şablonda tanımlanmış Azure kaynakları var:
- Microsoft. Depolama/storageaccounts: bir depolama hesabı tanımlar.
- Microsoft. DataFactory/Factory: Azure Data Factory oluşturun.
- Microsoft. DataFactory/Factory/linkedServices: Azure Data Factory bağlı bir hizmet oluşturun.
- Microsoft. DataFactory/Factory/veri kümeleri: Azure Data Factory veri kümesi oluşturma.
- Microsoft. DataFactory/Factory/işlem hatları: Azure Data Factory işlem hattı oluşturma.
Daha fazla Azure Data Factory şablon örneği hızlı başlangıç şablonu galerisindebulunabilir.
Şablonu dağıtma
Aşağıdaki görüntüyü seçerek Azure'da oturum açıp bir şablon açın. Şablon Azure Data Factory bir hesap, bir depolama hesabı ve bir blob kapsayıcısı oluşturur.
Aşağıdaki değerleri seçin veya girin.
Belirtilmedikçe, 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 hesap 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 oluşturulduğunu doğrulayın.
- Azure Data Factory adınız-DataFactory biçimindedir <uniqueid> .
Depolama hesabınızın oluşturulduğunu doğrulayın.
- Depolama hesabı adı, depolama biçimindedir <uniqueid> .
Oluşturulan depolama hesabını seçin ve kapsayıcılar' ı seçin.
- Kapsayıcılar sayfasında, oluşturduğunuz blob kapsayıcısını seçin.
- Blob kapsayıcısı adı-blob biçimindedir <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 upload' yi seçin.
Sağ bölmede, dosyalar kutusunu seçin ve ardından daha önce oluşturduğunuz emp.txt dosyasına gidip seçin.
Gelişmiş başlık ' ı genişletin.
Upload klasöre kutusuna giriş' i girin.
Karşıya Yükle düğmesini seçin. Listede emp.txt dosyasını ve karşıya yükleme durumunu görmeniz gerekir.
Upload blob sayfasını kapatmak için kapat simgesini (bir X) seçin.
Bu hızlı başlangıç sonunda çıktıyı doğrulamak için kullanabileceğiniz kapsayıcı sayfasını açık tutun.
Tetikleyiciyi Başlat
Veri fabrikaları sayfasına gidin ve oluşturduğunuz veri fabrikasını seçin.
Açık Azure Data Factory Studio kutucuğunda Aç ' ı seçin.
Yazar sekmesini seçin
.Oluşturulan işlem hattını seçin-ArmtemplateSampleCopyPipeline.
Tetikleyici tetikleyicisi Ekle' yi > Şimdi seçin.
İşlem hattı çalıştırma altındaki sağ bölmede 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, söz konusu 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, kapsayıcılar sayfasında, çıktı klasörünü görmek için Yenile ' yi seçin.
Klasör listesinde Çıkış ' ı 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
Sonraki adımlar
Bu hızlı başlangıçta bir ARM şablonu kullanarak bir Azure Data Factory oluşturdunuz ve dağıtımı doğruladı. Azure Data Factory ve Azure Resource Manager hakkında daha fazla bilgi edinmek için aşağıdaki makalelere devam edin.
- Azure Data Factory belgeleri
- Azure Resource Manager hakkında daha fazla bilgi edinin
- Diğer Azure Data Factory ARM şablonları al