연습-Azure 스토리지 통합
이 모듈에서는 Azure Table Storage에 엔터티 데이터를 저장하고 Azure Blob Storage에 썸네일 이미지를 저장하는 방법을 알아봅니다. 이 기능을 사용하면 ID, 이름, 썸네일 이미지 등의 데이터를 사용하여 추적된 개체를 클라우드에 저장하고 검색할 수 있습니다.
Azure Storage 이해
Azure 스토리지는 클라우드에서 다양한 시나리오와 요구 사항을 처리할 수 있는 Microsoft 스토리지 솔루션입니다. 이는 크기를 대규모로 조정할 수 있고 개발자가 쉽게 접근할 수 있습니다. 모든 서비스는 Azure Storage 계정의 우산 아래에서 사용할 수 있습니다. 이 사용 사례에서는 Table Storage와 Blob Storage를 사용합니다.
Azure 스토리지 서비스에 대해 자세히 알아보세요.
Azure Table Storage
이 서비스를 사용하면 NoSQL 방식으로 데이터를 저장할 수 있습니다. 우리 프로젝트에서는 이를 사용하여 이름, 설명, 공간 앵커 ID 등 추적된 개체에 대한 정보를 저장합니다.
데모 애플리케이션의 컨텍스트에서는 두 개의 테이블이 필요합니다. 하나는 학습된 모델의 상태에 대한 정보(이 모듈의 뒷부분에 있는 Azure Custom Vision 통합 연습에서 자세히 알아보기)와 추적된 개체에 대한 정보를 저장하는 두 번째 테이블이 포함된 프로젝트에 대한 정보를 저장하는 것입니다.
Azure Table 스토리지에 대해 자세히 알아보세요.
Azure Blob Storage
이 서비스를 사용하면 큰 이진 파일을 저장할 수 있습니다. Azure Blob Storage를 사용하여 추적된 개체에 대해 찍은 사진을 썸네일로 저장합니다.
데모 애플리케이션에는 이미지를 저장할 하나의 Blob 컨테이너가 필요합니다.
Azure Blob Storage에 대해 자세히 알아봅니다.
Azure 스토리지 준비
Azure 스토리지 서비스를 사용하려면 Azure 스토리지 계정이 필요합니다. 스토리지 계정을 만들려면 스토리지 계정 만들기를 참조하세요. 스토리지 계정에 대한 자세한 내용은 Storage 계정 개요를 참조하세요.
스토리지 계정이 있으면 Azure Portal에서 연결 문자열을 검색할 수 있습니다. 보안 + 네트워킹>액세스 키에서 찾을 수 있습니다. 이 단원의 다음 섹션에서 연결 문자열이 필요합니다.
선택적 Azure Storage Explorer
애플리케이션 내에서 UI의 모든 데이터 변경 내용을 보고 확인할 수 있지만 Azure Storage Explorer를 설치하는 것이 좋습니다. 이 도구를 사용하면 Azure Storage에서 데이터를 시각화할 수 있으며 디버깅 및 학습 시 큰 도움이 됩니다.
팁
Unity 편집기 내에서 테스트할 때 로컬 에뮬레이터를 사용할 수 있습니다.
장면 준비
[계층 구조] 창에서 DataManager 개체를 찾아서 선택합니다.
검사기 창의 DataManager(스크립트) 구성 요소에는 모든 Azure Storage 관련 설정이 포함됩니다. 모든 관련 설정이 이미 설정되어 있습니다. 커넥트ion String 필드를 Azure Portal에서 검색한 필드로 바꾸기만 하면 됩니다. 로컬 Azure Storage 에뮬레이터 솔루션을 사용하는 경우 이미 제공된 연결 문자열 유지하거나 비워 둘 수 있습니다.
DataManager(스크립트)는 Table Storage 및 Blob Storage와 통신하는 작업을 담당하며 UI 구성 요소의 다른 컨트롤러 스크립트에서 사용됩니다.
Azure Table Storage에서 데이터 쓰기 및 읽기
참고
HoloLens 2에서 진행하는 빌드 및 테스트는 필수가 아닙니다. HoloLens 디바이스가 없는 경우 HoloLens 2 에뮬레이터에서 테스트할 수 있습니다. HoloLens.com에서 디바이스를 구입할 수 있습니다.
모든 준비가 완료되면 추적된 개체를 만들 차례입니다.
HoloLens에서 애플리케이션을 연 다음 개체 설정을 선택합니다. EnterObjectName 개체가 계층 구조에서 활성화됩니다. 검색 창을 선택하고 추적된 개체를 지정하려는 이름을 입력합니다. 이름을 입력한 후 개체 설정 단추를 선택합니다. 그러면 Azure Table Storage에 추적된 개체가 만들어집니다. 개체 카드가 표시됩니다.
이 개체 카드는 추적된 개체의 UI 표현이며 이 자습서 시리즈에서 중요한 역할을 합니다.
이제 설명 텍스트 상자를 선택하고 Car에 입력한 다음 저장 단추를 선택하여 변경 내용을 저장합니다. 애플리케이션을 중지하고 다시 실행합니다.
검색 개체를 선택하고 검색 창에 추적된 개체를 만들 때 이전에 입력한 이름을 입력합니다. 모든 데이터가 포함된 개체 카드가 Azure Table Storage에서 검색된다는 것을 알 수 있습니다.
자유롭게 개체 카드를 닫고, 추적된 개체를 새로 만들어, 해당 데이터를 편집할 수 있습니다.
팁
Azure Storage Explorer를 설치한 경우 개체 테이블에서 추적된 개체를 찾을 수 있습니다.
Azure Blob Storage에서 이미지 업로드 및 다운로드
이 섹션에서는 Azure Blob Storage를 사용하여 추적된 개체의 썸네일로 사용할 이미지를 업로드하고 다운로드합니다.
참고
이 자습서에서는 애플리케이션이 사진을 찍어 Azure Blob Storage로 이미지를 업로드합니다. Unity 편집기에서 로컬로 실행하는 경우 컴퓨터에 웹캠을 연결했는지 확인합니다.
HoloLens에서 애플리케이션을 열고, 개체 설정을 선택하고, 검색 창에 자동차를 입력합니다. 개체 카드에서 카메라 단추를 선택합니다. 사진을 찍으려면 AirTap을 수행하라는 지시를 받게 됩니다. 사진을 촬영한 후에는 활성 업로드에 대해 알려주는 메시지가 표시되고, 그 후에는 자리 표시자가 이전에 있던 위치에 이미지가 표시되어야 합니다.
이제 애플리케이션을 다시 실행하고 추적된 개체를 검색합니다. 이전에 업로드한 이미지는 썸네일로 표시됩니다.
Azure Blob Storage에서 이미지 삭제
이전 섹션에서는 Azure Blob Storage로 새 이미지를 업로드했습니다. 이 섹션에서는 추적된 개체의 이미지 썸네일을 삭제합니다.
HoloLens에서 애플리케이션을 열고, 개체 설정을 선택하고, 검색 창에 자동차를 입력합니다. 썸네일 이미지가 있는 개체 카드에서 삭제 단추를 선택합니다. 썸네일 이미지가 자리 표시자 이미지로 바뀝니다.
이제 애플리케이션을 다시 실행하고 이전에 삭제된 썸네일의 추적된 개체를 검색합니다. 자리 표시자 이미지만 표시됩니다.