Rövid útmutató: Azure Data Factory LÉTREHOZÁSA ARM-sablonnal

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

Ez a rövid útmutató azt ismerteti, hogyan használható Azure Resource Manager sablon (ARM-sablon) egy Azure data factory létrehozásához. 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 átalakításával kapcsolatos oktatóanyagért lásd: Oktatóanyag: Adatok átalakítása a Spark használatávalAzure Data Factory.

Az ARM-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. A deklaratív szintaxissal úgy írhatja le a kívánt üzemelő példányt, hogy nem kell megírnia az üzemelő példány létrehozására szolgáló programozási parancsokat.

Megjegyzé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.

Üzembe helyezés az Azure-ban

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( Jegyzettömb,és hozzon létre egyemp.txtnevű 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.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'))]"
      ]
    }
  ]
}

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

További Azure Data Factory sablonmintákat a gyorsindítási sablongyűjteményben talál.

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.

    Üzembe helyezés az Azure-ban

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

    ADF ARM-sablon üzembe helyezése

    Ha nincs megadva, használja az alapértelmezett értékeket a Azure Data Factory létrehozásához:

    • Előfizetés:Válasszon ki egy Azure-előfizetést.
    • Erőforráscsoport:Válassza az Új létrehozásalehetőséget, adjon egyedi nevet az erőforráscsoportnak, majd kattintson az OK gombra.
    • Régió:Válasszon ki egy helyet. Például: USA keleti régiója.
    • Data Factory Név:Használja az alapértelmezett értéket.
    • Hely:Használja az alapértelmezett értéket.
    • Storage Fiók neve:Használja az alapértelmezett értéket.
    • Blobtároló:Használja az alapértelmezett értéket.

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

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

    Erőforráscsoport

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

    1. A Azure Data Factory formátuma a következő: datafactory <> uniqueid.

    Minta Data Factory

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

    1. A tárfiók neve a következő formátumban van: storage <> uniqueid.

    Storage fiók

  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 a következő formátumban van: blob < uniqueid > .

    Blobtároló

Fájl feltöltése

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

  2. A jobb oldali panelen válassza a Fájlok mezőt, majd keresse meg és válassza ki emp.txt korábban létrehozott fájl nevét.

  3. Bontsa ki a Speciális fejlécet.

  4. A Feltöltés mappába mezőbe írja be a következőt: .

  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 Bezárás ikonra(X)kattintva zárja be a Blob feltöltése lapot.

    Fájl feltöltése a bemeneti mappába

Ne nyissa meg a tárolóoldalt, mert ezzel ellenőrizheti a rövid útmutató végén található kimenetet.

Indítási eseményindító

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

  2. Az OpenAzure Data Factory Studio csempén válassza a Megnyitás lehetőséget.

    Szerzőfigyelő

  3. Válassza a Szerző lapot.

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

    ARM-sablon folyamat

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

    Eseményindító

  6. A jobb oldali ablaktáblán, a Folyamatfuttassa alattválassza az OK lehetőséget.

A folyamat figyelése

  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 láthatja az erre a tevékenységre vonatkozó futtatásokat.

    Sikeres futtatás

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. A Azure Portal a Tárolók lapon válassza a Frissítés lehetőséget a kimeneti mappa kiválasztásához.

  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.

    Kimenet

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 az erőforráscsoport összes erőforrását tartalmazza. 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, nem a teljes erőforráscsoportot, futtassa a következő parancsot:

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

Következő lépések

Ebben a rövid útmutatóban létrehozott egy Azure Data Factory ARM-sablonnal, és érvényesítette az üzembe helyezést. Ha többet szeretne megtudni a Azure Data Factory és Azure Resource Manager, folytassa az alábbi cikkekkel.