Краткое руководство. Создание фабрики данных Azure с помощью Azure CLI
В этом кратком руководстве описано создание фабрики данных Azure с помощью Azure CLI. Конвейер, который вы создадите в этой фабрике данных, копирует данные из одной папки в другую в хранилище BLOB-объектов Azure. Сведения о преобразовании данных с помощью фабрики данных Azure см. в статье Преобразование данных в фабрике данных Azure.
Общие сведения о службе фабрики данных Azure см. в статье Введение в фабрику данных Azure.
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Необходимые компоненты
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Примечание.
Чтобы создать экземпляры фабрики данных, нужно назначить учетной записи пользователя, используемой для входа в Azure, роль участника, владельца либо администратора подписки Azure. Дополнительные сведения см. в разделе Роли Azure.
Подготовка контейнера и тестового файла
В этом кратком руководстве используется учетная запись хранения Azure, которая содержит контейнер с файлом.
Чтобы создать группу ресурсов с именем
ADFQuickStartRG
, используйте команду az group create:az group create --name ADFQuickStartRG --location eastus
Создайте учетную запись хранения с помощью команды az storage account create:
az storage account create --resource-group ADFQuickStartRG \ --name adfquickstartstorage --location eastus
Создайте контейнер с именем
adftutorial
с помощью команды az storage container create:az storage container create --resource-group ADFQuickStartRG --name adftutorial \ --account-name adfquickstartstorage --auth-mode key
В локальном каталоге создайте файл с именем
emp.txt
для отправки. Если вы работаете в Azure Cloud Shell, текущий рабочий каталог можно найти с помощью командыecho $PWD
Bash. Для создания файла можно использовать стандартные команды Bash, напримерcat
:cat > emp.txt This is text.
Чтобы сохранить новый файл, нажмите клавиши CTRL+D.
Чтобы отправить новый файл в контейнер хранилища Azure, используйте команду az storage blob upload:
az storage blob upload --account-name adfquickstartstorage --name input/emp.txt \ --container-name adftutorial --file emp.txt --auth-mode key
Эта команда отправляет файл в новую папку с именем
input
.
Создание фабрики данных
Чтобы создать фабрику данных Azure, выполните команду az datafactory create:
az datafactory create --resource-group ADFQuickStartRG \
--factory-name ADFTutorialFactory
Важно!
Замените ADFTutorialFactory
глобально уникальным именем фабрики данных, например, ADFTutorialFactorySP1127.
Чтобы увидеть созданную фабрику данных, выполните команду az datafactory show:
az datafactory show --resource-group ADFQuickStartRG \
--factory-name ADFTutorialFactory
Создание связанной службы и наборов данных
Затем необходимо создать связанную службу и два набора данных.
Получите строку подключения для своей учетной записи хранения с помощью команды az storage account show-connection-string:
az storage account show-connection-string --resource-group ADFQuickStartRG \ --name adfquickstartstorage --key primary
В рабочем каталоге создайте JSON-файл с этим содержимым, который содержит вашу строку подключения из предыдущего шага. Присвойте файлу имя
AzureStorageLinkedService.json
:{ "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } }
Создайте связанную службу с именем с
AzureStorageLinkedService
помощью команды az datafactory linked-service create:az datafactory linked-service create --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --linked-service-name AzureStorageLinkedService \ --properties AzureStorageLinkedService.json
В рабочем каталоге создайте JSON-файл с этим содержимым с именем
InputDataset.json
:{ "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "fileName": "emp.txt", "folderPath": "input", "container": "adftutorial" } } }
Создайте входной набор данных с именем
InputDataset
с помощью команды az datafactory dataset create:az datafactory dataset create --resource-group ADFQuickStartRG \ --dataset-name InputDataset --factory-name ADFTutorialFactory \ --properties InputDataset.json
В рабочем каталоге создайте JSON-файл с этим содержимым с именем
OutputDataset.json
:{ "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } }
Создайте выходной набор данных с именем
OutputDataset
с помощью команды az datafactory dataset create:az datafactory dataset create --resource-group ADFQuickStartRG \ --dataset-name OutputDataset --factory-name ADFTutorialFactory \ --properties OutputDataset.json
Создание и запуск конвейера
Наконец, создайте и запустите конвейер.
В рабочем каталоге создайте JSON-файл с этим содержимым с именем
Adfv2QuickStartPipeline.json
:{ "name": "Adfv2QuickStartPipeline", "properties": { "activities": [ { "name": "CopyFromBlobToBlob", "type": "Copy", "dependsOn": [], "policy": { "timeout": "7.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "source": { "type": "BinarySource", "storeSettings": { "type": "AzureBlobStorageReadSettings", "recursive": true } }, "sink": { "type": "BinarySink", "storeSettings": { "type": "AzureBlobStorageWriteSettings" } }, "enableStaging": false }, "inputs": [ { "referenceName": "InputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "OutputDataset", "type": "DatasetReference" } ] } ], "annotations": [] } }
Создайте конвейер с именем с
Adfv2QuickStartPipeline
помощью команды az datafactory pipeline create:az datafactory pipeline create --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --name Adfv2QuickStartPipeline \ --pipeline Adfv2QuickStartPipeline.json
Запустите конвейер с помощью команды az datafactory pipeline create-run:
az datafactory pipeline create-run --resource-group ADFQuickStartRG \ --name Adfv2QuickStartPipeline --factory-name ADFTutorialFactory
Эта команда возвращает ИД запуска. Скопируйте его для использования в следующей команде.
Убедитесь, что запуск конвейера успешно выполнен, с помощью команды az datafactory pipeline-run show:
az datafactory pipeline-run show --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --run-id 00000000-0000-0000-0000-000000000000
Чтобы убедиться, что конвейер был запущен правильно, можно использовать портал Azure. Дополнительные сведения см. в разделе Просмотр развернутых ресурсов.
Очистка ресурсов
Все ресурсы в этом кратком руководстве входят в состав одной группы ресурсов. Чтобы их удалить, используйте команду az group delete:
az group delete --name ADFQuickStartRG
Если вы используете эту группу ресурсов для чего-то еще, удалите отдельные ресурсы. Например, чтобы удалить связанную службу, используйте команду az datafactory linked-service delete.
В этом кратком руководстве вы создали следующие JSON-файлы:
- AzureStorageLinkedService.json
- InputDataset.json
- OutputDataset.json
- Adfv2QuickStartPipeline.json
Удалите их с помощью стандартных команд Bash.