Visual Studio에서 Azure Stream Analytics에 대한 사용자 지정 .NET 역직렬 변환기(미리 보기)
Important
Azure Stream Analytics에 대한 사용자 지정 .net 역직렬 변환기는 2024년 9월 30일에 사용 중지됩니다. 해당 날짜 이후에는 이 기능을 사용할 수 없습니다. 해당 날짜까지 JSON, AVRO 또는 CSV 기본 제공 역직렬 변환기로 전환하세요.
Azure Stream Analytics는 JSON, CSV 및 Avro의 세 가지 데이터 형식을 기본적으로 지원합니다. 사용자 지정 .NET 역직렬 변환기를 사용하면 클라우드 및 에지 작업에 대해 프로토콜 버퍼, 본드 및 기타 사용자 정의 형식과 같은 다른 형식에서도 데이터를 읽을 수 있습니다.
이 자습서에서는 Visual Studio를 사용하여 Azure Stream Analytics 클라우드 작업에 대한 사용자 지정 .NET 역직렬 변환기를 만드는 방법을 보여 줍니다. Visual Studio Code에서 .NET 역직렬 변환기를 만드는 방법을 알아보려면 Visual Studio Code에서 Azure Stream Analytics 작업에 대한 .NET 역직렬 변환기 만들기를 참조하세요.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
- 프로토콜 버퍼에 대한 사용자 지정 역직렬 변환기를 만듭니다.
- Visual Studio에서 Azure Stream Analytics 작업을 만듭니다.
- 사용자 지정 역직렬 변환기를 사용하도록 Stream Analytics 작업을 구성합니다.
- Stream Analytics 작업을 로컬로 실행하여 사용자 지정 역직렬 변환기를 테스트하고 디버깅합니다.
필수 조건
Azure 구독이 없는 경우 무료 계정을 만드세요.
Visual Studio 2019(권장) 또는 Visual Studio 2017을 설치합니다. Enterprise(Ultimate/Premium), Professional 및 Community Edition이 지원됩니다. Express Edition은 지원되지 않습니다.
Stream Analytics Tools for Visual Studio를 설치하거나 최신 버전으로 업데이트합니다.
Visual Studio에서 클라우드 탐색기를 열고 Azure 구독에 로그인합니다.
Azure Storage 계정에 컨테이너를 만듭니다. 만든 컨테이너는 Stream Analytics 작업과 관련된 자산을 저장하는 데 사용됩니다. 기존 컨테이너가 있는 스토리지 계정이 이미 있는 경우 사용할 수 있습니다. 그렇지 않은 경우 새 컨테이너를 만들어야 합니다.
사용자 지정 역직렬 변환기 만들기
Visual Studio를 열고 파일 > 새로 만들기 > 프로젝트를 선택합니다. Stream Analytics를 검색하고 Azure Stream Analytics 사용자 지정 역직렬 변환기 프로젝트(.NET)를 선택합니다. 프로젝트 이름을 지정합니다(예: Protobuf Deserializer).
솔루션 탐색기 Protobuf 역직렬 변환기 프로젝트를 마우스 오른쪽 단추로 클릭하고 메뉴에서 NuGet 패키지 관리를 선택합니다. 그런 다음, Microsoft.Azure.StreamAnalytics 및 Google.Protobuf NuGet 패키지를 설치합니다.
MessageBodyProto 클래스 및 MessageBodyDeserializer 클래스를 프로젝트에 추가합니다.
Protobuf 역직렬 변환기 프로젝트를 빌드합니다.
Azure Stream Analytics 프로젝트 추가
솔루션 탐색기에서 Protobuf Deserializer 솔루션을 마우스 오른쪽 단추로 클릭하고 추가 > 새 프로젝트를 선택합니다. Azure Stream Analytics > Stream Analytics에서 Azure Stream Analytics 애플리케이션을 선택합니다. 이름을 ProtobufCloudDeserializer로 지정하고 확인을 선택합니다.
ProtobufCloudDeserializer Azure Stream Analytics 프로젝트에서 참조 를 마우스 오른쪽 단추로 클릭합니다. 프로젝트에서 Protobuf Deserializer를 추가합니다. 자동으로 채워집니다.
Stream Analytics 작업 구성
JobConfig.json을 두 번 클릭합니다. 다음 설정 외에는 기본 구성을 사용합니다.
설정 제안 값 글로벌 스토리지 설정 리소스 현재 계정에서 데이터 원본 선택 글로벌 스토리지 설정 구독 < 사용자 구독 > 글로벌 스토리지 설정 스토리지 계정 < 스토리지 계정 > 사용자 지정 코드 스토리지 설정 리소스 현재 계정에서 데이터 원본 선택 사용자 지정 코드 스토리지 설정 스토리지 계정 < 스토리지 계정 > 사용자 지정 코드 스토리지 설정 컨테이너 < 사용자 스토리지 컨테이너 > 입력에서 Input.json을 두 번 클릭합니다. 다음 설정 외에는 기본 구성을 사용합니다.
설정 제안 값 원본 Blob Storage 리소스 현재 계정에서 데이터 원본 선택 구독 < 사용자 구독 > 스토리지 계정 < 스토리지 계정 > 컨테이너 < 사용자 스토리지 컨테이너 > 이벤트 serialization 형식 기타(Protobuf, XML, 소유...) 리소스 ASA 프로젝트 참조 또는 CodeBehind에서 로드 CSharp 어셈블리 이름 ProtobufDeserializer.dll 클래스 이름 MessageBodyProto.MessageBodyDeserializer 이벤트 압축 유형 없음 Script.asaql 파일에 다음 쿼리를 추가합니다.
SELECT * FROM Input
샘플 protobuf 입력 파일를 다운로드합니다. 입력 폴더에서 Input.json 마우스 오른쪽 단추로 클릭하고 로컬 입력 추가를 선택합니다. 그런 다음 local_Input.json 두 번 클릭하고 다음 설정을 구성합니다.
설정 제안 값 입력 별칭 입력 확보 경로 유형 데이터 스트림 이벤트 serialization 형식 기타(Protobuf, XML, 소유...) CSharp 어셈블리 이름 ProtobufDeserializer.dll 클래스 이름 MessageBodyProto.MessageBodyDeserializer 로컬 입력 파일 경로 < 다운로드한 샘플 protobuf 입력 파일의 파일 경로>
Stream Analytics 작업 실행
Script.asaql을 열고 로컬로 실행을 선택합니다.
Stream Analytics 로컬 실행 결과에서 결과를 관찰합니다.
Stream Analytics 작업에 대한 사용자 지정 역직렬 변환기를 성공적으로 구현했습니다. 이 자습서에서는 사용자 지정 역직렬 변환기를 로컬로 테스트했습니다. 실제 데이터의 경우 입력 및 출력을 적절히 구성합니다. 그런 다음 Visual Studio에서 Azure에 작업을 제출하여 방금 구현한 사용자 지정 역직렬 변환기를 사용하여 클라우드에서 작업을 실행합니다.
역직렬 변환기 디버그
표준 .NET 코드를 디버그하는 것과 같은 방식으로 .NET 역직렬 변환기를 로컬로 디버그할 수 있습니다.
ProtobufCloudDeserializer 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정합니다.
함수에 중단점을 추가합니다.
F5 키를 눌러 디버깅을 시작합니다. 프로그램이 중단점에서 정상적으로 중지됩니다.
리소스 정리
더 이상 필요하지 않으면 리소스 그룹, 스트리밍 작업 및 모든 관련 리소스를 삭제합니다. 작업을 삭제하면 작업에서 사용된 스트리밍 단위에 대한 청구를 방지합니다. 작업을 나중에 사용하려는 경우 중지하고 나중에 필요할 때 다시 시작할 수 있습니다. 이 작업을 계속 사용하지 않려면 다음 단계를 사용하여 이 자습서에서 만든 모든 리소스를 삭제합니다.
Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택한 다음, 만든 리소스의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택하고 텍스트 상자에서 삭제할 리소스의 이름을 입력한 다음, 삭제를 선택합니다.
다음 단계
이 자습서에서는 프로토콜 버퍼 입력 직렬화에 대한 사용자 지정 .NET 역직렬 변환기를 구현하는 방법을 배웠습니다. 사용자 지정 역직렬 변환기를 만드는 방법을 자세히 알아보려면 다음 문서를 참조하세요.