Auf Englisch lesen

Freigeben über


Schnellstart: Erstellen einer Azure Data Factory mithilfe von Bicep

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Diese Schnellstartanleitung beschreibt, wie Sie Bicep verwenden, um eine Azure Data Factory zu erstellen. Die in dieser Data Factory erstellte Pipeline kopiert Daten aus einem Ordner in einen anderen Ordner in Azure Blob Storage. Ein Tutorial zum Transformieren von Daten mithilfe von Azure Data Factory finden Sie unter Tutorial: Daten mit Spark transformieren.

Bicep ist eine domänenspezifische Sprache (Domain-Specific Language, DSL), die eine deklarative Syntax zur Bereitstellung von Azure-Ressourcen verwendet. Sie bietet eine präzise Syntax, zuverlässige Typsicherheit und Unterstützung für die Wiederverwendung von Code. Bicep bietet die beste Form der Erstellung für Ihre Infrastructure-as-Code-Lösungen in Azure.

Hinweis

Dieser Artikel enthält keine ausführliche Einführung in den Data Factory-Dienst. Eine Einführung in den Azure Data Factory-Dienst finden Sie unter Einführung in Azure Data Factory.

Voraussetzungen

Azure-Abonnement

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Überprüfen der Bicep-Datei

Die in dieser Schnellstartanleitung verwendete Bicep-Datei stammt aus den Azure-Schnellstartvorlagen.

Bicep
@description('Data Factory Name')
param dataFactoryName string = 'datafactory${uniqueString(resourceGroup().id)}'

@description('Location of the data factory.')
param location string = resourceGroup().location

@description('Name of the Azure storage account that contains the input/output data.')
param storageAccountName string = 'storage${uniqueString(resourceGroup().id)}'

@description('Name of the blob container in the Azure Storage account.')
param blobContainerName string = 'blob${uniqueString(resourceGroup().id)}'

var dataFactoryLinkedServiceName = 'ArmtemplateStorageLinkedService'
var dataFactoryDataSetInName = 'ArmtemplateTestDatasetIn'
var dataFactoryDataSetOutName = 'ArmtemplateTestDatasetOut'
var pipelineName = 'ArmtemplateSampleCopyPipeline'

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'

  properties: {
    minimumTlsVersion: 'TLS1_2'
    supportsHttpsTrafficOnly: true
    allowBlobPublicAccess: false
  }

  resource defaultBlobService 'blobServices' = {
    name: 'default'
  }
}

resource blobContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2023-01-01' = {
  parent: storageAccount::defaultBlobService
  name: blobContainerName
}

resource dataFactory 'Microsoft.DataFactory/factories@2018-06-01' = {
  name: dataFactoryName
  location: location
  identity: {
    type: 'SystemAssigned'
  }
}

resource dataFactoryLinkedService 'Microsoft.DataFactory/factories/linkedservices@2018-06-01' = {
  parent: dataFactory
  name: dataFactoryLinkedServiceName
  properties: {
    type: 'AzureBlobStorage'
    typeProperties: {
      connectionString: 'DefaultEndpointsProtocol=https;AccountName=${storageAccount.name};AccountKey=${storageAccount.listKeys().keys[0].value}'
    }
  }
}

resource dataFactoryDataSetIn 'Microsoft.DataFactory/factories/datasets@2018-06-01' = {
  parent: dataFactory
  name: dataFactoryDataSetInName
  properties: {
    linkedServiceName: {
      referenceName: dataFactoryLinkedService.name
      type: 'LinkedServiceReference'
    }
    type: 'Binary'
    typeProperties: {
      location: {
        type: 'AzureBlobStorageLocation'
        container: blobContainerName
        folderPath: 'input'
        fileName: 'emp.txt'
      }
    }
  }
}

resource dataFactoryDataSetOut 'Microsoft.DataFactory/factories/datasets@2018-06-01' = {
  parent: dataFactory
  name: dataFactoryDataSetOutName
  properties: {
    linkedServiceName: {
      referenceName: dataFactoryLinkedService.name
      type: 'LinkedServiceReference'
    }
    type: 'Binary'
    typeProperties: {
      location: {
        type: 'AzureBlobStorageLocation'
        container: blobContainerName
        folderPath: 'output'
      }
    }
  }
}

resource dataFactoryPipeline 'Microsoft.DataFactory/factories/pipelines@2018-06-01' = {
  parent: dataFactory
  name: 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: dataFactoryDataSetIn.name
            type: 'DatasetReference'
          }
        ]
        outputs: [
          {
            referenceName: dataFactoryDataSetOut.name
            type: 'DatasetReference'
          }
        ]
      }
    ]
  }
}

output name string = dataFactoryPipeline.name
output resourceId string = dataFactoryPipeline.id
output resourceGroupName string = resourceGroup().name
output location string = location

In der Bicep-Datei sind verschiedene Azure-Ressourcen definiert:

Erstellen von Dateien

Öffnen Sie einen Text-Editor (etwa Editor), und erstellen Sie eine Datei mit dem Namen emp.txt und folgendem Inhalt:

emp.txt
John, Doe
Jane, Doe

