다음을 통해 공유


Azure Functions에 대한 Web PubSub 바인딩

이 문서 집합에서는 Azure Functions에서 Azure Web PubSub 바인딩을 사용하여 Azure Web PubSub에 연결된 클라이언트에 인증하고 실시간 메시지를 보내는 방법을 설명합니다.

작업 유형
Web PubSub에서 클라이언트 이벤트 처리 트리거 바인딩
HTTP 트리거를 사용하여 Web PubSub에서 클라이언트 이벤트 처리 또는 클라이언트 액세스 URL 및 토큰 반환 입력 바인딩
서비스 API 호출 출력 바인딩

샘플

확장 설치

설치하는 확장 NuGet 패키지는 함수 앱에서 사용 중인 C# 모드에 따라 다릅니다.

Functions는 격리된 C# 작업자 프로세스에서 실행됩니다. 자세한 내용은 격리된 작업자 프로세스에서 C# Azure Functions 실행 가이드를 참조하세요.

이 NuGet 패키지를 설치하여 프로젝트에 확장을 추가합니다.

번들 설치

앱에서 이 바인딩 확장을 사용하려면 프로젝트 루트의 host.json 파일에 다음 extensionBundle 참조가 포함되어 있는지 확인합니다.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

이 예제에서 값 version[4.0.0, 5.0.0) Functions 호스트가 4.x의 모든 잠재적 버전을 포함하는 최소 4.0.0 하지만 보다 5.0.0작은 번들 버전을 사용하도록 지시합니다. 이 표기법은 v4.x 확장 번들의 사용 가능한 최신 부 버전에서 앱을 효과적으로 유지 관리합니다.

가능하면 최신 확장 번들 주 버전을 사용하고 런타임에서 최신 부 버전을 자동으로 유지하도록 허용해야 합니다. 확장 번들 릴리스 페이지에서 최신 번들의 콘텐츠를 볼 수 있습니다. 자세한 내용은 Azure Functions 확장 번들을 참조하세요.

참고 항목

Java용 Web PubSub 확장은 아직 지원되지 않습니다.

주요 개념

함수 앱으로 작업하는 Azure Web PubSub 서비스의 워크플로를 보여 주는 다이어그램

(1)-(2) 클라이언트 연결을 생성하기 위한 HttpTrigger를 사용한 WebPubSubConnection 입력 바인딩입니다.

(3)-(4) 서비스 요청을 처리하기 위한 HttpTrigger를 사용한 WebPubSubTrigger 트리거 바인딩 또는 WebPubSubContext 입력 바인딩입니다.

(5)-(6) 서비스에 작업을 요청하기 위한 WebPubSub 출력 바인딩입니다.

Connection

연결 문자열 또는 Microsoft Entra ID를 사용하여 Azure Web PubSub 서비스에 연결할 수 있습니다.

연결 문자열

기본적으로 명명 WebPubSubConnectionString 된 애플리케이션 설정은 Web PubSub 연결 문자열 저장하는 데 사용됩니다. 연결에 다른 설정 이름을 사용하도록 선택하는 경우 바인딩 정의에서 해당 이름을 키 이름으로 명시적으로 설정해야 합니다. 로컬 개발 중에 이 설정을 local.settings.json 파일Values 컬렉션에 추가해야 합니다.

중요합니다

연결 문자열에는 애플리케이션이 Azure Web PubSub 서비스에 액세스하는 데 필요한 권한 부여 정보가 포함됩니다. 연결 문자열 내의 액세스 키는 서비스의 루트 암호와 비슷합니다. 최적의 보안을 위해 함수 앱은 연결 문자열을 사용하는 대신 Web PubSub 서비스에 연결할 때 관리 ID 를 사용해야 합니다.

Web PubSub 및 Azure Functions를 함께 구성하고 사용하는 방법에 대한 자세한 내용은 자습서: Azure Functions 및 Azure Web PubSub 서비스를 사용하여 서버리스 알림 앱 만들기를 참조하세요.

ID 기반 연결

액세스 키가 있는 연결 문자열을 사용하는 대신 Azure Web PubSub Functions 확장 v1.10.0 이상을 사용하는 경우 Microsoft Entra ID를 사용하여 Azure Web PubSub에 인증하도록 함수 앱을 구성할 수 있습니다.

이 방법은 비밀을 관리할 필요가 없으며 프로덕션 워크로드에 권장됩니다.

필수 조건

함수 앱에서 사용하는 Microsoft Entra ID에 대상 Web PubSub 리소스에 적절한 Azure RBAC 역할이 부여되었는지 확인합니다.

구성 / 설정

Azure Functions의 ID 기반 연결은 공통 접두사를 공유하는 설정 집합을 사용합니다. 기본적으로 Azure Web PubSub Functions 확장은 접두사를 WebPubSubConnectionString사용하여 설정을 찾습니다. 트리거 또는 바인딩에서 속성을 설정 connection 하여 이 접두사를 사용자 지정할 수 있습니다.

Azure Web PubSub의 경우 서비스 엔드포인트 URI를 제공해야 하는 서비스별 설정입니다.

재산 환경 변수 템플릿 Description 필수
서비스 URI WebPubSubConnectionString__serviceUri Web PubSub 서비스 엔드포인트의 URI입니다. Yes

Azure Functions 서비스에서 호스트되는 경우 ID 기반 연결에 관리 ID가 사용됩니다. 시스템 할당 ID는 기본적으로 사용되지만 사용자 할당 ID를 지정할 수 있습니다. ID를 사용자 지정하는 방법에 대한 자세한 내용은 ID 기반 연결에 대한 공통 속성입니다.

로컬 개발과 같은 다른 컨텍스트에서 실행할 때 사용자 지정할 수 있지만 대신 개발자 ID가 사용됩니다. ID 기반 연결을 사용하여 로컬 개발을 참조하세요.

구성 예

다음 예제에서는 기본 설정을 사용하여 ID를 기반으로 구성하는 방법을 보여 있습니다.

{
  "WebPubSubConnectionString__serviceUri": "https://your-webpubsub.webpubsub.azure.com"
}

참고 항목

로컬, local.settings.json 또는 Key Vault에서 파일을 사용하여 ID 기반 연결에 대한 설정을 제공하는 경우 이름이 올바르게 확인되도록 설정 이름으로 바꿉 __: 니다.

예: WebPubSubConnectionString:serviceUri.

다음 단계