이 가이드에서는 새 사용자 데이터 함수 항목을 만들고 그 안에 새 함수를 작성합니다. 각 사용자 데이터 함수 항목에는 개별적으로 실행할 수 있는 하나 이상의 함수를 정의하는 코드가 포함되어 있습니다.
특히 다음 방법을 알아봅니다.
- 사용자 데이터 함수 항목을 만듭니다.
- 새 함수를 작성합니다.
- 함수를 관리합니다.
- 함수를 실행합니다.
필수 조건
- 지원되는 지역 중 하나의 Microsoft Fabric 용량입니다. Fabric 용량이 없는 경우 무료로 평가판 용량을 만들 수 있습니다.
- 해당 용량에 연결된 Fabric 작업 영역
새 Fabric 사용자 데이터 함수 항목 만들기
- 작업 영역을 선택하고 + 새 항목을 선택합니다.
- 항목 종류를 모든 항목으로 선택합니다. 사용자 데이터 함수를 검색하고 선택합니다.
새 사용자 데이터 함수 항목 만들기
작업 영역에서 + 새 항목을 선택합니다.
열리는 창에서
user data functions
를 검색한 다음 타일을 선택합니다.사용자 데이터 함수 항목의 이름을 제공합니다.
새 함수를 선택하여
hello_fabric
Python 함수 템플릿을 만듭니다. Functions 탐색기에는 게시되고 호출할 준비가 된 모든 함수가 표시됩니다.hello_fabric
함수가 게시되면 Functions 탐색기의 함수 목록에서 실행할 수 있습니다.
샘플에서 새 함수 추가
Insert sample
메뉴에서 새 함수를 추가하는 방법의 예입니다. 이 경우 라이브러리를 요구 사항으로 사용하는 pandas
이라는 함수를 추가합니다. 다음 단계에 따라 이 샘플 함수를 추가합니다.
라이브러리 관리를 선택하여 함수에 필요한 라이브러리를 추가합니다.
비고
기본적으로
fabric_user_data_functions
라이브러리가 추가되며 제거할 수 없습니다. 이 라이브러리는 사용자 데이터 함수의 기능에 필요합니다. 이 SDK의 향후 릴리스를 사용하려면 이 라이브러리의 버전을 업데이트해야 합니다.pandas 라이브러리를 선택하고 버전을 선택합니다. 라이브러리가 추가되면 사용자 데이터 함수 항목에 자동으로 저장됩니다.
샘플 삽입을 선택하고 pandas 라이브러리를 사용하여 데이터 조작을 선택합니다. 이 작업을 수행하면 다른 함수 뒤에 있는 코드 아래쪽에 샘플 코드가 삽입됩니다.
샘플이 편집기에 삽입되면 게시를 선택하여 변경 내용을 저장할 수 있습니다. 변경 내용을 게시하는 데 몇 분 정도 걸릴 수도 있습니다.
게시가 완료되면 Functions 탐색기 목록에 새 함수가 표시됩니다. 이제 이 함수를 포털에서 실행하거나 데이터 파이프라인과 같은 다른 애플리케이션 또는 Fabric 항목에서 호출할 준비가 되었습니다.
함수 실행
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.functions
SDK가 필요하며,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 탐색기에 사용 가능한 함수의 업데이트된 목록이 표시됩니다.