Udostępnij za pośrednictwem


Szybki start: tworzenie usługi Azure Data Factory przy użyciu szablonu usługi ARM

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Tip

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym przewodniku Quickstart opisano, jak użyć szablonu Azure Resource Manager (ARM), aby utworzyć fabrykę danych Azure. The pipeline you create in this data factory copies data from one folder to another folder in an Azure blob storage. Aby zapoznać się z samouczkiem dotyczącym przekształcania danych za pomocą usługi Azure Data Factory, zobacz Tutorial: Transform data using Spark (Samouczek: Przekształcanie danych przy użyciu usługi Spark).

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Uwaga

This article doesn't provide a detailed introduction of the Data Factory service. Aby zapoznać się z wprowadzeniem do usługi Azure Data Factory, zobacz Wprowadzenie do usługi Azure Data Factory.

Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.

Przycisk wdrażania szablonu usługi Resource Manager na platformie Azure.

Wymagania wstępne

Subskrypcja platformy Azure

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Tworzenie pliku

Otwórz edytor tekstów, taki jak Notatnik, i utwórz plik o nazwie emp.txt z następującą zawartością:

John, Doe
Jane, Doe

Zapisz plik w folderze C:\ADFv2QuickStartPSH . (Jeśli folder jeszcze nie istnieje, utwórz go).

Przeglądanie szablonu

Szablon używany w tym szybkim starcie pochodzi z Azure Quickstart Templates.

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

W szablonie zdefiniowano zasoby platformy Azure:

Więcej przykładów szablonów usługi Azure Data Factory można znaleźć w galerii szablonów szybkiego startu.

Wdrażanie szablonu

  1. Wybierz poniższy obraz, aby zalogować się na platformie Azure i otworzyć szablon. The template creates an Azure Data Factory account, a storage account, and a blob container.

    Przycisk wdrażania szablonu usługi Resource Manager na platformie Azure.

  2. Wybierz lub wprowadź następujące wartości.

    Wdrażanie szablonu ARM dla ADF

    Jeśli nie zostanie określony, użyj wartości domyślnych, aby utworzyć zasoby usługi Azure Data Factory:

    • Subskrypcja: wybierz subskrypcję platformy Azure.
    • Grupa zasobów: wybierz pozycję Utwórz nową, wprowadź unikatową nazwę grupy zasobów, a następnie wybierz przycisk OK.
    • Region: wybierz lokalizację. Na przykład Wschodnie stany USA.
    • Nazwa fabryki danych: użyj wartości domyślnej.
    • Lokalizacja: użyj wartości domyślnej.
    • Nazwa konta magazynu: użyj wartości domyślnej.
    • Blob Container: użyj wartości domyślnej.

Przeglądanie wdrożonych zasobów

  1. Wybierz Przejdź do grupy zasobów.

    Grupa zasobów

  2. Sprawdź, czy utworzono usługę Azure Data Factory.

    1. Nazwa usługi Azure Data Factory jest w formacie — datafactory<uniqueid>.

    Przykładowa fabryka danych

  3. Sprawdź, czy konto przechowywania zostało utworzone.

    1. The storage account name is in the format - storage<uniqueid>.

    Konto magazynu

  4. Wybierz utworzone konto magazynu, a następnie wybierz pozycję Kontenery.

    1. Na stronie Kontenery wybierz utworzony kontener blobów.
      1. The blob container name is in the format - blob<uniqueid>.

    Blob container

Przekazywanie pliku

  1. Na stronie Kontenery wybierz pozycję Przekaż.

  2. In the right pane, select the Files box, and then browse to and select the emp.txt file that you created earlier.

  3. Rozwiń nagłówek Zaawansowane.

  4. W polu Przekaż do folderu wprowadź dane wejściowe.

  5. Wybierz przycisk Przekaż. Na liście powinien pojawić się plik emp.txt i stan przesyłania.

  6. Select the Close icon (an X) to close the Upload blob page.

    Przekazywanie pliku do folderu wejściowego

Pozostaw otwartą stronę kontenera, ponieważ możesz jej użyć do zweryfikowania danych wyjściowych na końcu tego szybkiego startu.

Start Trigger

  1. Przejdź do strony Fabryki danych i wybierz utworzoną fabrykę danych.

  2. Wybierz Otwórz na kafelku Open Azure Data Factory Studio.

    Autor i Nadzorca

  3. Select the Author tab .

  4. Select the pipeline created - ArmtemplateSampleCopyPipeline.

    ARM template pipeline

  5. Wybierz Dodaj wyzwalacz>Wyzwól teraz.

    Trigger

  6. In the right pane under Pipeline run, select OK.

Monitor the pipeline

  1. Wybierz kartę Monitor.

  2. You see the activity runs associated with the pipeline run. In this quickstart, the pipeline has only one activity of type: Copy. As such, you see a run for that activity.

    Successful run

Weryfikowanie pliku wyjściowego

The pipeline automatically creates an output folder in the blob container. Następnie kopiuje plik emp.txt z folderu wejściowego do folderu wyjściowego.

  1. W witrynie Azure Portal na stronie Kontenery wybierz pozycję Odśwież , aby wyświetlić folder wyjściowy.

  2. Select output in the folder list.

  3. Upewnij się, że plik emp.txt jest kopiowany do folderu wyjściowego.

    Wyjście

Czyszczenie zasobów

Zasoby utworzone w ramach Szybkiego startu możesz wyczyścić na dwa sposoby. Możesz usunąć grupę zasobów platformy Azure zawierającą wszystkie zasoby w tej grupie. If you want to keep the other resources intact, delete only the data factory you created in this tutorial.

Usunięcie grupy zasobów powoduje usunięcie wszystkich zasobów łącznie z fabrykami danych w nich zawartymi. Uruchom poniższe polecenie, aby usunąć całą grupę zasobów:

Remove-AzResourceGroup -ResourceGroupName $resourcegroupname

Jeśli chcesz usunąć tylko fabrykę danych, a nie całą grupę zasobów, uruchom następujące polecenie:

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

In this quickstart, you created an Azure Data Factory using an ARM template and validated the deployment. Aby dowiedzieć się więcej na temat usług Azure Data Factory i Azure Resource Manager, przejdź do poniższych artykułów.