Azure Functions를 사용하여 Azure Static Web Apps에서 API 지원
프런트 엔드 웹 애플리케이션은 종종 데이터 및 서비스에 대한 백 엔드 API를 호출합니다. Azure Static Web Apps는 Azure Functions를 통해 서버리스 API 엔드포인트를 제공합니다.
Static Web Apps의 Azure Functions API는 호스팅 계획에 따라 두 가지 가능한 구성으로 사용할 수 있습니다.
관리형 함수: 기본적으로 정적 웹앱의 API는 몇 가지 제한과 관련된 Azure Static Web Apps에서 관리 및 배포하는 Azure Functions 애플리케이션입니다.
사용자 고유의 함수 가져오기: 선택적으로 Azure Functions의 모든 기능을 포함하는 모든 계획 유형의 기존 Azure Functions 애플리케이션을 제공할 수 있습니다. 이 구성을 사용하는 경우 Functions 앱에 대한 별도의 배포를 처리해야 합니다.
다음 표에서는 관리형 함수와 기존 함수를 사용하는 경우의 차이점을 대조합니다.
기능 | 관리형 함수 | 자체 Functions 가져오기 |
---|---|---|
Azure Functions 트리거 및 바인딩에 액세스 | HTTP만 | 모두 |
지원되는 Azure Functions 런타임1 | 지원되는 언어 및 런타임을 참조 하세요. | 모두 |
지원되는 Azure Functions 호스팅 계획 | 소비 | 소비 Premium 전용 |
사용자 인증 및 역할 기반 권한 부여 데이터에 직접 액세스할 수 있는 통합 보안 | ✔ | ✔ |
사용자 지정 CORS 규칙 없이 웹앱에서 /api 경로를 안전하게 사용할 수 있도록 하는 라우팅 통합. |
✔ | ✔ |
Durable Functions 프로그래밍 모델 | ✕ | ✔ |
관리 ID | ✕ | ✔ |
Azure App Service 인증 및 권한 토큰 관리 | ✕ | ✔ |
Azure Static Web Apps 외부에서 사용할 수 있는 API 함수 | ✕ | ✔ |
Key Vault 참조 | ✕ | ✔ |
1 관리되는 함수에서 런타임 버전을 지정하려면 프런트 엔드 앱에 구성 파일을 추가하고 apiRuntime
속성을 설정합니다. 지원은 Azure Functions 언어 런타임 지원 정책의 적용을 받습니다.
Static Web Apps 대한 API 옵션에는 다음 Azure 서비스가 포함됩니다.
자세한 내용은 API 개요를 참조하세요.
구성
API 엔드포인트는 api
경로를 통해 웹앱에서 사용할 수 있습니다.
관리형 함수 | 사용자 고유 함수 가져오기 |
---|---|
/api 경로가 고정되어 있는 동안 관리형 함수 앱의 폴더 위치를 제어할 수 있습니다. 리포지토리의 .github/workflows에 있는 워크플로 YAML 파일을 편집하여 이 위치를 변경할 수 있습니다. |
/api 경로에 대한 요청은 기존 Azure Functions 앱으로 전송됩니다. |
문제 해결 및 로그
로그는 Application Insights를 추가하는 경우에만 사용할 수 있습니다.
관리형 함수 | 사용자 고유 함수 가져오기 |
---|---|
정적 웹앱에서 Application Insights를 활성화하여 로깅을 설정합니다. | Azure Functions 앱에서 Application Insights를 활성화하여 로깅을 설정합니다. |
제약 조건
Static Web Apps API 제약 조건 외에도 Azure Functions API에도 다음 제한 사항이 적용됩니다.
관리형 함수 | 사용자 고유 함수 가져오기 |
---|---|
|
|