Rövid útmutató: Azure Data Factory létrehozása ARM-sablonnal

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a rövid útmutató bemutatja, hogyan hozhat létre Azure Data Factoryt egy Azure Resource Manager-sablon (ARM-sablon) használatával. Az adat-előállítóban létrehozott folyamat adatokat másol egy Azure-blobtároló egyik mappájából egy másikba. Az adatok Azure Data Factoryval történő átalakításának útmutatásáért olvassa el az az adatok Spark segítségével történő átalakítását ismertető oktatóanyagot.

Az Azure Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. Az üzembe helyezés létrehozásához szükséges programozási parancsok sorozatának megírása nélkül írhatja le a tervezett üzembe helyezést.

Feljegyzés

Ez a cikk nem mutatja be részletesen a Data Factory szolgáltatást. Ha szeretné megismerni az Azure Data Factoryt, tekintse meg Az Azure Data Factory bemutatását.

Ha a környezet megfelel az előfeltételeknek, és már ismeri az ARM-sablonokat, kattintson az Üzembe helyezés az Azure-ban gombra. A sablon az Azure Portalon fog megnyílni.

Button to deploy the Resource Manager template to Azure.

Előfeltételek

Azure-előfizetés

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Fájl létrehozása

Nyisson meg egy szövegszerkesztőt, például Jegyzettömb, és hozzon létre egy emp.txt nevű fájlt a következő tartalommal:

John, Doe
Jane, Doe

Mentse a fájlt a C:\ADFv2QuickStartPSH mappába. (Ha a mappa még nem létezik, hozza létre.)

Sablon áttekintése

Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik.

{
  "$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')]"
    }
  }
}

A sablonban azure-erőforrások vannak definiálva:

További Azure Data Factory-sablonminták a rövid útmutató sablongyűjteményében találhatók.

A sablon üzembe helyezése

  1. Kattintson az alábbi gombra az Azure-ba való bejelentkezéshez és egy sablon megnyitásához. A sablon létrehoz egy Azure Data Factory-fiókot, egy tárfiókot és egy blobtárolót.

    Button to deploy the Resource Manager template to Azure.

  2. Válassza ki vagy adja meg a következő értékeket.

    Deploy ADF ARM template

    Ha nincs megadva, használja az alapértelmezett értékeket az Azure Data Factory-erőforrások létrehozásához:

    • Előfizetés: válasszon ki egy Azure-előfizetést.
    • Erőforráscsoport: Válassza az Új létrehozása lehetőséget, adjon meg egy egyedi nevet az erőforráscsoportnak, majd kattintson az OK gombra.
    • Régió: Válasszon egy helyet. Például az USA keleti régiója.
    • Data Factory neve: Alapértelmezett érték használata.
    • Hely: Alapértelmezett érték használata.
    • Tárfiók neve: Alapértelmezett érték használata.
    • Blobtároló: Alapértelmezett érték használata.

Üzembe helyezett erőforrások áttekintése

  1. Válassza az Ugrás az erőforráscsoportra lehetőséget.

    Resource Group

  2. Ellenőrizze, hogy létrejött-e az Azure Data Factory.

    1. Az Azure Data Factory neve formátuma – egyedi> adatfactory<.

    Sample Data Factory

  3. Ellenőrizze, hogy létrejött-e a tárfiókja.

    1. A tárfiók neve formátuma – storage<uniqueid>.

    Storage Account

  4. Válassza ki a létrehozott tárfiókot, majd válassza a Tárolók lehetőséget.

    1. A Tárolók lapon válassza ki a létrehozott blobtárolót.
      1. A blobtároló neve formátuma – blob<uniqueid>.

    Blob container

Fájl feltöltése

  1. A Tárolók lapon válassza a Feltöltés lehetőséget.

  2. A jobb oldali ablaktáblán válassza a Fájlok mezőt, majd keresse meg és jelölje ki a korábban létrehozott emp.txt fájlt.

  3. Bontsa ki a Speciális címsort.

  4. A Feltöltés mappába mezőbe írja be a bemenetet.

  5. Kattintson a Feltöltés gombra. A listában meg kell jelennie az emp.txt fájlnak és a feltöltés állapotának.

  6. A Blob feltöltése lap bezárásához válassza a Bezárás ikont (X).

    Upload file to input folder

Tartsa nyitva a tárolólapot, mert a rövid útmutató végén ellenőrizheti a kimenetet.

Trigger indítása

  1. Lépjen az Adat-előállítók lapra, és válassza ki a létrehozott adat-előállítót.

  2. Válassza a Megnyitás lehetőséget az Azure Data Factory Studio megnyitása csempén.

    Author & Monitor

  3. Válassza a Szerző lapot .

  4. Válassza ki a létrehozott folyamatot – ArmtemplateSampleCopyPipeline.

    ARM template pipeline

  5. Válassza az Eseményindító>hozzáadása trigger most lehetőséget.

    Trigger

  6. A folyamatfuttatás jobb oldali ablaktábláján válassza az OK gombot.

A folyamat monitorozása

  1. Válassza a Figyelés lapot .

  2. Itt a folyamat futtatásához kapcsolódó tevékenységfuttatások láthatóak. Ebben a rövid útmutatóban a folyamat csak egyetlen tevékenységtípussal rendelkezik: Másolás. Így megjelenik egy futtatás ehhez a tevékenységhez.

    Successful run

A kimeneti fájl ellenőrzése

A folyamat automatikusan létrehoz egy kimeneti mappát a blobtárolóban. Ezután átmásolja az emp.txt fájlt a bemeneti mappából a kimeneti mappába.

  1. Az Azure Portal Tárolók lapján válassza a Frissítés lehetőséget a kimeneti mappa megtekintéséhez.

  2. Válassza ki a kimenetet a mappalistában.

  3. Ellenőrizze, hogy az emp.txt fájl bekerült-e a kimeneti mappába.

    Output

Az erőforrások eltávolítása

Kétféleképpen távolíthatja el a rövid útmutatóban létrehozott erőforrásokat. Törölheti az Azure-erőforráscsoportot, amely tartalmazza az erőforráscsoportban lévő összes erőforrást. Ha a többi erőforrást érintetlenül szeretné hagyni, csak az ebben az oktatóanyagban létrehozott adat-előállítót törölje.

Egy erőforráscsoport törlése a csoportban található összes erőforrást törli, beleértve az adat-előállítókat is. Az alábbi parancsot futtassa a teljes erőforráscsoport törléséhez:

Remove-AzResourceGroup -ResourceGroupName $resourcegroupname

Ha csak az adat-előállítót szeretné törölni, és nem a teljes erőforráscsoportot, futtassa a következő parancsot:

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

Ebben a rövid útmutatóban létrehozott egy Azure Data Factoryt egy ARM-sablon használatával, és érvényesítette az üzembe helyezést. Ha többet szeretne megtudni az Azure Data Factoryről és az Azure Resource Managerről, folytassa az alábbi cikkekkel.