Speichern Sie die Datei lokal. Sie benötigen sie später in der Schnellstartanleitung.

Bereitstellen der Bicep-Datei

  1. Speichern Sie die Bicep-Datei aus den Azure-Schnellstartvorlagen als main.bicep auf Ihrem lokalen Computer.

  2. Stellen Sie die Bicep-Datei entweder mit Azure CLI oder mit Azure PowerShell bereit.

    Azure CLI
    az group create --name exampleRG --location eastus
    az deployment group create --resource-group exampleRG --template-file main.bicep
    

    Nach Abschluss der Bereitstellung sollte eine Meldung mit dem Hinweis angezeigt werden, dass die Bereitstellung erfolgreich war.

Überprüfen der bereitgestellten Ressourcen

Verwenden Sie die Azure CLI oder Azure PowerShell, um die bereitgestellten Ressourcen in der Ressourcengruppe aufzulisten.

Azure CLI
az resource list --resource-group exampleRG

Sie können die bereitgestellten Ressourcen auch im Azure-Portal überprüfen.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wechseln Sie zu Ihrer Ressourcengruppe.
  3. Ihre Ressourcen werden aufgelistet. Wählen Sie die einzelnen Ressourcen aus, um eine Übersicht anzuzeigen.

Hochladen einer Datei

Verwenden Sie das Azure-Portal, um die Datei emp.txt hochzuladen.

  1. Navigieren Sie zu Ihrer Ressourcengruppe, und wählen Sie das erstellte Speicherkonto aus. Wählen Sie dann im linken Bereich die Registerkarte Container aus.

    Container-Registerkarte

  2. Wählen Sie auf der Seite Container den erstellten Blobcontainer aus. Der Name weist folgendes Format auf: blob<uniqueid>.

    BLOB-Container

  3. Wählen Sie Hochladen und dann im rechten Bereich das Symbol Dateien aus. Navigieren Sie zu der zuvor erstellten Datei emp.txt, und wählen Sie sie aus.

  4. Erweitern Sie die Überschrift Erweitert.

  5. Geben Sie im Feld In Ordner hochladen den Namen input ein.

  6. Wählen Sie die Schaltfläche Hochladen. Daraufhin sollten in der Liste die Datei emp.txt und der Status des Uploads angezeigt werden.

  7. Wählen Sie das Symbol Schließen (das X) aus, um die Seite Blob hochladen zu schließen.

    Hochladen der Datei in den Eingabeordner

Lassen Sie die Seite „Container“ geöffnet, da Sie dort am Ende dieser Schnellstartanleitung die Ausgabe überprüfen können.

Starten des Triggers

  1. Navigieren Sie zur Seite „Ressourcengruppe“, und wählen Sie die von Ihnen erstellte Data Factory aus.

  2. Wählen Sie auf der Kachel Open Azure Data Factory Studio (Öffnen von Azure Data Factory Studio) Open (Öffnen) aus.

    Erstellen und überwachen

  3. Wählen Sie die Registerkarte Ersteller aus.

  4. Wählen Sie die erstellte Pipeline aus: ArmtemplateSampleCopyPipeline.

    Bicep-Pipeline

  5. Wählen Sie Trigger hinzufügen>Trigger Now (Jetzt auslösen) aus.

    Trigger

  6. Wählen Sie im rechten Bereich unter Pipelineausführungdie Option OK aus.

Überwachen der Pipeline

  1. Wählen Sie die Registerkarte Überwachen aus.

  2. Sie sehen die Aktivitätsausführungen, die der Pipelineausführung zugeordnet sind. In dieser Schnellstartanleitung enthält die Pipeline nur eine Aktivität vom Typ Kopieren. Für diese Aktivität sollte eine Ausführung angezeigt werden.

    Erfolgreiche Ausführung

Überprüfen der Ausgabedatei

Die Pipeline erstellt automatisch einen Ausgabeordner im Blobcontainer Anschließend wird die Datei emp.txt aus dem Eingabe- in den Ausgabeordner kopiert.

  1. Wählen Sie im Azure-Portal auf der Seite Container die Option Aktualisieren aus, um den Ausgabeordner anzuzeigen.

  2. Wählen Sie in der Ordnerliste output aus.

  3. Überprüfen Sie, ob die Datei emp.txt in den Ausgabeordner kopiert wurde.

    Ausgabe

Bereinigen von Ressourcen

Wenn die Ressourcengruppe und die zugehörigen Ressourcen nicht mehr benötigt werden, löschen Sie sie über die Azure CLI oder Azure PowerShell.

Azure CLI
az group delete --name exampleRG

Sie können die Ressourcengruppe auch über das Azure-Portal löschen.

  1. Navigieren Sie im Azure-Portal zu der Ressourcengruppe.
  2. Wählen Sie die Option Ressourcengruppe löschen.
  3. Eine Registerkarte wird angezeigt. Geben Sie den Ressourcengruppennamen ein, und wählen Sie Löschen aus.

In dieser Schnellstartanleitung haben Sie mithilfe von Bicep eine Azure Data Factory erstellt und die Bereitstellung überprüft. Weitere Informationen zu Azure Data Factory und Bicep finden Sie in den folgenden Artikeln.