랩: Azure에서 서비스를 사용하여 다중 계층 솔루션 만들기
학생 랩 답변 키
Microsoft Azure 사용자 인터페이스
Microsoft 클라우드 도구의 동적 특성을 감안할 때 이 교육 콘텐츠를 개발한 후 Azure 사용자 인터페이스(UI) 변경 사항이 발생할 수 있습니다. 이러한 변경으로 인해 랩 지침 및 단계가 일치하지 않을 수 있습니다.
Microsoft 전 세계 학습 팀은 커뮤니티에서 필요한 변경 사항을 가져오는 즉시 이 교육 과정을 업데이트합니다. 그러나 클라우드 업데이트가 자주 이루어지기 때문에 이 교육 콘텐츠가 업데이트되기 전에 UI가 변경될 수 있습니다. 이 경우 변경 사항에 적응하고 필요에 따라 랩에서 작업합니다.
지침
시작하기 전에
랩 가상 머신에 로그인
다음 자격 증명을 사용하여 Windows 10 가상 머신에 로그인합니다.
-
사용자 이름: Admin
-
암호: Pa55w.rd
참고: 랩 가상 머신 로그인 지침은 강사가 제공합니다.
설치된 응용 프로그램 검토
Windows 10 바탕 화면 하단에 있는 작업 표시줄을 살펴봅니다. 작업 표시줄에는 이 랩에서 사용할 응용 프로그램에 대한 아이콘이 포함되어 있습니다.
-
마이크로소프트 에지
-
파일 탐색기
-
마이크로소프트 Azure 스토리지 탐색기
랩 파일 다운로드
-
작업 표시줄에서 Windows PowerShell 아이콘을 선택합니다.
-
PowerShell 명령 프롬프트에서 현재 작업 디렉터리를 Allfiles(F):\ 경로로 변경합니다.
cd F:
- 명령 프롬프트 내에서 다음 명령을 입력하고 Enter 키를 눌러 GitHub에서 호스트되는 microsoftlearning/AZ-203-DevelopingSolutionsforMicrosoftAzure 프로젝트를 Allfiles (F):\ 드라이브로 복제합니다.
git clone --depth 1 --no-checkout https://github.com/microsoftlearning/AZ-203-DevelopingSolutionsForMicrosoftAzure.
- 명령 프롬프트 내에서 다음 명령을 입력하고 Enter 키를 눌러 AZ-203T06 랩을 완료하는 데 필요한 랩 파일을 체크 아웃합니다.
git checkout master -- Allfiles/*
- 현재 실행 중인 Windows PowerShell 명령 프롬프트 응용 프로그램을 닫습니다.
연습 1: 포털에서 Azure 검색 서비스 만들기
작업 1: Azure Portal 열기
-
작업 표시줄에서 Microsoft Edge 아이콘을 선택합니다.
-
열린 브라우저 창에서 Azure Portal(portal.azure.com)로 이동합니다.
-
로그인 페이지에서 Microsoft 계정의 전자 메일 주소를 입력합니다.
-
다음을 선택합니다.
-
Microsoft 계정의 비밀번호를 입력합니다.
-
로그인을 선택합니다.
참고: Azure Portal에 처음 로그인하는 경우 포털 둘러보기를 제공하는 대화 상자가 표시됩니다. 둘러보기를 건너뛰고 포털 사용을 시작하려면 시작하기를 선택합니다.
작업 2: API Management 리소스 만들기
-
포털의 왼쪽 탐색 창에서 + 리소스 만들기를 선택합니다.
-
신규 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.
-
검색 필드에 API를 입력하고 Enter 를 누릅니다.
-
모든 검색 결과 블레이드에서 API 관리 결과를 선택합니다.
-
API관리 블레이드에서 만들기를 선택합니다.
-
API관리 서비스 블레이드에서 다음 작업을 수행합니다.
-
이름필드에 prodapi[소문자]를 입력합니다.
-
구독 필드를 기본값으로 설정합니다.
-
리소스 그룹 목록에서 다중 계층 서비스를 선택합니다.
-
위치 목록에서 미국 동부를 선택합니다.
-
조직 이름 필드에 Contoso를 입력합니다.
-
관리자 전자 메일 필드를 기본값으로 설정된 상태로 둡니다.
-
가격 계층 목록에서 개발자(SLA없음)를 선택합니다.
-
만들기를 선택합니다.
-
-
이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.
참고: API 관리 서비스를 만드는 데 일반적으로 20~30 분이 걸립니다.
작업 3: Azure Search 계정 만들기
-
포털의 왼쪽 네비게인션 페인에서 + 리소스 만들기를 선택합니다.
참고: 링크를 찾을 수 없는 경우 리소스 만들기 아이콘은 포털의 왼쪽에 있는 더하기 기호입니다.
-
새 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.
-
검색 필드에 텍스트 검색을 입력하고 Enter 를 누릅니다.
-
모든 검색 결과 블레이드에서 Azure 검색 결과를 선택합니다.
-
Azure 검색 블레이드에서 만들기를 선택합니다.
-
새 검색 서비스 블레이드에서 기본과 같은 블레이드 상단의 탭을 살펴봅니다.
참고: 각 탭은 새 검색 계정을 만드는 워크플로의 단계를 나타냅니다. 언제든지 검토 + 만들기를 선택하여 나머지 탭을 건너뛸 수 있습니다.
-
기본탭에서 다음 작업을 수행합니다.
-
구독 필드를 기본값으로 설정합니다.
-
리소스 그룹 섹션에서 팝업 필드에서 새 만들기를 선택하고 MultiTierService를 입력하고 확인을 선택합니다.
-
URL 필드에 prodsearch[소문자로 된 사용자 이름]의 값을 입력합니다.
-
위치 목록에서 미국 동부를 선택합니다.
-
가격 계층 링크를 선택합니다. 가격 계층 블레이드에서 기본을 선택하고 선택을 선택합니다.
-
검토 + 만들기를 선택합니다.
-
-
검토 + 만들기 탭에서 이전 단계에서 선택한 옵션을 검토합니다.
-
지정된 구성을 사용하여 검색 계정을 만들려면 만들기를 선택합니다.
-
이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.
-
검색 서비스 블레이드에서 설정 섹션에서 키 링크를 선택합니다.
-
키 섹션에서 키 중 하나를 선택하고 값을 기록합니다. 이 값은 랩의 나중에 사용합니다.
참고: 어떤 연결 문자열을 사용하든 상관없습니다. 서로 교환할 수 있습니다.
작업 4: 인덱스 만들기
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.
-
검색 서비스 블레이드에서 인덱스 추가를 선택합니다.
-
인덱스 추가 블레이드에서 다음 작업을 수행합니다.
-
인덱스 이름 필드에서 소매를 입력합니다.
-
키 목록에서 id를 선택합니다.
-
제안자 이름 필드 빈칸을 비워 둡니다.
-
검색 모드 목록을 비워 둡니다.
-
-
인덱스 추가 블레이드 내에 필드 목록이 표시됩니다. 다음 작업을 수행하여 ID필드를 구성합니다.
-
필드 이름 필드에서 id의 하드 코딩된 값을 관찰합니다.
-
유형 목록에서 Edm.String의 하드 코딩된 옵션을 준수합니다.
-
회복 가능 옵션에서 true로 하드 코딩되어 있는지 관찰합니다.
-
필터링할 수 없는 상태로 둡니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택하지 않은 상태로 둡니다.
-
검색 가능 하지 않은 상태로 둡니다.
-
+ 필드 추가를 선택합니다.
-
-
인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 이름 필드를 구성합니다.
-
+ 필드 추가를 선택합니다.
-
필드 이름 필드에 이름을 입력합니다.
-
유형 목록에서 Edm.String를 선택합니다.
-
회복 가능 을 선택합니다.
-
필터링할 수 없는 상태로 둡니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택하지 않은 상태로 둡니다.
-
검색 가능을 선택합니다.
-
분석기 목록에서 표준- Lucene을 선택합니다.
-
+ 필드 추가를 선택합니다.
-
-
인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 가격 필드를 구성합니다.
-
+ 필드 추가를 선택합니다.
-
필드 이름 필드에 가격을 입력합니다.
-
유형 목록에서 Edm.Double를 선택합니다.
-
검색 가능을 선택합니다.
-
필터링 가능을 선택합니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택합니다.
-
+ 필드 추가를 선택합니다.
-
-
인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 수량 필드를 구성합니다.
-
+ 필드 추가를 선택합니다.
-
필드 이름 필드에 수량을 입력합니다.
-
유형 목록에서 Edm.Int32를 선택합니다.
-
검색 가능을 선택합니다.
-
필터링 가능을 선택합니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택합니다.
-
+ 필드 추가를 선택합니다.
-
-
인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 제조업체 필드를 구성합니다.
-
+ 필드 추가를 선택합니다.
-
필드 이름 필드에 제조업체를 입력합니다.
-
유형목록에서 Edm.String을 선택합니다.
-
회복 가능을 선택합니다.
-
필터링 가능을 선택합니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택합니다.
-
검색 가능하지 않은 상태로 둡니다.
-
-
인덱스 추가 블레이드 내에서 만들기를 선택합니다.
검토
이 연습에서는 새 Azure Search 계정을 만들고 계정 내에 인덱스를 작성했습니다.
연습 2: Azure Search에서 Azure Storage 테이블 인덱싱
작업 1: Azure 저장소 계정 만들기
-
포털의 왼쪽 네비게이션 페인에서 + 리소스 만들기를 선택합니다.
-
신규 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.
-
검색 필드에 스토리지를 입력하고 Enter 키를 누릅니다.
-
모든 검색 결과 블레이드에서 저장소 계정 결과를 선택합니다.
-
저장소 계정 블레이드에서 만들기를 선택합니다.
-
저장소 계정 만들기 블레이드에서 블레이드 상단의 탭을 관찰합니다.
참고: 각 탭은 새 저장소 계정을 만드는 워크플로의 단계를 나타냅니다. 언제든지 검토 + 만들기를 선택하여 나머지 탭을 건너뛸 수 있습니다.
-
기본 탭에서 다음 작업을 수행합니다.
-
구독 필드를 기본값으로 설정합니다.
-
리소스 그룹 목록에서 다중 계층 서비스를 선택합니다.
-
저장소 계정 이름 필드에 prodstorage[소문자]를 입력합니다.
-
위치 목록에서 (미국) 미국 동부를 선택합니다.
-
성능 섹션에서 표준을 선택합니다.
-
계정 종류 목록에서 StorageV2(일반용 v2)를 선택합니다.
-
복제 목록에서 **읽기 액세스 지리적 중복 저장소(RA-GRS) **를 선택합니다.
-
액세스 계층 섹션에서 핫이 선택되어 있는지 확인합니다.
-
검토 + 만들기를 선택합니다.
-
-
검토 + 만들기 탭에서 이전 단계에서 입력한 옵션을 검토합니다.
-
지정된 구성을 사용하여 저장소 계정을 만들려면 만들기를 선택합니다.
-
이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodstorage* 스토리지 계정을 선택합니다.
-
저장 계정 블레이드에서 블레이드 왼쪽에 있는 설정 섹션에서 액세스 키 링크를 선택합니다.
-
Access 키 블레이드에서 키 중 하나를 선택하고 연결 문자열 필드 중 하나의 값을 기록합니다. 이 랩의 나중에 이 값을 사용합니다.
참고: 어떤 연결 문자열을 선택하든 상관없습니다. 서로 교환할 수 있습니다.
작업 2: Azure 저장소에 테이블 엔터티 업로드
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodstorage* 스토리지 계정을 선택합니다.
-
저장소 계정 블레이드에서 블레이드 왼쪽에 테이블 서비스 섹션에서 테이블 링크를 선택합니다.
-
테이블 섹션에서 +테이블을 선택합니다.
-
테이블 추가 창에서 다음 작업을 수행합니다.
-
표 이름 필드에 제품을 입력합니다.
-
확인을 선택합니다.
-
-
테이블 섹션의 블레이드 왼쪽에 있는 개요 링크를 선택합니다.
참고: 블레이드 왼쪽의 메뉴를 위 또는 아래로 스크롤해야 할 수 있습니다.
-
개요 섹션으로 돌아가서 탐색기에서 열기를 선택합니다.
-
Azure 저장소 탐색기 창에서 Azure저장소 탐색기 열기 링크를 선택합니다.
참고: 포털을 사용하여 Azure Storage 탐색기를 처음 여는 경우 포털에서 나중에 이러한 유형의 링크를 열 수 있도록 허용하라는 메시지가 표시될 수 있습니다. 프롬프트를 수락해야 합니다.
-
표시되는 Azure 저장소 탐색기 응용 프로그램에서 이전에 랩에서 만든 prodstorage* Storage 계정을 찾아 확장합니다.
-
Prodstorage* 저장소 계정 내에서 테이블 노드를 찾아 확장합니다.
-
테이블 노드 내에서 이전에 랩에서 만든 제품 테이블을 선택합니다.
-
제품 테이블 탭에서 가져오기를 선택합니다.
-
열리는 파일 탐색기 대화 박스에서 다음 작업을 수행합니다.
-
Allfiles (F):\Allfiles\Labs\06\Starter로 이동합니다.
-
products.csv 파일을 선택합니다.
-
열기를 선택합니다.
-
-
표시되는 수입 엔터티에서 삽입을 선택합니다.
-
이 랩을 계속하기 전에 테이블 엔터티가 업로드될 때까지 기다립니다.
-
제품 테이블에 추가된 5개의 엔터티를 확인합니다.
-
Azure 포털을 보여 주면 브라우저 창으로 돌아갑니다.
작업 3: Azure 검색 인덱서 만들기
-
포털의 왼쪽 네비게이션 창에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이전에 랩에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.
-
검색 서비스 블레이드에서 수입 데이터를 선택합니다.
-
수입 데이터 블레이드에서 블레이드 상단의 탭을 관찰합니다.
-
데이터 연결 탭에서 다음 작업을 수행합니다.
-
데이터 원본 목록에서 Azure 테이블 저장소를 선택합니다.
-
이름 필드에 테이블 데이터 원본을 입력합니다.
-
연결 문자열 필드에서 기존 연결 선택을 선택합니다. 저장소 선택 계정 창에서 이전에 랩에서 만든prodstorage*저장소 계정을 선택합니다.
-
테이블 이름 필드에서 제품을 입력합니다.
-
쿼리 필드를 비워 둡니다.
-
설명 필드를 비워 둡니다.
-
다음을 선택합니다. 인지 검색 추가(선택 사항).
참고: Azure Search 는 각 단계에서 설정의 유효성을 검사합니다. 유효성 검사가 완료되고 목록의 다음 탭으로 이동하기까지 몇 분이 걸릴 수 있습니다.
-
-
인식 검색 추가(선택 사항) 탭에서 다음으로 건너뛰기:를 선택합니다. 대상 인덱스 사용자 지정.
-
대상 인덱스 사용자 탭에서 다음 작업을 수행합니다.
-
인덱스 이름 필드에 제품을 입력합니다.
-
키 목록에서 로우 키를 선택합니다.
-
-
대상 인덱스 사용자탭에서 필드 목록이 표시됩니다. PartitionKey,RowKey, ETag 및 타임스탬프 필드의 구성을 기본값으로 설정합니다.
-
대상 인덱스 사용자 탭에서 다음 작업을 수행하여 키 필드를 구성합니다.
-
필드 이름 필드에서 Key의 하드 코딩된 값을 관찰합니다.
-
유형 목록에서 Edm.String 의 하드 코딩된 옵션을 준수합니다.
-
조회 가능을 선택합니다.
-
필터링 가능을 선택 취소합니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택하지 않은 상태로 둡니다.
-
검색 가능 하지 않은 상태로 둡니다.
-
-
대상 인덱스 사용자 탭에서 다음 작업을 수행하여 이름 필드를 구성합니다.
-
필드 이름 필드에서 이름의 하드 코딩된 값을 관찰합니다.
-
유형 목록에서 Edm.String의 하드 코딩된 옵션을 준수합니다.
-
회복 가능을 선택합니다.
-
필터링 가능을 선택 취소합니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택하지 않은 상태로 둡니다.
-
검색 가능을 선택합니다.
-
분석기 목록에서 표준- Lucene을 선택합니다.
-
-
대상 인덱스 사용자 탭에서 다음 작업을 수행하여 가격 필드를 구성합니다.
-
필드 이름 필드에서 가격의 하드 코딩된 값을 관찰합니다.
-
유형 목록에서 Edm.Double 의 하드 코딩된 옵션을 준수합니다.
-
검색 가능을 선택합니다.
-
필터링 가능을 선택합니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택합니다.
-
-
대상 인덱스 사용자 탭에서 다음 작업을 수행하여 수량 필드를 구성합니다.
-
필드 이름 필드에서 수량의 하드 코딩된 값을 관찰합니다.
-
유형 목록에서 Edm.Int32의 하드 코딩된 옵션을 준수합니다.
-
검색 가능을 선택합니다.
-
필터링 가능을 선택합니다.
-
정렬 가능을 선택합니다.
-
페이스 테이블을 선택합니다.
-
-
대상인덱스 사용자 지정 탭에서 다음을 선택합니다. 인덱스 만들기.
참고: Azure Search 는 각 단계에서 설정의 유효성을 검사합니다. 유효성 검사가 완료되고 목록의 다음 탭으로 이동하기까지 몇 분이 걸릴 수 있습니다.
-
인덱서 만들기 탭에서 다음 작업을 수행합니다.
-
이름 필드에 테이블 인덱서를 입력합니다.
-
일정 섹션에서 사용자 습관을 선택합니다.
-
간격 필드에 5를 입력합니다.
-
시작 시간 필드를 오늘 날짜의 자정 UTC로 설정합니다.
-
삭제 추적 필드를 기본값으로 설정합니다.
-
설명 필드를 비워 둡니다.
-
전송을 선택합니다.
참고: 제출 단추를 표시하려면 삭제 추적 필드와 한 번/사용자 지정 옵션을 선택한 다음 선택 취소해야 할 수 있습니다. 이 동작은 포털 버그 때문입니다.
-
-
검색 서비스 블레이드에서 인덱서 탭을 선택합니다.
참고: 아직 인덱서가 표시되지 않는다면 블레이드를 새로 고쳐야 할 수 있습니다.
-
인덱서 탭에서 이전에 랩에서 만든 tableindexer 인덱서를 선택합니다.
-
인덱서 블레이드에서 다음 작업을 수행합니다.
-
실행을 선택합니다.
-
확인 메시지가 표시되면 예를 선택합니다.
-
인덱서 블레이드를 닫습니다.
-
-
인덱서가 실행이 완료될 때까지 기다린 다음 블레이드 상단에서 새로 고침을 선택합니다.
참고: 인덱서가 실행되는 데 1~5분 정도 걸릴 수 있습니다. 상태가 검색 서비스 블레이드에서 성공으로 나열된 경우 인덱서가 성공했다는 것을 알 수있습니다.
-
인덱서 탭에서 문서 수 및 마지막 인덱싱 작업의 상태와 같은 tableindexer 인덱서의 메타데이터를 확인합니다.
작업 4: 인덱싱된 테이블 데이터의 유효성 검사
-
검색 서비스 블레이드 상단에서 검색 탐색기를 선택합니다.
-
검색 탐색기 블레이드에서 검색을 선택합니다.
-
모든 문서를 검색한 결과를 관찰합니다.
-
쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.
search=seat
-
검색 쿼리의 결과를 관찰합니다.
-
쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.
$filter=price lt 100
-
검색 쿼리의 결과를 관찰합니다.
-
쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.
facet=quantity,interval:25
-
검색 쿼리의 결과를 관찰합니다.
-
쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.
$filter=quantity gt 25&facet=price,values:100|1000|10000
-
검색 쿼리의 결과를 관찰합니다.
-
검색 탐색기 블레이드를 닫습니다.
작업 5: Azure 검색 기본 URL 검색
-
포털의 왼쪽 네비게이션 창에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이전에 랩에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.
-
검색 서비스 블레이드에서 URL 필드의 값을 복사합니다. 이 랩의 나중에 이 값을 사용합니다.
검토
이 연습에서는 Azure Storage 계정을 만들고 Azure Search 를 사용하여 계정 내의 저장소 테이블을 인덱싱했습니다. 테이블을 인덱싱한 후 Storage 테이블의 엔터티 복사본에 대해 검색 쿼리를 발급할 수 있었습니다.
연습 3: Azure API 관리를 사용하여 API 프록시 계층 빌드
작업 1: 새 API 정의
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodapi* API Management 계정을 선택합니다.
-
API 관리 서비스 블레이드에서 블레이드 왼쪽에 API 관리 섹션에서 API를 선택합니다.
-
새 API 추가 섹션에서 빈칸 API를 선택합니다.
-
빈칸 API 만들기 창에서 다음 작업을 수행합니다.
-
표시 이름 필드에 API 찾기를 입력합니다.
-
이름 필드에 search-api를 입력합니다.
-
웹 서비스 URL 필드에 이전에 랩에서 복사한 검색 서비스 URL 필드의 URL을 입력합니다.
-
웹 서비스 URL 필드의 값을 다음 상대 URL로 보겠습니다.
-
/indexes/products/docs
> **참고**: 예를 들어 웹 서비스 URL이 https://prodsearchstudent.search.windows.net인 경우 새 URL은 https://prodsearchstudent.search.windows.net/indexes/products/docs가 됩니다.
-
API URL 접미사 필드에 검색을 입력합니다.
-
제품 필드에서 시작 및 무제한을 모두 선택합니다.
-
만들기.를 선택합니다
-
새 API가 생성될 때까지 기다립니다.
-
디자인 탭에서 + 작업 추가를 선택합니다.
-
작업 추가 섹션에서 다음 작업을 수행합니다.
-
이름 표시 필드에 모든 문서 목록을 입력합니다.
-
이름 필드에 모든 문서 목록을 입력합니다.
-
URL 목록에서 GET를 선택합니다.
-
URL 필드에 /입력합니다.
-
저장을 선택합니다.
-
-
디자인 탭에서 작업 목록에서 모든 작업을 선택합니다.
-
모든 작업에 대한 디자인 섹션에서 인바운드 처리 타일을 찾고 정책 추가를 선택합니다.
-
인바운드 정책 추가 섹션에서 헤더 설정타일을 선택합니다.
-
인바운드 처리에서 헤더 설정섹션에서 다음 작업을 수행합니다.
-
이름 필드에 API 키를 입력합니다.
-
값 필드에서 목록을 선택하고 + 값 추가를 선택하고 이전에 랩에서 기록한 검색 서비스 키에 값을 입력합니다.
-
작업 목록에서 재정의 옵션을 선택합니다.
-
저장을 선택합니다.
-
-
디자인 탭에서 작업 목록에서 모든 작업을 선택합니다.
-
모든 작업에 대한 디자인 섹션에서 인바운드 처리 타일을 찾고 정책 추가를 선택합니다.
-
인바운드 정책 추가 섹션에서 쿼리 매개 변수 타일 설정을 선택합니다.
-
인바운드 처리에서 쿼리 매개 변수 설정 섹션에서 다음 작업을 수행합니다.
-
이름 필드에 api버전을 입력합니다.
-
값 필드에 2017-11-11을 입력합니다.
-
작업 목록에서 재정을 선택합니다.
-
저장을 선택합니다.
-
-
디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.
-
모든 문서 목록 작업의 디자인 섹션에서 인바운드 처리 타일을 찾고 + 정책 추가 단추를 선택합니다.
-
인바운드 정책 추가 섹션에서 쿼리 매개 변수 타일 설정을 선택합니다.
-
인바운드 처리에서 쿼리 매개 변수 설정 섹션에서 다음 작업을 수행합니다.
-
이름 필드에 검색을 입력합니다.
-
값 필드에 *를 입력합니다.
-
작업 목록에서 개정을 선택합니다.
-
저장을 선택합니다.
-
-
디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.
-
테스트 탭을 선택합니다.
-
모든 문서 목록 작업을 선택합니다.
-
모든 문서 목록 섹션에서 보내기를 선택합니다.
-
API 요청의 결과를 관찰합니다.
참고: 응답에 많은 양의 Azure Search 메타데이터가 있는 방법을 관찰합니다. API 사용자가 무대 뒤에서 발생하는 구현 세부 정보를 알지 않도록 할 수 있습니다. 다음 작업에서는 이 데이터의 대부분을 난독 처리합니다.
-
작업 목록으로 돌아가려면 디자인 탭을 선택합니다.
작업 2: API 응답 조작
-
디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.
-
모든 문서 목록 작업의 디자인 섹션에서 아웃바운드 처리 타일을 찾아 + 정책 추가를 선택합니다.
-
아웃바운드 정책 추가 섹션에서 기타 정책타일을 선택합니다.
-
정책 코드 편집기에서 XML 콘텐츠의 다음 블록을 찾습니다.
<outbound>
<base />
</outbound>
- XML의 해당 블록을 다음 XML로 바꿉니다.
<outbound>
<base />
<set-body>
@{
var response = context.Response.Body.As<JObject>();
return response.Property("value").Value.ToString();
}
</set-body>
</outbound>
-
정책 코드 편집기에서 저장을 선택합니다.
-
디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.
-
모든 문서 목록 작업의 디자인 섹션에서 아웃바운드 처리 타일을 찾아 + 정책 추가를 선택합니다.
-
아웃바운드 정책 추가 섹션에서 헤더 설정타일을 선택합니다.
-
아웃바운드 처리에서 헤더 설정 섹션에서 다음 작업을 수행합니다.
-
이름 필드에 기본 설정 적용을 입력합니다.
-
작업 목록에서 삭젝을 선택합니다.
-
+ 헤더 추가를 선택합니다.
-
새 이름 필드에 odata 버전을 입력합니다.
-
새 작업 목록에서 삭제를 선택합니다.
-
+헤더 추가를 선택합니다.
-
새 이름 필드에 powered-by를 입력합니다.
-
새 값 필드에서 목록을 선택하고 + 값 추가 링크를 선택한다음 Contoso를 입력합니다.
-
새 작업 목록에서 재정를 선택합니다.
-
저장을 선택합니다.
-
-
디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.
-
테스트 탭을 선택합니다.
-
모든 문서 목록 작업을 선택합니다.
-
모든 문서 목록 섹션에서 보내기를 선택합니다.
-
API 요청의 결과를 관찰합니다.
참고: 지정한 기본 설정 적용 및 odata 버전 헤더가 삭제되고 새 전원이 지정된 헤더로 대체된 것을 관찰할 수 있습니다. 또한 응답에는 OData 응답에 대한 컨텍스트 데이터가 포함되지 않고 대신 평판이 난 JSON 배열을 응답 본문으로 포함합니다.
검토
이 연습에서는 Azure Search 계정과 검색 쿼리를 만들려는 개발자 간에 프록시 계층을 구축했습니다.
연습 4: Azure Logic Apps를 사용하여 새 테이블 엔터티 만들기
작업 1: Logic Apps 리소스 만들기
-
포털의 왼쪽 네비게이션 페인에서 + 리소스 만들기를 선택합니다.
-
신규 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.
-
검색 필드에서 논리를 입력하고 Enter 키를 누릅니다.
-
모든 검색 결과 블레이드에서 로직 어플 결과를 선택합니다.
-
로직 어플 블레이드에서 만들기를 선택합니다.
-
로직 어플 블레이드에서 다음 작업을 수행합니다.
-
이름 필드에 prodworkflow[소문자]를 입력합니다.
-
구독 필드를 기본값으로 설정합니다.
-
리소스 그룹 섹션에서 기존 사용을 선택하고 목록에서 MultiTierService옵션을 선택합니다.
-
위치 목록에서 미국 동부를 선택합니다.
-
로그 분석 섹션에서Off을 선택합니다.
-
만들기를 선택합니다.
-
-
이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.
작업 2: 로직 어플 워크플로우에 대한 트리거 만들기
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodworkflow* 논리 앱을 선택합니다.
-
로직 어플 디자이너 블레이드에서 빈칸 로직 어플 템플릿을 선택합니다.
-
디자이너 영역에서 다음 작업을 수행하여 HTTP 트리거를 추가합니다.
-
검색 커넥터 및 트리거 필드에서 HTTP를 입력합니다.
-
트리거 결과 목록에서 HTTP요청이 수신된 경우를 선택합니다.
-
샘플 페이로드 사용을 선택하여스키마를 생성를 선택합니다.
-
샘플 JSON 페이로드 창을 입력하거나 붙여넣기다음에 JSON 개체를 입력합니다.
-
{
"id": "",
"manufacturer": "",
"price": 0.00,
"quantity": 0,
"name": ""
}
-
완료를 선택합니다.
-
요청 본문 JSON 스키마 필드에서 스키마를 관찰합니다. 이 스키마는 이전 단계에서 입력한 JSON 콘텐츠를 기반으로 Azure 에서 자동으로 빌드됩니다.
작업 3: Azure 저장소용 커넥터 구축
-
디자이너 영역에서 +새 단계를 선택합니다.
-
디자이너 영역에서 다음 작업을 수행하여 엔터티 삽입 또는바꾸기 작업을 추가합니다.
-
검색 커넥터 및 트리거 필드에서 표를 입력합니다.
-
범주 목록에서 Azure 테이블 저장소를 선택합니다.
-
작업 결과 목록에서 엔터티 삽입 또는 바꾸기를 선택합니다.
-
연결 이름 필드에 테이블 연결을 입력합니다.
-
저장소 계정 섹션에서 이잔에 랩에서 만든 prodstorage* 저장소 계정을 선택합니다.
-
만들기를 선택합니다.
-
커넥터 리소스가 작성이 완료될 때까지 기다립니다.
참고: 이러한 리소스를 만드는 데 1~5분 정도 걸릴 수 있습니다.
-
-
테이블 목록에서 제품을 선택합니다.
-
파티션 키 필드의 오른쪽에 있는 동적 콘텐츠페인에서 HTTP 요청이 수신된 범주 내에서 제조업체를 선택합니다.
-
로 키 필드의 오른쪽에 있는 동적 콘텐츠 페인에서 HTTP 요청이 수신된 범주 내에서 ID를 선택합니다.
-
엔터티 필드의 오른쪽에 있는 동적 콘텐츠 페인에서 HTTP 요청이 수신된 범주 내에서 Body를 선택합니다.
작업 4: HTTP 응답 작업 빌드
-
디자이너 영역에서 +새 단계를 선택합니다.
-
디자이너 영역에서 다음 작업을 수행하여 응답 작업을 추가합니다.
-
검색 커넥터 및 트리거 필드에서 응답을 입력합니다.
-
작업 결과 목록에서 응답을 선택합니다.
-
상태 코드 필드에 201을 입력합니다.
-
Body 필드의 오른쪽에 있는 동적 콘텐츠 페인에서 엔터티 바꾸기 삽입 범주 내에서 Body를 선택합니다.
-
작업 5: HTTP 트리거 POST URL 검색
-
대상 영역에서 최대를 선택합니다.
-
워크플로를 저장한 후 HTTP 요청이 수신될 때 트리거의 HTTP POST URL 필드가 이워크플로를 시작해야 하는 새URL로 업데이트됩니다. HTTP POST URL 필드의 URL을 복사합니다. 이 랩의 나중에 이 URL을 사용합니다.
참고: SAS 토큰이 있는 URL을 포함하기 때문에 매우 긴 URL입니다. 전체 URL 을 복사해야 합니다.
작업 6: 로직 어플 결과가 인덱싱되어 있는지 확인
-
포털 상단에서 클라우드 셸 아이콘을 선택하여 새 셸 인스턴스를 엽니다.
참고: Cloud Shell 아이콘은 기호보다 큰 기호 및 밑줄 문자로 표시됩니다.
-
구독을 사용하여 클라우드 셸을 처음 여는 경우 처음 사용할 수 있도록클라우드 셸 어떻게 구성을 Azure클라우드 셸에 환영함으로 표시합니다. 다음 작업을 수행하십시오.
-
Bash 또는PowerShell 중에서 선택할 수 있는 경우 배쉬를 선택합니다.
-
대화 박스는 셸을 사용하여 시작할 새 저장소 계정을 만들라는 메시지를 표시합니다. 기본 설정을 수락하고 저장소 만들기를 선택합니다.
-
랩을진행하기 전에 Cloud Shell이 처음 설치 절차를 완료할 때까지 기다립니다.
참고: Cloud Shell의 구성 옵션이 나타나지 않는 경우 이 과정의 랩에서 기존 구독을 사용하고 있기 때문일 수 있습니다. 랩은 새 구독을 사용하는 관점에서 작성됩니다.
-
-
포털 하단에 Cloud Shell 명령 프롬프트에서 다음 부분 CURL 명령을 입력하여 로직 어플 인스턴스에 HTTP POST 요청을 실행하고 Enter 를 누릅니다.
curl \
--header "Content-Type: application/json" \
--data '{"id":"6","manufacturer":"VEHTOP","price":750,"quantity":6,"name":"car roof rack"}' \
-
그런 다음 이전에 랩에서 복사한 논리 앱의 HTTP POST URL을 입력하여 URL 문자가 이스케이프되지 않도록 따옴표 내에 URL을 배치합니다. Enter 키를 눌러 수식 작성을 완료합니다.
참고: 예를 들어 URL이 https://prod.eastus.logic.azure.com:443/workflows/test/triggers/invoke?api-version=2016\&sig=3인 경우 “https://prod.eastus.logic.azure.com:443/workflows/test/triggers/manual?invoke?api-version=2016\&sig=3”을 입력합니다. 따옴표를 포함하지 않으면 SAS 토큰이 잘렸으며 요청을 실행해야 한다는 오류 메시지가 표시됩니다. 이 문제는따옴표로 묶이지 않으면 쿼리 문자열 &,가 잘리기 때문에 발생합니다.
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.
-
검색 서비스 블레이드에서 인덱서 탭을 선택합니다.
-
인덱서 탭에서 이전에 랩에서 만든 테이블 인덱서 인덱서를 선택합니다.
-
인덱서 블레이드에서 다음 작업을 수행합니다.
-
실행을 선택합니다.
-
확인 메시지가 표시되면 예를 선택합니다.
-
인덱서 블레이드를 닫습니다.
-
-
인덱서가 실행이 완료될 때까지 기다린 다음블레이드 상단에서 새로 고침을 선택합니다.
-
검색 서비스 블레이드에서 검색 탐색기를 선택합니다.
-
검색탐색기 블레이드에서 검색을 선택합니다.
-
모든 문서를 검색한 결과를 관찰합니다.
참고: 이 시점에서 로직 어플에 의해 삽입된 새 문서를 나타내는 인덱스의 여섯 번째 문서를 확인할 수 있습니다.
-
포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.
-
리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.
-
MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodapi* API Management 계정을 선택합니다.
-
API 관리 서비스 블레이드에서 블레이드 왼쪽에 API 관리 섹션에서 API를 선택합니다.
-
API 섹션에서 검색 API를 선택합니다.
-
디자인 탭에서 테스트 탭을 선택합니다.
-
모든 문서 목록 작업을 선택합니다.
-
모든 문서 목록 섹션에서 보내기를 선택합니다.
-
API 요청의 결과를 관찰합니다.
참고: 이제 5개가 아닌 6개의 문서가 있는 것을 볼 수 있습니다.
검토
이 연습에서는 HTTP 요청을 받아 JSON 요청의 JSON 본문을 새 Azure Storage 테이블 엔터티로 유지 하는 로직 어플을 만들었습니다.
연습 5: 구독 정리
작업 1: Cloud Shell 열기
-
포털 상단에서 Cloud Shell 아이콘을 선택하여 새 셸 인스턴스를 엽니다.
-
포털 하단에서 Cloud Shell 명령 프롬프트에서 다음 명령을 입력하고 Enter 를 눌러 구독의 모든 리소스 그룹을 나열합니다.
az group list
- 다음 명령을 입력하고 Enter 키를 눌러 리소스 그룹을 삭제하는 데 사용할 수 있는 명령 목록을 봅니다.
az group delete --help
작업 2: 리소스 그룹 삭제
- 다음 명령을 입력하고 Enter 를 눌러 MultiTierService 리소스 그룹을 삭제합니다.
az group delete --name MultiTierService --no-wait --yes
- 포털 하단의 Cloud Shell 창을 닫습니다.
작업 3: 활성 애플리케이션 닫기
-
현재 실행 중인 Microsoft Edge 응용 프로그램을 닫습니다.
-
현재 실행 중인 Microsoft Azure 저장소 탐색기 응용 프로그램을 닫습니다.
검토
이 연습에서는 이 랩에 사용된 리소스 그룹을 제거하여 구독을 정리했습니다.