Azure Data Factory의 Azure 함수 작업

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

Azure Function 작업을 사용하면 Azure Data Factory 또는 Synapse 파이프라인에서 Azure Functions를 실행할 수 있습니다. Azure Function을 실행하려면 링크된 서비스 연결을 만들어야 합니다. 그런 다음, 실행하려는 Azure Function을 지정하는 작업과 함께 링크된 서비스를 사용할 수 있습니다.

UI를 사용하여 Azure Function 작업 만들기

파이프라인에서 Azure Function 작업을 사용하려면 다음 단계를 완료합니다.

  1. 파이프라인 작업 창의 Azure Function 섹션을 확장하고 Azure Function 작업을 파이프라인 캔버스로 끌어 옵니다.

  2. 아직 선택되지 않은 경우 캔버스에서 새 Azure Function 작업과 해당 설정 탭을 선택하여 세부 정보를 편집합니다.

    Shows the UI for an Azure Function activity.

  3. 아직 Azure Function 링크된 서비스를 정의하지 않았으면 새로 만들기를 선택하여 새 항목을 만듭니다. 새 Azure Function 링크된 서비스 창에서 기존 Azure Function 앱 URL을 선택하고 함수 키를 제공합니다.

    Shows the new Azure Function linked service creation pane.

  4. Azure Function 링크된 서비스를 선택한 후 함수 이름 및 기타 세부 정보를 제공하여 구성을 완료합니다.

Azure 함수의 연결된 서비스

Azure 함수의 반환 형식은 유효한 JObject형식이어야 합니다. (유의하세요.JArrayJObject.) 실패하고 사용자 오류를 발생시키지 않는 JObject 반환 형식 응답 콘텐츠가 유효한 JObject가 아닙니다.

함수 키는 각각 함수 앱 내에서 별도의 고유 키 또는 마스터 키를 갖는 함수 이름에 대한 보안 액세스를 제공합니다. 관리 ID는 전체 함수 앱에 대한 보안 액세스를 제공합니다. 사용자는 함수 이름에 액세스하기 위한 키를 제공해야 합니다. 함수 액세스 키에 대한 자세한 내용은 함수 설명서를 참조하세요

속성 설명 필수
Type type 속성은 AzureFunction으로 설정해야 합니다.
함수 앱 URL Azure 함수 앱의 URL입니다. 형식은 https://<accountname>.azurewebsites.net입니다. 이 URL은 Azure Portal에서 함수 앱을 볼 때 URL 섹션의 값입니다.
함수 키 Azure Function에 대한 액세스 키입니다. 해당 함수에 대한 관리 섹션을 클릭하고 함수 키 또는 호스트 키를 복사합니다. 자세한 내용은 다음 을 참조하세요. Azure Functions HTTP 트리거 및 바인딩
인증 Azure Function을 호출하는 데 사용되는 인증 방법입니다. 지원되는 값은 '시스템이 할당한 관리 ID' 또는 '익명'입니다.
리소스 ID Azure Function의 앱(클라이언트) ID입니다. 해당 함수에 대한 인증 섹션으로 전환하고 ID 공급자에서 앱(클라이언트) ID를 가져옵니다. 시스템 할당 관리 ID를 사용하는 경우 이 속성이 표시됩니다. 자세한 내용은 Microsoft Entra 로그인을 사용하도록 App Service 또는 Azure Functions 앱 구성을 참조하세요. 아니요

참고 항목

익명 인증을 사용하는 경우 Azure Function 쪽에서 ID를 삭제해야 합니다.

Azure 함수 작업

속성 설명 허용된 값 Required
이름 파이프라인의 활동 이름 문자열
Type 작업의 형식은 'AzureFunctionActivity'입니다. 문자열
연결된 서비스 해당 Azure Function 앱에 대한 Azure Function 연결된 서비스 연결된 서비스 참조
함수 이름 Azure 함수 앱에서 이 작업이 호출하는 함수의 이름입니다. 문자열
메서드 함수 호출에 대한 REST API 메서드 문자열 지원 형식: "GET", "POST", "PUT"
헤더 요청으로 전송되는 헤더입니다. 예를 들어 요청에 언어 및 형식을 설정하려면 다음을 수행합니다. "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } 문자열(또는 resultType이 문자열인 식) 아니요
본문 요청과 함께 함수 API 메서드로 전송되는 본문입니다. 문자열(또는 resultType이 문자열인 식) 또는 개체입니다. PUT/POST 메서드에 필요

요청 페이로드 스키마 섹션에서 요청 페이로드 의 스키마 를 참조하세요.

라우팅 및 쿼리

Azure 함수 작업은 라우팅을 지원합니다. 예를 들어, Azure Function에 엔드포인트 https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>가 있는 경우, Azure Function 작업에 사용할 functionName<functionName>/<value>입니다. 이 함수를 매개 변수화하여 런타임에 원하는 functionName 기능을 제공할 수 있습니다.

참고 항목

해당 라우팅 정보를 포함하려면 Durable Functions의 functionName은 JSON 정의에서 함수 바인딩에 대한 경로 속성에서 가져와야 합니다. 경로 세부 정보를 포함하지 않고 functionName만 사용하면 함수 앱을 찾을 수 없기 때문에 오류가 발생합니다.

Azure Function Activity는 쿼리도 지원 합니다. 쿼리는 functionName의 일부로 포함되어야 합니다. 예를 들어, 함수 이름이 HttpTriggerCSharp고 포함할 쿼리가 name=hello면 Azure 함수 작업에서 functionNameHttpTriggerCSharp?name=hello로 구성할 수 있습니다. 이 함수는 매개 변수화하여 런타임에 값을 결정할 수 있습니다.

타임아웃 및 장기 실행 함수

Azure Functions는 설정에서 구성한 설정에 functionTimeout 관계없이 230초 후에 시간 초과됩니다. 자세한 내용은 문서를 참조하십시오. 이 동작을 해결하려면 비동기 패턴을 따르거나 Durable Functions를 사용합니다. Durable Functions의 이점은 자체 상태 추적 메커니즘을 제공하기 때문에 사용자 고유의 상태 추적을 구현할 필요가 없다는 것입니다.

이 문서에서 지속성 함수에 대해 자세히 알아봅니다. Azure 함수 작업을 설정하여 Durable Function을 호출할 수 있습니다. 이 함수는 이 예제와 같이 다른 URI를 사용하는 응답을 반환합니다. statusQueryGetUri는 함수가 실행되는 동안 HTTP Status 202를 반환하므로 웹 작업을 사용하여 함수의 상태를 폴링할 수 있습니다. url 필드를 @activity('<AzureFunctionActivityName>').output.statusQueryGetUri로 설정해서 웹 작업을 설정합니다. Durable Function이 완료되면 함수의 출력이 웹 작업의 출력이 됩니다.

샘플

Azure 함수를 사용하여 tar 파일의 콘텐츠를 추출하는 샘플은 여기에서 찾을 수 있습니다.

파이프라인 및 작업에서 지원되는 작업에 대해 자세히 알아보세요.