적용 대상:
Azure Data Factory
Azure Synapse Analytics
팁
Microsoft Fabric의 데이터 팩토리는 더 간단한 아키텍처, 기본 제공 AI 및 새로운 기능을 갖춘 차세대 Azure 데이터 팩토리입니다. 데이터 통합을 접하는 경우 Fabric Data Factory부터 시작합니다. 기존 ADF 워크로드는 Fabric 업그레이드하여 데이터 과학, 실시간 분석 및 보고 전반에 걸쳐 새로운 기능에 액세스할 수 있습니다.
- Fabric 무료 평가판을 시작합니다.
Microsoft Fabric의 Data Factory로 Azure Data Factory를 업그레이드합니다
Azure 함수 작업을 사용하면 Azure Data Factory 또는 Synapse 파이프라인에서 Azure Functions 실행할 수 있습니다. Azure 함수를 실행하려면 연결된 서비스 연결을 만들어야 합니다. 그런 다음 실행하려는 Azure 함수를 지정하는 활동과 함께 연결된 서비스를 사용할 수 있습니다.
UI를 사용하여 Azure 함수 작업 만들기
파이프라인에서 Azure 함수 작업을 사용하려면 다음 단계를 완료합니다.
파이프라인 활동 창의 Azure 함수 섹션을 확장하고 Azure 함수 작업을 파이프라인 캔버스로 끕니다.
아직 선택하지 않은 경우 캔버스에서 새 Azure 함수 작업과 해당 제팅 탭을 선택하여 세부 정보를 편집합니다.
Azure Function 활동에 대한 UI 스크린샷. Azure 함수 연결된 서비스가 아직 정의되지 않은 경우 새로 만들기를 선택하여 새 서비스를 만듭니다. 새 Azure 함수 연결된 서비스 창에서 기존 Azure 함수 앱 URL을 선택하고 함수 키를 제공합니다.
Azure 함수 연결된 서비스를 선택한 후 함수 이름 및 기타 세부 정보를 제공하여 구성을 완료합니다.
Azure 함수 연결된 서비스
Azure 함수의 반환 형식은 유효한 JObject입니다. (JArray는JObject가 아님을 염두에 두십시오.) JObject와 다른 모든 반환 유형은 실패하며, 사용자 오류인 응답 콘텐츠가 유효한 JObject가 아닙니다를 발생시킵니다.
함수 키는 각각이 함수 앱 내에서 별도의 고유 키나 마스터 키를 갖는 함수 이름에 대한 보안 액세스를 제공합니다. 관리 ID는 전체 함수 앱에 대한 보안 액세스를 제공합니다. 사용자는 함수 이름에 액세스하려면 키를 제공해야 합니다. 함수 액세스 키에 대한 자세한 내용은 함수 설명서를 참조하세요
| 속성 | 설명 | 필수 |
|---|---|---|
| 형식 | 형식 속성은 AzureFunction으로 설정되어야 합니다. | 예 |
| 함수 앱 URL | Azure 함수 앱의 URL입니다. 형식은 https://<accountname>.azurewebsites.net입니다. 이 URL은 Azure 포털에서 함수 앱을 볼 때 URL 섹션의 값입니다. |
예 |
| 함수 키 | Azure 함수에 대한 액세스 키입니다. 각 함수에 대한 관리 섹션을 선택하고 함수 키 또는 호스트 키를 복사합니다. 액세스 키 사용에서 자세한 내용을 알아보기 | 예 |
| 인증 | Azure 함수를 호출하는 데 사용되는 인증 방법입니다. 지원되는 값은 시스템 할당 관리 ID 또는 '익명'입니다. | 예 |
| 리소스 ID | Azure 함수의 앱(클라이언트) ID입니다. 해당 함수의 인증 섹션으로 전환하고 ID 공급자에서 앱(클라이언트) ID를 가져옵니다. 이 속성은 시스템 할당 관리 ID를 사용할 때 표시됩니다. 자세한 내용은 Microsoft Entra 로그인을 사용하도록 App Service 또는 Azure Functions 앱 구성 참조하세요. | 아니요* |
/* resourceId 시스템 할당 관리 ID 인증을 사용하는 경우 속성이 필요합니다.
시스템이 할당한 관리 ID 인증
다음 두 가지 방법으로 시스템 할당 SAMI(관리 ID) 인증을 사용할 수 있습니다.
리소스 ID를 .로
https://management.azure.com설정합니다. Data Factory는 시스템 할당 관리 ID를 사용하여 함수 앱에 연결하고 익명 인증을 사용하여 함수 앱을 실행합니다.익명 인증을 사용하지 않으려는 보안 환경의 경우 SPN(서비스 사용자 이름)을 리소스 ID로 구성합니다. 함수 앱에서 SPN을 올바르게 구성해야 합니다.
함수 앱에서 설정 아래의 인증 섹션으로 이동하여 ID 공급자를 만듭니다.
특정 클라이언트 애플리케이션의 허용된 요청에 ADF 애플리케이션 ID를 추가하고 특정 식별 섹션의 요청 허용 섹션에개체 ID를 추가합니다. 애플리케이션 ID 및 개체 ID는 다음 단계에 따라 찾을 수 있습니다.
Azure 포털 - 엔터프라이즈 애플리케이션으로 이동
- Azure Data Factory/관리형 ID 이름을 검색합니다.
- 테이블에 있는 개체 및 애플리케이션 ID를 복사합니다.
Azure 함수 작업
| 속성 | 설명 | 허용된 값 | 필수 |
|---|---|---|---|
| 이름 | 파이프라인의 작업 이름입니다. | 문자열 | 예 |
| 형식 | 활동의 유형은 "AzureFunctionActivity"입니다. | 문자열 | 예 |
| 연결된 서비스 | 해당 Azure Function App과 연결된 Azure Function 연결 서비스 | 연결된 서비스 참조 | 예 |
| 함수 이름 | 이 활동이 호출하는 Azure 함수 앱의 함수 이름 | 문자열 | 예 |
| 메서드 | 함수 호출에 대한 REST API 메서드입니다. | 문자열 지원 형식: ‘GET’, ‘POST’, ‘PUT’ | 예 |
| 헤더 | 요청에 전송되는 헤더입니다. 예를 들어 요청에 언어 및 형식을 설정하려면 다음과 같이 씁니다. "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } | 문자열(또는 resultType이 문자열인 식) | 아니요 |
| 본문 | 함수 API 메서드에 대한 요청과 함께 전송되는 본문 | 문자열(또는 resultType 문자열이 있는 식) 또는 개체 | PUT/POST 메서드에 필요합니다. |
요청 페이로드 스키마 섹션에서 요청 페이로드의 스키마를 참조하세요.
라우팅 및 쿼리
Azure 함수 작업은 routing 지원합니다. 예를 들어 Azure 함수에 엔드포인트 https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>가 있는 경우, Azure 함수 작업에서는 functionName을/를 <functionName>/<value>으로 사용하십시오. 런타임에 원하는 functionName을 제공하도록 이 함수를 매개 변수화할 수 있습니다.
참고
Durable Functions에 대한 functionName는 라우팅 정보를 포함하도록 JSON 정의 내 함수 바인딩의 route 속성에서 가져와야 합니다. 단순히 경로 세부 정보 없이 사용하면 functionName 함수 앱을 찾을 수 없으므로 오류가 발생합니다.
Azure 함수 작업도 queries 지원합니다. 쿼리는 functionName의 일부로 포함되어야 합니다. 예를 들어 함수 이름이 HttpTriggerCSharp이고 포함하려는 쿼리가 name=hello 경우 Azure 함수 작업에서 functionNameHttpTriggerCSharp?name=hello 생성할 수 있습니다. 이 함수는 매개 변수화하여 런타임에 값을 결정할 수 있습니다.
타임아웃 및 장기 실행 함수
Azure Functions 설정에서 구성한 functionTimeout 설정에 관계없이 230초 후에 시간 초과됩니다. 자세한 내용은 문서를 참조하십시오. 이 동작을 해결하려면 비동기 패턴을 따르거나 Durable Functions 사용합니다. Durable Functions 이점은 자체 상태 추적 메커니즘을 제공하므로 자체 상태 추적을 구현할 필요가 없다는 것입니다.
Durable Functions에 대해 이 문서에서 자세히 알아보세요. Azure 함수 작업을 설정하여 지속성 함수를 호출할 수 있습니다. 이 함수는 이 예제 같이 다른 URI를 사용하여 응답을 반환합니다.
statusQueryGetUri는 함수가 실행되는 동안 HTTP Status 202를 반환하므로 웹 작업을 사용하여 함수의 상태를 폴링할 수 있습니다.
url 필드를 @activity('<AzureFunctionActivityName>').output.statusQueryGetUri로 설정해서 웹 작업을 설정합니다. Durable 함수가 완료되면 함수의 출력은 웹 작업의 출력입니다.
예제
Azure 함수를 사용하여 tar 파일 here 콘텐츠를 추출하는 샘플을 찾을 수 있습니다.
관련 콘텐츠
파이프라인 및 작업에서 지원되는 작업에 대해 자세히 알아보세요.