Szybki start: tworzenie usługi Azure Data Factory przy użyciu szablonu usługi ARM
DOTYCZY: Azure Data Factory Azure Synapse Analytics
Napiwek
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 Szybki start opisano sposób tworzenia fabryki danych Azure przy użyciu szablonu usługi Azure Resource Manager (arm). Potok tworzony w tej fabryce danych kopiuje dane z jednego folderu do innego folderu w usłudze 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
Ten artykuł nie zawiera szczegółowego wprowadzenia do usługi Data Factory. 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.
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 przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy 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')]"
}
}
}
W szablonie zdefiniowano zasoby platformy Azure:
- Microsoft.Storage/storageAccounts: definiuje konto magazynu.
- Microsoft.DataFactory/factory: tworzenie usługi Azure Data Factory.
- Microsoft.DataFactory/factory/linkedServices: tworzenie połączonej usługi Azure Data Factory.
- Microsoft.DataFactory/factory/datasets: Tworzenie zestawu danych usługi Azure Data Factory.
- Microsoft.DataFactory/factory/pipelines: Tworzenie potoku usługi Azure Data Factory.
Więcej przykładów szablonów usługi Azure Data Factory można znaleźć w galerii szablonów szybkiego startu.
Wdrażanie szablonu
Wybierz poniższy obraz, aby zalogować się na platformie Azure i otworzyć szablon. Szablon tworzy konto usługi Azure Data Factory, konto magazynu i kontener obiektów blob.
Wybierz lub wprowadź następujące wartości.
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.
- Kontener obiektów blob: użyj wartości domyślnej.
Przeglądanie wdrożonych zasobów
Wybierz pozycję Przejdź do grupy zasobów.
Sprawdź, czy utworzono usługę Azure Data Factory.
- Nazwa usługi Azure Data Factory jest w formacie — datafactory<uniqueid>.
Sprawdź, czy konto magazynu zostało utworzone.
- Nazwa konta magazynu jest w formacie — unikatowy identyfikator> magazynu<.
Wybierz utworzone konto magazynu, a następnie wybierz pozycję Kontenery.
- Na stronie Kontenery wybierz utworzony kontener obiektów blob.
- Nazwa kontenera obiektów blob ma format — unikatowy obiekt> blob<.
- Na stronie Kontenery wybierz utworzony kontener obiektów blob.
Przekazywanie pliku
Na stronie Kontenery wybierz pozycję Przekaż.
W okienku po prawej stronie wybierz pole Pliki , a następnie przejdź do i wybierz utworzony wcześniej plik emp.txt .
Rozwiń nagłówek Zaawansowane.
W polu Przekaż do folderu wprowadź dane wejściowe.
Wybierz przycisk Przekaż. Na liście powinien pojawić się plik emp.txt i stan przekazywania.
Wybierz ikonę Zamknij (x), aby zamknąć stronę Przekaż obiekt blob.
Pozostaw otwartą stronę kontenera, ponieważ możesz jej użyć do zweryfikowania danych wyjściowych na końcu tego przewodnika Szybki start.
Wyzwalacz uruchamiania
Przejdź do strony Fabryki danych i wybierz utworzoną fabrykę danych.
Wybierz pozycję Otwórz na kafelku Otwórz usługę Azure Data Factory Studio .
Wybierz kartę Author (Autor).
Wybierz utworzony potok — ArmtemplateSampleCopyPipeline.
Wybierz pozycję Dodaj wyzwalacz wyzwalacza>teraz.
W okienku po prawej stronie w obszarze Uruchamianie potoku wybierz przycisk OK.
Monitor the pipeline (Monitorowanie potoku)
Wybierz kartę Monitor .
Zostaną wyświetlone uruchomienia działania skojarzone z uruchomieniem potoku. W tym przewodniku Szybki start potok ma tylko jedno działanie typu Kopiowanie. W związku z tym zostanie wyświetlony przebieg dla tego działania.
Weryfikowanie pliku wyjściowego
Potok automatycznie tworzy folder wyjściowy w kontenerze obiektów blob. Następnie kopiuje plik emp.txt z folderu wejściowego do folderu wyjściowego.
W witrynie Azure Portal na stronie Kontenery wybierz pozycję Odśwież , aby wyświetlić folder wyjściowy.
Wybierz dane wyjściowe na liście folderów.
Upewnij się, że plik emp.txt jest kopiowany do folderu wyjściowego.
Czyszczenie zasobów
Zasoby, które zostały utworzone w ramach tego przewodnika Szybki start, możesz wyczyścić na dwa sposoby. Możesz usunąć grupę zasobów platformy Azure zawierającą wszystkie zasoby w tej grupie. Jeśli chcesz zachować inne zasoby bez zmian, usuń tylko fabrykę danych utworzoną w tym samouczku.
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
Powiązana zawartość
W tym przewodniku Szybki start utworzono usługę Azure Data Factory przy użyciu szablonu usługi ARM i sprawdzono wdrożenie. Aby dowiedzieć się więcej na temat usług Azure Data Factory i Azure Resource Manager, przejdź do poniższych artykułów.
- Dokumentacja usługi Azure Data Factory
- Dowiedz się więcej o usłudze Azure Resource Manager
- Uzyskiwanie innych szablonów usługi Arm usługi Azure Data Factory