Sdílet prostřednictvím


Rychlý start: Vytvoření služby Azure Data Factory pomocí šablony ARM

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po data science, analýzy v reálném čase, business intelligence a reporting. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento rychlý start popisuje, jak pomocí šablony Azure Resource Manageru (šablony ARM) vytvořit objekt pro vytváření dat Azure. Datový kanál, který vytvoříte v této datové továrně, kopíruje data z jedné složky do jiné v úložišti objektů blob Azure. Kurz předvádějící způsoby transformace dat pomocí Azure Data Factory najdete v tématu Kurz: Transformace dat pomocí Sparku.

Šablona Azure Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Tato šablona používá deklarativní syntaxi. Popíšete zamýšlené nasazení, aniž byste museli psát posloupnost programovacích příkazů pro vytvoření nasazení.

Poznámka:

Tento článek neposkytuje podrobný úvod do služby Data Factory. Úvod do služby Azure Data Factory najdete v tématu Úvod do Azure Data Factory.

Pokud vaše prostředí splňuje požadavky a jste obeznámeni s používáním šablon ARM, vyberte tlačítko Nasazení do Azure. Šablona se otevře v prostředí Azure Portal.

Tlačítko pro nasazení šablony Resource Manageru do Azure

Požadavky

Předplatné Azure

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Vytvoření souboru

Otevřete textový editor, například Poznámkový blok, a vytvořte soubor s názvem emp.txt s následujícím obsahem:

John, Doe
Jane, Doe

Uložte soubor do složky C:\ADFv2QuickStartPSH . (Pokud složka ještě neexistuje, vytvořte ji.)

Kontrola šablony

Šablona použitá v tomto rychlém startu je jednou z šablon pro rychlý start Azure.

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

V šabloně jsou definované prostředky Azure:

Další ukázky šablon Azure Data Factory najdete v galerii šablon pro rychlý start.

Nasazení šablony

  1. Vyberte následující obrázek a přihlaste se k Azure a otevřete šablonu. Šablona vytvoří účet služby Azure Data Factory, účet úložiště a kontejner objektů blob.

    Tlačítko pro nasazení šablony Resource Manageru do Azure

  2. Vyberte nebo zadejte následující hodnoty.

    Nasazení šablony ADF ARM

    Pokud není zadaný, použijte výchozí hodnoty k vytvoření prostředků Azure Data Factory:

    • Předplatné: Vyberte předplatné Azure.
    • Skupina prostředků: Vyberte Vytvořit nový, zadejte jedinečný název skupiny prostředků a pak vyberte OK.
    • Oblast: Vyberte umístění. Například USA – východ.
    • Název datové továrny: Použijte výchozí hodnotu.
    • Umístění: Použijte výchozí hodnotu.
    • Název účtu úložiště: Použijte výchozí hodnotu.
    • Kontejner objektů Blob: Použijte výchozí hodnotu.

Kontrola nasazených prostředků

  1. Vyberte Přejít na skupinu prostředků.

    Skupina prostředků

  2. Ověřte, že je služba Azure Data Factory vytvořená.

    1. Název vaší služby Azure Data Factory je ve formátu – datafactory<uniqueid>.

    Ukázková datová továrna

  3. Ověřte, že váš účet úložiště byl vytvořen.

    1. Název účtu úložiště je ve formátu - storage<uniqueid>.

    Účet úložiště

  4. Vyberte vytvořený účet úložiště a pak vyberte Kontejnery.

    1. Na stránce Kontejnery vyberte kontejner objektů blob, který jste vytvořili.
      1. Název kontejneru blob je ve formátu - blob<uniqueid>.

    Kontejner blobů

Odeslání souboru

  1. Na stránce Kontejnery vyberte Nahrát.

  2. V pravém podokně vyberte pole Soubory a pak přejděte na emp.txt soubor, který jste vytvořili dříve.

  3. Rozbalte záhlaví Pokročilé.

  4. Do pole Nahrát do složky zadejte vstup.

  5. vyberte tlačítko Nahrát. Měli byste vidět soubor emp.txt a stav nahrávání v seznamu.

  6. Výběrem ikony Zavřít (X) zavřete stránku Nahrát blob.

    Nahrání souboru do vstupní složky

Nechte stránku kontejneru otevřenou, protože ji můžete použít k ověření výstupu na konci tohoto rychlého startu.

Aktivační událost spuštění

  1. Přejděte na stránku Datové továrny a vyberte datovou továrnu, kterou jste vytvořili.

  2. Vyberte Otevřít na dlaždici Otevřít Azure Data Factory Studio.

    Vytváření a monitorování

  3. Vyberte záložku Autor.

  4. Vyberte vytvořený kanál – ArmtemplateSampleCopyPipeline.

    Kanál šablony ARM

  5. Vyberte Přidat spouštěč>Spustit nyní.

    Trigger

  6. V pravém podokně v rámci spuštění pipeline klikněte na OK.

Monitorovat potrubí

  1. Vyberte kartu Monitorování .

  2. Zobrazí se spuštění aktivit související se spuštěním kanálu. V tomto rychlém průvodci má pipeline pouze jednu aktivitu typu: Copy. V takovém případě dojde ke spuštění této aktivity.

    Úspěšné spuštění

Ověření výstupního souboru

Potrubí automaticky vytvoří výstupní složku v kontejneru blobů. Potom do výstupní složky zkopíruje soubor emp.txt ze vstupní složky.

  1. Na webu Azure Portal na stránce Kontejnery vyberte Aktualizovat , aby se zobrazila výstupní složka.

  2. Vyberte výstup v seznamu složek.

  3. Potvrďte, že je do výstupní složky zkopírovaný soubor emp.txt.

    Výstup

Vyčistěte zdroje

Prostředky, které jste vytvořili v rámci tohoto rychlého startu, můžete vyčistit dvěma způsoby. Můžete odstranit skupinu prostředků Azure, což zahrnuje odstranění všech prostředků v této skupině prostředků. Pokud chcete zachovat ostatní prostředky beze změny, odstraňte pouze objekt pro vytváření dat, který jste vytvořili v tomto kurzu.

Odstraněním skupiny prostředků odstraníte všechny prostředky včetně datových továren. Spusťte následující příkaz pro odstranění celé skupiny prostředků:

Remove-AzResourceGroup -ResourceGroupName $resourcegroupname

Pokud chcete odstranit pouze datovou továrnu, a nikoli celou skupinu prostředků, spusťte následující příkaz:

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

V tomto rychlém startu jste vytvořili službu Azure Data Factory pomocí šablony ARM a ověřili jste nasazení. Další informace o službě Azure Data Factory a Azure Resource Manageru najdete v následujících článcích.