이 가이드에서는 새 사용자 데이터 함수 항목을 만들고 그 안에 새 함수를 작성합니다. 각 사용자 데이터 함수 항목에는 개별적으로 실행할 수 있는 하나 이상의 함수를 정의하는 코드가 포함되어 있습니다.
특히 다음 방법을 알아봅니다.
- 사용자 데이터 함수 항목을 만듭니다.
- 새 함수를 작성합니다.
- 함수를 관리합니다.
- 함수를 실행합니다.
필수 조건
- 지원되는 지역 중 하나의 Microsoft Fabric 용량입니다. Fabric 용량이 없는 경우 무료로 평가판 용량을 만들 수 있습니다.
- 해당 용량에 연결된 Fabric 작업 영역
새 Fabric 사용자 데이터 함수 항목 만들기
- 작업 영역을 선택하고 + 새 항목을 선택합니다.
- 항목 종류를 모든 항목으로 선택합니다. 사용자 데이터 함수를 검색하고 선택합니다.
새 사용자 데이터 함수 항목 만들기
작업 영역에서 + 새 항목을 선택합니다.
열리는 창에서
user data functions를 검색한 다음 타일을 선택합니다.사용자 데이터 함수 항목의 이름을 제공합니다.
새 함수를 선택하여
hello_fabricPython 함수 템플릿을 만듭니다. Functions 탐색기에는 게시되고 호출할 준비가 된 모든 함수가 표시됩니다.hello_fabric함수가 게시되면 Functions 탐색기의 함수 목록에서 실행할 수 있습니다.
샘플에서 새 함수 추가
Insert sample 메뉴에서 새 함수를 추가하는 방법의 예입니다. 이 경우, 라이브러리를 요구 사항으로 사용하는 pandas이라는 함수를 추가합니다. 다음 단계에 따라 이 샘플 함수를 추가합니다.
개발 모드에 있는지 확인합니다. 라이브러리 관리를 선택하여 함수에 필요한 라이브러리를 추가합니다.
비고
기본적으로
fabric_user_data_functions라이브러리가 추가되며 제거할 수 없습니다. 이 라이브러리는 사용자 데이터 함수의 기능에 필요합니다. 이 SDK의 향후 릴리스를 사용하려면 이 라이브러리의 버전을 업데이트해야 합니다.pandas 라이브러리를 선택하고 버전을 선택합니다. 라이브러리가 추가되면 사용자 데이터 함수 항목에 자동으로 저장됩니다.
샘플 삽입을 선택하고 pandas 라이브러리를 사용하여 데이터 조작을 선택합니다. 이 작업을 수행하면 다른 함수 뒤에 있는 코드 아래쪽에 샘플 코드가 삽입됩니다.
샘플이 편집기에 삽입되면 개발 모드에서 테스트 기능을 사용하여 테스트합니다 .
준비가 되면 게시 를 선택하여 변경 내용을 저장하고 함수를 업데이트할 수 있습니다. 게시하는 데 몇 분 정도 걸릴 수 있습니다.
게시가 완료되면 Functions 탐색기 목록에 새 함수가 표시됩니다. 이제 이 함수를 포털에서 실행하거나 파이프라인과 같은 다른 애플리케이션 또는 패브릭 항목에서 호출할 준비가 되었습니다.
함수 실행
함수를 실행하려면 먼저 모드 전환기를 클릭하여 실행 전용 모드 로 전환해야 합니다.
Functions 탐색기 목록에서 함수를 마우스로 가리키면 표시되는 실행 아이콘을 선택합니다.
Functions 탐색기에서 양식으로 제공된 필수 매개 변수를 전달합니다. 여기서는 매개 변수로 JSON 문자열이 필요한
manipulate_data함수를 실행하겠습니다.[ { "Name": "John", "Age": 22, "Gender": "male" } ]실행을 선택하여 함수를 실행합니다.
라이브 로그와 출력을 보고 함수가 올바르게 실행되었는지 확인할 수 있습니다. 또는 함수 호출에서 오류 메시지와 로그가 표시됩니다.
새 함수 작성
모든 실행 가능한 함수는 함수 정의 앞에 @udf.function() 데코레이터로 시작합니다.
Python 프로그래밍 모델에 대해 자세히 알아보세요. 새 함수를 작성하려면 처음에 데코레이터 @udf.function()을 사용하여 실행 가능한 함수로 선언합니다. 예제 함수는 다음과 같습니다.
# This sample allows you to pass a credit card number as an integer and mask it, leaving the last 4 digits.
@udf.function()
def maskCreditCard(cardNumber: int)-> str:
# Convert the card number to a string
cardNumberStr = str(cardNumber)
# Check if the card number is valid
if not cardNumberStr.isdigit() or not (13 <= len(cardNumberStr) <= 19):
raise ValueError("Invalid credit card number")
# Mask all but the last four digits
maskedNumber = '*' * (len(cardNumberStr) - 4) + cardNumberStr[-4:]
return str(maskedNumber)
함수가 준비되면 함수를 게시하여 실행합니다.
프로그래밍 모델 주요 개념
사용자 데이터 함수는 사용자 데이터 함수 Python 프로그래밍 모델을 사용하여 개별 함수를 만들고, 실행하고, 디버그하고, 수정합니다. 이 라이브러리는 Fabric에서 함수를 호출하고 모든 통합을 활용하는 데 필요한 기능을 제공하는 자사 라이브러리입니다.
첫 번째 함수를 만들고 나면 코드의 첫 번째 줄에 템플릿을 실행하는 데 필요한 라이브러리가 포함된 import 문이 포함됩니다.
import datetime
import fabric.functions as fn
import logging
udf = fn.UserDataFunctions()
비고
함수를 올바르게 실행하려면 fabric.functions 라이브러리를 포함하는 import 문과 udf = fn.UserDataFunctions() 문이 포함된 줄이 필요합니다. 이러한 줄이 누락된 경우 함수가 제대로 작동하지 않습니다.
- 함수를 만들고, 실행하고, 관리하려면
fabric.functionsSDK가 필요하며,logging같은 몇 가지 다른 중요한 라이브러리를 사용하여 사용자 지정 로그를 작성할 수 있습니다. -
udf=fn.UserDataFunctions()는 사용자 데이터 함수 항목 내에서 함수를 정의하는 구문입니다.
데이터 함수 관리
함수 이름 바꾸기
개발 모드에서 코드 편집기를 선택하고 함수의 이름을 업데이트합니다. 예를 들어 이름을 다음으로
hello_fabric바꿉니다hello_fabric1.@udf.function() def hello_fabric1(name: str) -> str: logging.info('Python UDF trigger function processed a request.') return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!"이름을 변경한 후에는 게시를 선택하여 변경 내용을 저장합니다.
변경 내용이 게시되면 Functions 탐색기에서 함수의 새 이름을 볼 수 있습니다.
함수 삭제
함수를 삭제하려면 코드 편집기에서 함수 코드를 선택하고 전체 코드 섹션을 제거합니다. 변경 내용을 게시하여 사용자 데이터 함수 항목에서 함수를 완전히 삭제합니다.
예를 들어 hello_fabric 함수를 삭제하려면 다음 코드 블록을 제거합니다.
@udf.function()
def hello_fabric(name: str) -> str:
logging.info('Python UDF trigger function processed a request.')
return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!"
코드가 제거되면 게시를 선택하여 변경 내용을 저장할 수 있습니다. 게시가 완료되면 Functions 탐색기에 사용 가능한 함수의 업데이트된 목록이 표시됩니다.