Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.
В этой статье рассматриваются основные понятия и примеры, которые помогают создавать параметризованные конвейеры данных в Azure Data Factory. Параметризация и динамические выражения добавляют гибкость в Azure Data Factory (ADF) и могут сэкономить время, обеспечивая больше возможностей для гибких решений по извлечению, преобразованию и загрузке данных (ETL) или извлечению, загрузке и преобразованию данных (ELT). Эти функции снижают затраты на обслуживание решений и ускоряют реализацию новых функций в существующих конвейерах. Параметризация сводит к минимуму жесткое кодирование и увеличивает количество повторно используемых объектов и процессов в решении.
Интерфейс и параметры Azure Data Factory
Вы можете найти создание и назначение параметров в пользовательском интерфейсе Azure Data Factory для конвейеров, наборов данных и потоков данных.
В студии Azure Data Factory/c0 перейдите к Authoring Canvas и измените конвейер, набор данных или поток данных.
Выберите пустой холст, чтобы открыть параметры конвейера. Не выбирайте никакую деятельность. Возможно, потребуется извлечь панель параметров из нижней части холста, так как она может быть свернута.
Выберите вкладку "Параметры" и нажмите кнопку "+ Создать ", чтобы добавить параметры.
Можно также использовать параметры в связанных службах, выбрав "Добавить динамическое содержимое " рядом со свойством, которое требуется параметризировать.
Основные понятия параметров
Параметры можно использовать для передачи внешних значений в конвейеры, наборы данных, связанные службы и потоковые данные. Например, если у вас есть набор данных, который обращается к папкам в Azure Blob Storage, можно параметризировать путь к папке, чтобы можно было повторно использовать один набор данных для доступа к разным папкам при каждом запуске конвейера.
Параметры похожи на переменные, но они отличаются внешними и поэтому передаются в конвейеры, наборы данных, связанные службы и потоки данных, а переменные определяются и используются в конвейере. Параметры доступны только для чтения, в то время как переменные можно изменять в конвейере с помощью действия Set Variable.
Параметры можно использовать самостоятельно или как часть выражений. И значение параметра может быть литеральным значением или выражением, которое вычисляется во время выполнения.
Например:
"name": "value"
or
"name": "@pipeline().parameters.password"
Выражения с параметрами
Выражения используются для создания динамических значений в различных частях конвейера, набора данных, связанной службы или определения потока данных. Выражения всегда начинаются с знака (@), за которым следует текст выражения, заключенный в скобки. Например, следующее выражение использует функцию concat для объединения двух строк:
@concat('Hello, ', 'World!')
При ссылке на параметры в выражениях используется следующий синтаксис:
@pipeline().parameters.parameterName
or
@dataset().parameters.parameterName
Дополнительные сведения о выражениях см. в статье обзора языка выражений , но ниже приведены некоторые примеры использования параметров в выражениях.
Пример сложных выражений
В следующем примере приводится ссылка на глубокую подкатегорию выходных данных активности. Чтобы ссылаться на параметр конвейера, который оценивается как подполе, используйте синтаксис [] вместо оператора точка (.), как в случае с подполем1 и подполем2.
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
Редактор динамического содержимого
Редактор динамического содержимого автоматически экранирует символы в вашем содержимом после завершения редактирования. Например, следующее содержимое в редакторе содержимого — это интерполяция строк с двумя функциями выражений.
{
"type": "@{if(equals(1, 2), 'Blob', 'Table' )}",
"name": "@{toUpper('myData')}"
}
Редактор динамического содержимого преобразует содержимое выше в выражение "{ \n \"type\": \"@{if(equals(1, 2), 'Blob', 'Table' )}\",\n \"name\": \"@{toUpper('myData')}\"\n}". Результатом этого выражения является строка формата JSON, показанная ниже.
{
"type": "Table",
"name": "MYDATA"
}
Набор данных с параметрами
В следующем примере BlobDataset принимает параметр с именем path. Его значение задает значение для свойства folderPath с помощью выражения: dataset().path
{
"name": "BlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": "@dataset().path"
},
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"path": {
"type": "String"
}
}
}
}
Конвейер с параметрами
В следующем примере конвейер принимает параметры inputPath и outputPath.
Путь к параметризованному набору данных BLOB-объектов устанавливается с помощью значений этих параметров. Синтаксис, используемый здесь: pipeline().parameters.parametername.
{
"name": "Adfv2QuickStartPipeline",
"properties": {
"activities": [
{
"name": "CopyFromBlobToBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.inputPath"
},
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.outputPath"
},
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
}
}
],
"parameters": {
"inputPath": {
"type": "String"
},
"outputPath": {
"type": "String"
}
}
}
}
Подробные примеры для практики
Azure Data Factory конвейер копирования с параметрами
В этом руководстве по передаче параметров в конвейере копирования Azure Data Factory описывается, как передавать параметры между конвейером и активностью, а также между активностями.
Сопоставление конвейера обработки данных с параметрами
Следуйте руководству по сопоставлению данных с параметрами для получения полного примера использования параметров в потоке данных.
Конвейер на основе метаданных с параметрами
Для получения дополнительной информации об использовании параметров для проектирования конвейеров, управляемых метаданными, следуйте руководству Конвейер на основе метаданных с параметрами. Это распространенный вариант использования параметров.
Связанный контент
Список системных переменных, которые можно использовать в выражениях, см. в статье System variables supported by Azure Data Factory (Системные переменные, поддерживаемые фабрикой данных Azure).