Mulai Cepat: Membuat Azure Data Factory dengan menggunakan templat ARM

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Mulai cepat ini menjelaskan cara menggunakan templat Azure Resource Manager (templat ARM) untuk membuat pabrik data Azure. Alur yang Anda buat di pabrik data ini menyalin data dari satu folder ke folder lain dalam penyimpanan Azure Blob. Untuk tutorial tentang cara mengubah data menggunakan Azure Data Factory, lihat Tutorial: Mengubah data menggunakan Spark.

Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.

Catatan

Artikel ini tidak memberikan pengenalan mendetail tentang layanan Data Factory. Untuk pengenalan tentang layanan Azure Data Factory, lihat Pengantar Azure Data Factory.

Jika lingkungan Anda telah memenuhi prasyarat dan Anda terbiasa menggunakan templat ARM, pilih tombol Sebarkan ke Azure. Templat akan terbuka di portal Microsoft Azure.

Button to deploy the Resource Manager template to Azure.

Prasyarat

Langganan Azure

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Membuat file

Buka editor teks seperti Notepad, dan buat file bernama emp.txt dengan konten berikut:

John, Doe
Jane, Doe

Simpan file di folder C:\ADFv2QuickStartPSH. (Jika folder belum ada, buatlah.)

Meninjau templat

Templat yang digunakan di mulai cepat ini berasal dari Templat Mulai Cepat Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.9.1.41621",
      "templateHash": "5567387787764483116"
    }
  },
  "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",
      "apiVersion": "2021-08-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2"
    },
    {
      "type": "Microsoft.Storage/storageAccounts/blobServices/containers",
      "apiVersion": "2021-08-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-08-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'))]"
      ]
    }
  ]
}

Ada dua sumber daya yang ditentukan dalam templat:

Lebih banyak sampel templat Azure Data Factory dapat ditemukan di galeri templat mulai cepat.

Menyebarkan templat

  1. Pilih gambar berikut untuk masuk ke Azure dan buka templat. Templat membuat akun Azure Data Factory, akun penyimpanan, dan kontainer blob.

    Button to deploy the Resource Manager template to Azure.

  2. Pilih atau masukkan nilai berikut.

    Deploy ADF ARM template

    Kecuali ditentukan, gunakan nilai default untuk membuat sumber daya Azure Data Factory:

    • Langganan: Pilih langganan Azure.
    • Grup sumber daya: Pilih Buat baru, masukkan nama unik untuk grup sumber daya, lalu pilih OK.
    • Wilayah: Pilih lokasi. Misalnya, US Timur.
    • Nama Data Factory: Gunakan nilai default.
    • Lokasi: Gunakan nilai default.
    • Nama Akun Penyimpanan: Gunakan nilai default.
    • Kontainer Blob: Gunakan nilai default.

Meninjau sumber daya yang disebarkan

  1. Pilih Masuk ke grup sumber daya.

    Resource Group

  2. Verifikasi bahwa Azure Data Factory Anda dibuat.

    1. Nama Azure Data Factory Anda dalam format - datafactory<uniqueid>.

    Sample Data Factory

  3. Verifikasi bahwa akun penyimpanan Anda dibuat.

    1. Nama akun penyimpanan dalam format - storage<uniqueid>.

    Storage Account

  4. Pilih akun penyimpanan yang dibuat lalu pilih Kontainer.

    1. Di halaman Kontainer, pilih kontainer blob yang Anda buat.
      1. Nama kontainer blob dalam format - blob<uniqueid>.

    Blob container

Mengunggah file

  1. Di halaman Kontainer, pilih Unggah.

  2. Di panel sebelah kanan, pilih kotak Files, lalu telusuri dan pilih file emp.txt yang Anda buat sebelumnya.

  3. Memperluas judul Tingkat Lanjut.

  4. Di kotak Unggah ke folder, masukkan input.

  5. Pilih tombol Unggah. Anda harus melihat file emp.txt dan status unggahan dalam daftar.

  6. Pilih ikon Tutup (X) untuk menutup halaman Unggah blob.

    Upload file to input folder

Tetap buka halaman kontainer, karena Anda dapat menggunakannya untuk memverifikasi output di akhir mulai cepat ini.

Memulai Pemicu

  1. Buka halaman Pabrik data, lalu pilih pabrik data yang Anda buat.

  2. Pilih Buka di petak Buka Azure Data Factory Studio.

    Author & Monitor

  3. Pilih tab Pembuat .

  4. Pilih alur yang dibuat - ArmtemplateSampleCopyPipeline.

    ARM template pipeline

  5. Pilih Tambahkan Pemicu>Picu Sekarang.

    Trigger

  6. Di panel sebelah kanan, di bawah Eksekusi alur, pilih OK.

Monitor saluran pipa

  1. Pilih tab Monitor .

  2. Anda melihat eksekusi aktivitas yang terkait dengan eksekusi alur. Dalam mulai cepat ini, alur hanya memiliki satu aktivitas jenis: Salin. Dengan demikian, Anda akan melihat eksekusi untuk aktivitas tersebut.

    Successful run

Memverifikasi file output

Alur otomatis membuat folder output dalam kontainer blob. Kemudian, menyalin file emp.txt dari folder input ke folder output.

  1. Di portal Microsoft Azure, pada halaman Kontainer, pilih Refresh untuk melihat folder output.

  2. Pilih output dalam daftar folder.

  3. Pastikan bahwa emp.txt disalin ke folder output.

    Output

Membersihkan sumber daya

Anda dapat membersihkan sumber daya yang Anda buat di Mulai Cepat dengan dua cara. Anda dapat menghapus grup sumber daya Azure, yang menyertakan semua sumber daya dalam grup sumber daya. Jika Anda ingin menjaga sumber daya lain tetap utuh, hapus hanya pabrik data yang Anda buat dalam tutorial ini.

Menghapus grup sumber daya akan menghapus semua sumber daya termasuk pabrik data di dalamnya. Jalankan perintah berikut untuk menghapus seluruh grup sumber daya:

Remove-AzResourceGroup -ResourceGroupName $resourcegroupname

Jika Anda ingin menghapus pabrik data saja, dan bukan seluruh grup sumber daya, jalankan perintah berikut:

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

Dalam mulai cepat ini, Anda membuat Azure Data Factory menggunakan templat ARM, dan memvalidasi penyebaran. Untuk mempelajari lebih lanjut tentang Azure Data Factory dan Azure Resource Manager, lihat artikel di bawah.