Microsoft Fabric의 Data Factory에 대한 매개 변수
이 문서에서는 패브릭의 Data Factory에 대한 파이프라인에서 매개 변수를 사용하는 방법을 설명합니다.
패브릭의 Data Factory에 대한 파이프라인에서 매개 변수, 식 및 함수를 사용하는 방법
이 문서에서는 패브릭의 Data Factory 내에서 매개 변수가 있는 데이터 파이프라인을 만드는 기능을 살펴보기 위해 다양한 예제를 사용하여 기본 개념을 학습하는 데 중점을 두고 있습니다. 매개 변수화 및 동적 식은 엄청난 시간을 절약하고 훨씬 더 유연한 ETL(추출, 변환, 로드) 또는 ELT(추출, 로드, 변환) 솔루션을 허용하여 솔루션 기본테넌트의 비용을 크게 줄이고 기존 파이프라인에 새 기능을 구현하는 속도를 높일 수 있습니다. 이러한 이득은 매개 변수화가 하드 코딩의 양을 최소화하고 솔루션에서 재사용 가능한 개체 및 프로세스의 수를 증가하기 때문입니다.
매개 변수 및 식 개념
매개 변수를 사용하여 외부 값을 파이프라인에 전달할 수 있습니다. 매개 변수가 리소스에 전달되면 변경할 수 없습니다. 리소스를 매개 변수화하여 매번 다른 값으로 다시 사용할 수 있습니다. 매개 변수는 개별적으로 또는 식의 일부로 사용될 수 있습니다. 정의의 매개 변수 값은 런타임에 평가되는 리터럴 또는 식일 수 있습니다.
식은 문자열 값의 아무 곳에나 표시되고 항상 다른 문자열 값을 생성할 수 있습니다. 여기서 password는 식의 파이프라인 매개 변수입니다. 매개 변수 값이 식인 경우 식의 본문은 at-sign(@)을 제거하여 추출됩니다. @로 시작되는 리터럴 문자열이 필요한 경우 해당 문자열은 @@를 사용하여 이스케이프 처리해야 합니다. 다음 예제는 식의 작동 방식을 보여 줍니다.
매개 변수 값 | 결과 |
---|---|
"parameters" | 문자 'parameters'가 반환됩니다. |
"parameters[1]" | 'parameters[1]' 문자가 반환됩니다. |
"@@" | \'\@\'를 포함하는 1개 문자열이 반환됩니다. |
" @" | '@'가 포함된 2자 문자열이 반환됩니다. |
식이 래핑되는 문자열 보간이라는 기능을 사용하여 문자열 내부에도 식이 나타날 수 있습니다@{ ... }
. 예를 들어 다음 문자열에는 매개 변수 값과 리터럴 문자열 값이 포함됩니다.
"이름: @{pipeline().parameters.firstName} 성: @{pipeline().parameters.lastName}"
문자열 보간을 사용하면 결과는 항상 문자열입니다. 예를 들어 다음과 같이 42
myString
foo
정의 myNumber
한 경우
매개 변수 값 | 결과 |
---|---|
“@pipeline().parameters.myString” | 문자열로 반환합니다 foo . |
"@{pipeline().parameters.myString}" | 문자열로 반환합니다 foo . |
“@pipeline().parameters.myNumber” | 42 를 숫자로 반환합니다. |
"@{pipeline().parameters.myNumber}" | 42 를 문자열로 반환합니다. |
"대답: @{pipeline().parameters.myNumber}" | Answer is: 42 문자열을 반환합니다. |
“@concat(‘Answer is: ’, string(pipeline().parameters.myNumber))” | Answer is: 42 문자열을 반환합니다. |
"Answer is: @@{pipeline().parameters.myNumber}" | Answer is: @{pipeline().parameters.myNumber} 문자열을 반환합니다. |
식에서 매개 변수를 사용하는 예제
매개 변수 만들기 및 사용
매개 변수를 만들려면 파이프라인 편집기 캔버스의 배경을 선택한 다음 아래쪽에 있는 속성 창의 매개 변수 탭을 선택합니다. + 새로 만들기 단추를 선택하여 파이프라인에 새 매개 변수를 추가하고 이름, 데이터 형식 및 기본값을 지정합니다.
그런 다음 동적 콘텐츠가 지원되는 파이프라인의 아무 곳이나 매개 변수를 사용할 수 있습니다. 이 예제에서 매개 변수는 복사 작업의 속성 페이지의 원본 탭에 있는 Lakehouse 데이터 저장소의 이름을 동적으로 제공하는 데 사용됩니다.
동적 콘텐츠 추가 창이 표시되어 매개 변수, 시스템 변수, 함수 또는 파이프라인 변수를 비롯한 모든 종류의 동적 콘텐츠를 지정할 수 있습니다. 이 예제에서는 이전에 정의된 매개 변수가 선택되고 동적 콘텐츠 창이 매개 변수를 참조하는 올바른 식으로 자동으로 채워집니다.
복합 식 예제
아래 예제에서는 활동 출력의 딥 하위 필드를 참조하는 복잡한 예제를 보여 줍니다. 하위 필드로 계산되는 파이프라인 매개 변수를 참조하려면 dot(.) 연산자 대신 [] 구문을 사용합니다(subfield1 및 subfield2의 경우처럼).
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
동적 콘텐츠 편집기
동적 콘텐츠 편집기에서는 편집을 마치면 콘텐츠의 문자를 자동으로 이스케이프합니다. 예를 들어 콘텐츠 편집기에서 다음 콘텐츠는 식 함수를 사용한 문자열 보간입니다.
@{toUpper('myData')}
동적 콘텐츠 편집기는 위의 콘텐츠를 다음 식으로 변환합니다.
MYDATA
식에서 함수 및 변수 사용
함수를 호출하고 식 내에서 변수를 사용할 수 있습니다. 다음 섹션에서는 식에 사용할 수 있는 함수에 대한 정보를 제공합니다.
파이프라인 범위 변수
이러한 시스템 변수는 파이프라인 JSON의 어디에서나 참조할 수 있습니다.
변수 이름 | 설명 |
---|---|
@pipeline().DataFactory | 파이프라인 실행이 진행 중인 데이터 또는 Synapse 작업 영역의 이름 |
@pipeline().Pipeline | 파이프라인 이름입니다. |
@pipeline().RunId | 특정 파이프라인의 실행 ID |
@pipeline().TriggerId | 파이프라인을 호출한 트리거 ID |
@pipeline().TriggerName | 파이프라인을 호출한 트리거의 이름 |
@pipeline().TriggerTime | 파이프라인을 호출한 트리거 실행 시간입니다. 파이프라인 실행을 호출하기 위해 트리거 가 실제로 발생한 시간이며 트리거의 예약된 시간과 약간 다를 수 있습니다. |
@pipeline().GroupId | 파이프라인 실행이 속한 그룹의 ID입니다. |
@pipeline()?.TriggeredByPipelineName | 파이프라인 실행을 트리거하는 파이프라인의 이름입니다. 파이프라인 실행이 ExecutePipeline 활동에 의해 트리거되는 경우에 적용됩니다. 다른 상황에서 사용할 경우 Null로 평가합니다. @pipeline() 뒤에 물음표가 있습니다. |
@pipeline()?.TriggeredByPipelineRunId | 파이프라인 실행을 트리거하는 파이프라인의 실행 ID입니다. 파이프라인 실행이 ExecutePipeline 활동에 의해 트리거되는 경우에 적용됩니다. 다른 상황에서 사용할 경우 Null로 평가합니다. @pipeline() 뒤에 물음표가 있습니다. |
참고 항목
트리거 관련 날짜/시간 시스템 변수(파이프라인 및 트리거 범위 모두)는 예를 들어 2017-06-01T22:20:00.4061448Z
ISO 8601 형식으로 UTC 날짜를 반환합니다.
문자열 함수
문자열을 사용하려면 이러한 문자열 함수와 일부 컬렉션 함수를 사용할 수 있습니다. 문자열 함수는 문자열에서만 작동합니다.
string 함수 | 작업 |
---|---|
concat | 둘 이상의 문자열을 결합하고 결합된 문자열을 반환합니다. |
Endswith | 문자열이 지정된 부분 문자열로 끝나는지 확인합니다. |
guid | GUID(Globally Unique Identifier)를 문자열로 생성합니다. |
Indexof | 부분 문자열의 시작 위치를 반환합니다. |
Lastindexof | 부분 문자열의 마지막 발생에 대한 시작 위치를 반환합니다. |
replace | 부분 문자열을 지정된 문자열로 바꾸고 업데이트된 문자열을 반환합니다. |
split | 원래 문자열의 지정된 구분 기호 문자를 기반으로 더 큰 문자열에서 쉼표로 구분된 부분 문자열이 포함된 배열을 반환합니다. |
startsWith | 문자열이 특정 부분 문자열로 시작하는지 확인합니다. |
부분 | 지정된 위치에서 시작하여 문자열에서 문자를 반환합니다. |
toLower | 문자열을 소문자 형식으로 반환합니다. |
Toupper | 문자열을 대문자 형식으로 반환합니다. |
트림 | 문자열에서 선행 및 후행 공백을 제거하고 업데이트된 문자열을 반환합니다. |
컬렉션 기능
컬렉션, 일반적으로 배열, 문자열 및 경우에 따라 사전을 사용하려면 이러한 컬렉션 함수를 사용할 수 있습니다.
컬렉션 함수 | 작업 |
---|---|
contains | 컬렉션에 특정 항목이 있는지 확인합니다. |
empty | 컬렉션이 비어 있는지 확인합니다. |
first | 컬렉션에서 첫 번째 항목을 반환합니다. |
교차로 | 지정된 컬렉션에서 공통 항목만 있는 컬렉션을 반환합니다. |
join | 배열의 모든 항목이 지정된 문자로 구분된 문자열을 반환합니다. |
last | 컬렉션에서 마지막 항목을 반환합니다. |
length | 문자열 또는 배열의 항목 수를 반환합니다. |
건너뛸 | 컬렉션의 앞부분에 있는 항목을 제거하고 다른 모든 항목을 반환합니다. |
take | 컬렉션 앞부분에 있는 항목을 반환합니다. |
union | 지정한 컬렉션에서 모든 항목이 있는 컬렉션을 반환합니다. |
논리 함수
이러한 함수는 조건 내에서 유용하며 모든 유형의 논리를 평가하는 데 사용할 수 있습니다.
논리 비교 함수 | 작업 |
---|---|
and | 모든 식이 true인지 확인합니다. |
equals | 두 값이 동일한지 확인합니다. |
greater | 첫 번째 값이 두 번째 값보다 큰지 검사합니다. |
greaterOrEquals | 첫 번째 값이 두 번째 값보다 크거나 같은지 확인합니다. |
if | 식이 true인지 또는 false인지 검사합니다. 결과에 따라 지정된 값을 반환합니다. |
less | 첫 번째 값이 두 번째 값보다 작은지 확인합니다. |
lessOrEquals | 첫 번째 값이 두 번째 값보다 작거나 같은지 검사합니다. |
not | 식이 false인지 검사합니다. |
or | 하나 이상의 식이 true인지 확인합니다. |
변환 함수
이러한 함수는 언어의 각 네이티브 형식 간에 변환하는 데 사용됩니다.
- string
- 정수
- float
- 부울 값
- 배열
- dictionaries
변환 함수 | 작업 |
---|---|
array | 지정된 단일 입력에서 배열을 반환합니다. 여러 입력은 createArray를 참조 하세요. |
base64 | 문자열에 대한 base64로 인코딩된 버전을 반환합니다. |
base64ToBinary | base64로 인코딩된 문자열의 이진 버전을 반환합니다. |
base64ToString | base64로 인코딩된 문자열의 문자열 버전을 반환합니다. |
binary | 입력 값에 대한 이진 버전을 반환합니다. |
부울 | 입력 값에 대한 부울 버전을 반환합니다. |
합체 | 하나 이상의 매개 변수에서 Null이 아닌 첫 번째 값을 반환합니다. |
createArray | 여러 입력에서 배열을 반환합니다. |
dataUri | 입력 값에 대한 데이터 URI를 반환합니다. |
dataUriToBinary | 데이터 URI에 대한 이진 버전을 반환합니다. |
dataUriToString | 데이터 URI에 대한 문자열 버전을 반환합니다. |
decodeBase64 | base64로 인코딩된 문자열의 문자열 버전을 반환합니다. |
decodeDataUri | 데이터 URI에 대한 이진 버전을 반환합니다. |
decodeUriComponent | 이스케이프 문자를 디코딩된 버전으로 바꾸는 문자열을 반환합니다. |
encodeUriComponent | URL 안전하지 않은 문자를 이스케이프 문자로 대체하는 문자열을 반환합니다. |
float | 입력 값에 대해 부동 소수점 숫자를 반환합니다. |
int | 문자열에 대한 정수 버전을 반환합니다. |
Json | 문자열 또는 XML에 대한 JSON(JavaScript Object Notation) 형식 값 또는 개체를 반환합니다. |
string | 입력 값에 대한 문자열 버전을 반환합니다. |
uriComponent | URL 안전하지 않은 문자를 이스케이프 문자로 바꿔 입력 값에 대해 URI로 인코딩된 버전을 반환합니다. |
uriComponentToBinary | URI로 인코딩된 문자열에 대한 이진 버전을 반환합니다. |
uriComponentToString | URI로 인코딩된 문자열에 대한 문자열 버전을 반환합니다. |
xml | 문자열의 XML 버전을 반환합니다. |
xpath | XPath(XML 경로 언어) 식과 일치하는 노드 또는 값에 대해 XML을 확인하고 일치하는 노드 또는 값을 반환합니다. |
수식 함수
이러한 함수는 숫자 형식(정수 및 부동 소수점)에 사용할 수 있습니다.
수학 함수 | 작업 |
---|---|
add | 두 숫자를 추가하여 결과를 반환합니다. |
div | 두 숫자를 나눈 결과를 반환합니다. |
max | 숫자 집합 또는 배열에서 가장 높은 값을 반환합니다. |
min | 숫자 또는 배열 집합에서 가장 낮은 값을 반환합니다. |
모드 | 두 숫자를 나눈 나머지를 반환합니다. |
mul | 두 숫자를 곱한 제품을 반환합니다. |
rand | 지정된 범위에서 임의의 정수를 반환합니다. |
range | 지정한 정수에서 시작하는 정수 배열을 반환합니다. |
sub | 첫 번째 숫자에서 두 번째 숫자를 빼서 결과를 반환합니다. |
날짜 함수
날짜 또는 시간 함수 | 작업 |
---|---|
addDays | 타임스탬프에 일 수를 추가합니다. |
addHours | 타임스탬프에 시간을 추가합니다. |
addMinutes | 타임스탬프에 분 수를 추가합니다. |
addSeconds | 타임스탬프에 초 수를 추가합니다. |
addToTime | 타임스탬프에 여러 시간 단위를 추가합니다. getFutureTime도 참조하세요. |
convertFromUtc | 타임스탬프를 UTC(Universal Time Coordinated)에서 대상 표준 시간대로 변환합니다. |
convertTimeZone | 원본 표준 시간대에서 대상 표준 시간대로 타임스탬프를 변환합니다. |
convertToUtc | 원본 표준 시간대의 타임스탬프를 UTC(Universal Time Coordinated)로 변환합니다. |
dayOfMonth | 타임스탬프에서 월 구성 요소의 일을 반환합니다. |
Dayofweek | 타임스탬프에서 요일 구성 요소를 반환합니다. |
dayOfYear | 타임스탬프에서 연도 구성 요소의 일을 반환합니다. |
formatDateTime | 타임스탬프를 선택적 형식의 문자열로 반환합니다. |
getFutureTime | 현재 타임스탬프와 지정된 시간 단위를 반환합니다. addToTime도 참조합니다. |
getPastTime | 현재 타임스탬프에서 지정된 시간 단위를 뺀 값을 반환합니다. subtractFromTime도 참조합니다. |
startOfDay | 타임스탬프에 대한 하루의 시작을 반환합니다. |
startOfHour | 타임스탬프의 시간 시작을 반환합니다. |
startOfMonth | 타임스탬프에 대한 월의 시작을 반환합니다. |
subtractFromTime | 타임스탬프에서 여러 시간 단위를 뺍니다. getPastTime도 함께 참조하세요. |
ticks | ticks 지정된 타임스탬프의 속성 값을 반환합니다. |
utcNow | 현재 타임스탬프를 문자열로 반환합니다. |
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기