다음을 통해 공유


Fabric 사용자 데이터 함수 항목 만들기(미리 보기)

이 가이드에서는 새 사용자 데이터 함수 항목을 만들고 그 안에 새 함수를 작성합니다. 각 사용자 데이터 함수 항목에는 개별적으로 실행할 수 있는 하나 이상의 함수를 정의하는 코드가 포함되어 있습니다.

특히 다음 방법을 알아봅니다.

  • 사용자 데이터 함수 항목을 만듭니다.
  • 새 함수를 작성합니다.
  • 함수를 관리합니다.
  • 함수를 실행합니다.

필수 조건

새 Fabric 사용자 데이터 함수 항목 만들기

  1. 작업 영역을 선택하고 + 새 항목을 선택합니다.
  2. 항목 종류를 모든 항목으로 선택합니다. 사용자 데이터 함수를 검색하고 선택합니다.

새 사용자 데이터 함수 항목 만들기

  1. 작업 영역에서 + 새 항목을 선택합니다.

  2. 열리는 창에서 user data functions를 검색한 다음 타일을 선택합니다.

    새 항목 창의 사용자 데이터 함수 타일을 보여 주는 스크린샷.

  3. 사용자 데이터 함수 항목의 이름을 제공합니다.

  4. 새 함수를 선택하여 hello_fabric Python 함수 템플릿을 만듭니다. Functions 탐색기에는 게시되고 호출할 준비가 된 모든 함수가 표시됩니다.

    템플릿을 사용하여 새 함수를 만드는 방법을 보여 주는 스크린샷.

  5. hello_fabric 함수가 게시되면 Functions 탐색기의 함수 목록에서 실행할 수 있습니다.

    hello-fabric 함수에 대한 코드를 보여 주는 스크린샷.

샘플에서 새 함수 추가

Insert sample 메뉴에서 새 함수를 추가하는 방법의 예입니다. 이 경우 라이브러리를 요구 사항으로 사용하는 pandas이라는 함수를 추가합니다. 다음 단계에 따라 이 샘플 함수를 추가합니다.

  1. 라이브러리 관리를 선택하여 함수에 필요한 라이브러리를 추가합니다.

    라이브러리를 관리하는 방법을 보여 주는 스크린샷.

    비고

    기본적으로 fabric_user_data_functions 라이브러리가 추가되며 제거할 수 없습니다. 이 라이브러리는 사용자 데이터 함수의 기능에 필요합니다. 이 SDK의 향후 릴리스를 사용하려면 이 라이브러리의 버전을 업데이트해야 합니다.

  2. pandas 라이브러리를 선택하고 버전을 선택합니다. 라이브러리가 추가되면 사용자 데이터 함수 항목에 자동으로 저장됩니다.

    pandas 라이브러리를 추가하는 방법을 보여 주는 스크린샷.

  3. 샘플 삽입을 선택하고 pandas 라이브러리를 사용하여 데이터 조작을 선택합니다. 이 작업을 수행하면 다른 함수 뒤에 있는 코드 아래쪽에 샘플 코드가 삽입됩니다.

    pandas 라이브러리를 사용하는 샘플을 삽입하는 방법을 보여 주는 스크린샷.

  4. 샘플이 편집기에 삽입되면 게시를 선택하여 변경 내용을 저장할 수 있습니다. 변경 내용을 게시하는 데 몇 분 정도 걸릴 수도 있습니다.

    편집기에서 샘플의 코드 조각을 보여 주는 스크린샷.

  5. 게시가 완료되면 Functions 탐색기 목록에 새 함수가 표시됩니다. 이제 이 함수를 포털에서 실행하거나 데이터 파이프라인과 같은 다른 애플리케이션 또는 Fabric 항목에서 호출할 준비가 되었습니다.

    편집기에서 샘플의 코드 조각을 보여 주는 스크린샷.

함수 실행

  1. Functions 탐색기 목록에서 함수를 마우스로 가리키면 표시되는 실행 아이콘을 선택합니다.

    데이터 함수를 테스트하는 방법을 보여 주는 스크린샷.

  2. Functions 탐색기에서 양식으로 제공된 필수 매개 변수를 전달합니다. 여기서는 매개 변수로 JSON 문자열이 필요한 manipulate_data 함수를 실행하겠습니다.

    [
     {
      "Name": "John",
      "Age": 22,
      "Gender": "male"
     }
    ]
    
  3. 실행을 선택하여 함수를 실행합니다.

    함수가 올바르게 실행될 경우의 출력을 보여 주는 스크린샷.

  4. 라이브 로그와 출력을 보고 함수가 올바르게 실행되었는지 확인할 수 있습니다. 또는 함수 호출에서 오류 메시지와 로그가 표시됩니다.

새 함수 작성

모든 실행 가능한 함수는 함수 정의 앞에 @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()는 사용자 데이터 함수 항목 내에서 함수를 정의하는 구문입니다.

데이터 함수 관리

함수 이름 바꾸기

  1. 코드 편집기를 선택하고 함수의 이름을 업데이트합니다. 예를 들어 hello_fabrichello_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()}!"
    
  2. 이름을 변경한 후에는 게시를 선택하여 변경 내용을 저장합니다.

  3. 변경 내용이 게시되면 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 탐색기에 사용 가능한 함수의 업데이트된 목록이 표시됩니다.

다음 단계