랩: Azure에서 서비스를 사용하여 다중 계층 솔루션 만들기

학생 랩 답변 키

Microsoft Azure 사용자 인터페이스

Microsoft 클라우드 도구의 동적 특성을 감안할 때 이 교육 콘텐츠를 개발한 후 Azure 사용자 인터페이스(UI) 변경 사항이 발생할 수 있습니다. 이러한 변경으로 인해 랩 지침 및 단계가 일치하지 않을 수 있습니다.

Microsoft 전 세계 학습 팀은 커뮤니티에서 필요한 변경 사항을 가져오는 즉시 이 교육 과정을 업데이트합니다. 그러나 클라우드 업데이트가 자주 이루어지기 때문에 이 교육 콘텐츠가 업데이트되기 전에 UI가 변경될 수 있습니다. 이 경우 변경 사항에 적응하고 필요에 따라 랩에서 작업합니다.

지침

시작하기 전에

랩 가상 머신에 로그인

다음 자격 증명을 사용하여 Windows 10 가상 머신에 로그인합니다.

  • 사용자 이름: Admin

  • 암호: Pa55w.rd

참고: 랩 가상 머신 로그인 지침은 강사가 제공합니다.

설치된 응용 프로그램 검토

Windows 10 바탕 화면 하단에 있는 작업 표시줄을 살펴봅니다. 작업 표시줄에는 이 랩에서 사용할 응용 프로그램에 대한 아이콘이 포함되어 있습니다.

  • 마이크로소프트 에지

  • 파일 탐색기

  • 마이크로소프트 Azure 스토리지 탐색기

랩 파일 다운로드

  1. 작업 표시줄에서 Windows PowerShell 아이콘을 선택합니다.

  2. PowerShell 명령 프롬프트에서 현재 작업 디렉터리를 Allfiles(F):\ 경로로 변경합니다.

    cd F:
  1. 명령 프롬프트 내에서 다음 명령을 입력하고 Enter 키를 눌러 GitHub에서 호스트되는 microsoftlearning/AZ-203-DevelopingSolutionsforMicrosoftAzure 프로젝트를 Allfiles (F):\ 드라이브로 복제합니다.
    git clone --depth 1 --no-checkout https://github.com/microsoftlearning/AZ-203-DevelopingSolutionsForMicrosoftAzure.
  1. 명령 프롬프트 내에서 다음 명령을 입력하고 Enter 키를 눌러 AZ-203T06 랩을 완료하는 데 필요한 랩 파일을 체크 아웃합니다.
    git checkout master -- Allfiles/*
  1. 현재 실행 중인 Windows PowerShell 명령 프롬프트 응용 프로그램을 닫습니다.

연습 1: 포털에서 Azure 검색 서비스 만들기

작업 1: Azure Portal 열기

  1. 작업 표시줄에서 Microsoft Edge 아이콘을 선택합니다.

  2. 열린 브라우저 창에서 Azure Portal(portal.azure.com)로 이동합니다.

  3. 로그인 페이지에서 Microsoft 계정의 전자 메일 주소를 입력합니다.

  4. 다음을 선택합니다.

  5. Microsoft 계정의 비밀번호를 입력합니다.

  6. 로그인을 선택합니다.

    참고: Azure Portal에 처음 로그인하는 경우 포털 둘러보기를 제공하는 대화 상자가 표시됩니다. 둘러보기를 건너뛰고 포털 사용을 시작하려면 시작하기를 선택합니다.

작업 2: API Management 리소스 만들기

  1. 포털의 왼쪽 탐색 창에서 + 리소스 만들기를 선택합니다.

  2. 신규 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.

  3. 검색 필드에 API를 입력하고 Enter 를 누릅니다.

  4. 모든 검색 결과 블레이드에서 API 관리 결과를 선택합니다.

  5. API관리 블레이드에서 만들기를 선택합니다.

  6. API관리 서비스 블레이드에서 다음 작업을 수행합니다.

    1. 이름필드에 prodapi[소문자]를 입력합니다.

    2. 구독 필드를 기본값으로 설정합니다.

    3. 리소스 그룹 목록에서 다중 계층 서비스를 선택합니다.

    4. 위치 목록에서 미국 동부를 선택합니다.

    5. 조직 이름 필드에 Contoso를 입력합니다.

    6. 관리자 전자 메일 필드를 기본값으로 설정된 상태로 둡니다.

    7. 가격 계층 목록에서 개발자(SLA없음)를 선택합니다.

    8. 만들기를 선택합니다.

  7. 이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.

    참고: API 관리 서비스를 만드는 데 일반적으로 20~30 분이 걸립니다.

작업 3: Azure Search 계정 만들기

  1. 포털의 왼쪽 네비게인션 페인에서 + 리소스 만들기를 선택합니다.

    참고: 링크를 찾을 수 없는 경우 리소스 만들기 아이콘은 포털의 왼쪽에 있는 더하기 기호입니다.

  2. 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.

  3. 검색 필드에 텍스트 검색을 입력하고 Enter 를 누릅니다.

  4. 모든 검색 결과 블레이드에서 Azure 검색 결과를 선택합니다.

  5. Azure 검색 블레이드에서 만들기를 선택합니다.

  6. 새 검색 서비스 블레이드에서 기본과 같은 블레이드 상단의 탭을 살펴봅니다.

    참고: 각 탭은 새 검색 계정을 만드는 워크플로의 단계를 나타냅니다. 언제든지 검토 + 만들기를 선택하여 나머지 탭을 건너뛸 수 있습니다.

  7. 기본탭에서 다음 작업을 수행합니다.

    1. 구독 필드를 기본값으로 설정합니다.

    2. 리소스 그룹 섹션에서 팝업 필드에서 새 만들기를 선택하고 MultiTierService를 입력하고 확인을 선택합니다.

    3. URL 필드에 prodsearch[소문자로 된 사용자 이름]의 값을 입력합니다.

    4. 위치 목록에서 미국 동부를 선택합니다.

    5. 가격 계층 링크를 선택합니다. 가격 계층 블레이드에서 기본을 선택하고 선택을 선택합니다.

    6. 검토 + 만들기를 선택합니다.

  8. 검토 + 만들기 탭에서 이전 단계에서 선택한 옵션을 검토합니다.

  9. 지정된 구성을 사용하여 검색 계정을 만들려면 만들기를 선택합니다.

  10. 이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.

  11. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  12. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  13. MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.

  14. 검색 서비스 블레이드에서 설정 섹션에서 링크를 선택합니다.

  15. 섹션에서 키 중 하나를 선택하고 값을 기록합니다. 이 값은 랩의 나중에 사용합니다.

    참고: 어떤 연결 문자열을 사용하든 상관없습니다. 서로 교환할 수 있습니다.

작업 4: 인덱스 만들기

  1. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  2. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  3. MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.

  4. 검색 서비스 블레이드에서 인덱스 추가를 선택합니다.

  5. 인덱스 추가 블레이드에서 다음 작업을 수행합니다.

    1. 인덱스 이름 필드에서 소매를 입력합니다.

    2. 목록에서 id를 선택합니다.

    3. 제안자 이름 필드 빈칸을 비워 둡니다.

    4. 검색 모드 목록을 비워 둡니다.

  6. 인덱스 추가 블레이드 내에 필드 목록이 표시됩니다. 다음 작업을 수행하여 ID필드를 구성합니다.

    1. 필드 이름 필드에서 id의 하드 코딩된 값을 관찰합니다.

    2. 유형 목록에서 Edm.String의 하드 코딩된 옵션을 준수합니다.

    3. 회복 가능 옵션에서 true로 하드 코딩되어 있는지 관찰합니다.

    4. 필터링할 수 없는 상태로 둡니다.

    5. 정렬 가능을 선택합니다.

    6. 페이스 테이블을 선택하지 않은 상태로 둡니다.

    7. 검색 가능 하지 않은 상태로 둡니다.

    8. + 필드 추가를 선택합니다.

  7. 인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 이름 필드를 구성합니다.

    1. + 필드 추가를 선택합니다.

    2. 필드 이름 필드에 이름을 입력합니다.

    3. 유형 목록에서 Edm.String를 선택합니다.

    4. 회복 가능 을 선택합니다.

    5. 필터링할 수 없는 상태로 둡니다.

    6. 정렬 가능을 선택합니다.

    7. 페이스 테이블을 선택하지 않은 상태로 둡니다.

    8. 검색 가능을 선택합니다.

    9. 분석기 목록에서 표준- Lucene을 선택합니다.

    10. + 필드 추가를 선택합니다.

  8. 인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 가격 필드를 구성합니다.

    1. + 필드 추가를 선택합니다.

    2. 필드 이름 필드에 가격을 입력합니다.

    3. 유형 목록에서 Edm.Double를 선택합니다.

    4. 검색 가능을 선택합니다.

    5. 필터링 가능을 선택합니다.

    6. 정렬 가능을 선택합니다.

    7. 페이스 테이블을 선택합니다.

    8. + 필드 추가를 선택합니다.

  9. 인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 수량 필드를 구성합니다.

    1. + 필드 추가를 선택합니다.

    2. 필드 이름 필드에 수량을 입력합니다.

    3. 유형 목록에서 Edm.Int32를 선택합니다.

    4. 검색 가능을 선택합니다.

    5. 필터링 가능을 선택합니다.

    6. 정렬 가능을 선택합니다.

    7. 페이스 테이블을 선택합니다.

    8. + 필드 추가를 선택합니다.

  10. 인덱스 추가 블레이드 내에서 다음 작업을 수행하여 새 제조업체 필드를 구성합니다.

    1. + 필드 추가를 선택합니다.

    2. 필드 이름 필드에 제조업체를 입력합니다.

    3. 유형목록에서 Edm.String을 선택합니다.

    4. 회복 가능을 선택합니다.

    5. 필터링 가능을 선택합니다.

    6. 정렬 가능을 선택합니다.

    7. 페이스 테이블을 선택합니다.

    8. 검색 가능하지 않은 상태로 둡니다.

  11. 인덱스 추가 블레이드 내에서 만들기를 선택합니다.

검토

이 연습에서는 새 Azure Search 계정을 만들고 계정 내에 인덱스를 작성했습니다.

연습 2: Azure Search에서 Azure Storage 테이블 인덱싱

작업 1: Azure 저장소 계정 만들기

  1. 포털의 왼쪽 네비게이션 페인에서 + 리소스 만들기를 선택합니다.

  2. 신규 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.

  3. 검색 필드에 스토리지를 입력하고 Enter 키를 누릅니다.

  4. 모든 검색 결과 블레이드에서 저장소 계정 결과를 선택합니다.

  5. 저장소 계정 블레이드에서 만들기를 선택합니다.

  6. 저장소 계정 만들기 블레이드에서 블레이드 상단의 탭을 관찰합니다.

    참고: 각 탭은 새 저장소 계정을 만드는 워크플로의 단계를 나타냅니다. 언제든지 검토 + 만들기를 선택하여 나머지 탭을 건너뛸 수 있습니다.

  7. 기본 탭에서 다음 작업을 수행합니다.

    1. 구독 필드를 기본값으로 설정합니다.

    2. 리소스 그룹 목록에서 다중 계층 서비스를 선택합니다.

    3. 저장소 계정 이름 필드에 prodstorage[소문자]를 입력합니다.

    4. 위치 목록에서 (미국) 미국 동부를 선택합니다.

    5. 성능 섹션에서 표준을 선택합니다.

    6. 계정 종류 목록에서 StorageV2(일반용 v2)를 선택합니다.

    7. 복제 목록에서 **읽기 액세스 지리적 중복 저장소(RA-GRS) **를 선택합니다.

    8. 액세스 계층 섹션에서 이 선택되어 있는지 확인합니다.

    9. 검토 + 만들기를 선택합니다.

  8. 검토 + 만들기 탭에서 이전 단계에서 입력한 옵션을 검토합니다.

  9. 지정된 구성을 사용하여 저장소 계정을 만들려면 만들기를 선택합니다.

  10. 이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.

  11. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  12. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  13. MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodstorage* 스토리지 계정을 선택합니다.

  14. 저장 계정 블레이드에서 블레이드 왼쪽에 있는 설정 섹션에서 액세스 키 링크를 선택합니다.

  15. Access 키 블레이드에서 키 중 하나를 선택하고 연결 문자열 필드 중 하나의 값을 기록합니다. 이 랩의 나중에 이 값을 사용합니다.

    참고: 어떤 연결 문자열을 선택하든 상관없습니다. 서로 교환할 수 있습니다.

작업 2: Azure 저장소에 테이블 엔터티 업로드

  1. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  2. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  3. MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodstorage* 스토리지 계정을 선택합니다.

  4. 저장소 계정 블레이드에서 블레이드 왼쪽에 테이블 서비스 섹션에서 테이블 링크를 선택합니다.

  5. 테이블 섹션에서 +테이블을 선택합니다.

  6. 테이블 추가 창에서 다음 작업을 수행합니다.

    1. 이름 필드에 제품을 입력합니다.

    2. 확인을 선택합니다.

  7. 테이블 섹션의 블레이드 왼쪽에 있는 개요 링크를 선택합니다.

    참고: 블레이드 왼쪽의 메뉴를 위 또는 아래로 스크롤해야 할 수 있습니다.

  8. 개요 섹션으로 돌아가서 탐색기에서 열기를 선택합니다.

  9. Azure 저장소 탐색기 창에서 Azure저장소 탐색기 열기 링크를 선택합니다.

    참고: 포털을 사용하여 Azure Storage 탐색기를 처음 여는 경우 포털에서 나중에 이러한 유형의 링크를 열 수 있도록 허용하라는 메시지가 표시될 수 있습니다. 프롬프트를 수락해야 합니다.

  10. 표시되는 Azure 저장소 탐색기 응용 프로그램에서 이전에 랩에서 만든 prodstorage* Storage 계정을 찾아 확장합니다.

  11. Prodstorage* 저장소 계정 내에서 테이블 노드를 찾아 확장합니다.

  12. 테이블 노드 내에서 이전에 랩에서 만든 제품 테이블을 선택합니다.

  13. 제품 테이블 탭에서 가져오기를 선택합니다.

  14. 열리는 파일 탐색기 대화 박스에서 다음 작업을 수행합니다.

    1. Allfiles (F):\Allfiles\Labs\06\Starter로 이동합니다.

    2. products.csv 파일을 선택합니다.

    3. 열기를 선택합니다.

  15. 표시되는 수입 엔터티에서 삽입을 선택합니다.

  16. 이 랩을 계속하기 전에 테이블 엔터티가 업로드될 때까지 기다립니다.

  17. 제품 테이블에 추가된 5개의 엔터티를 확인합니다.

  18. Azure 포털을 보여 주면 브라우저 창으로 돌아갑니다.

작업 3: Azure 검색 인덱서 만들기

  1. 포털의 왼쪽 네비게이션 창에서 리소스 그룹을 선택합니다.

  2. 리소스 그룹 블레이드에서 이전에 랩에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  3. MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.

  4. 검색 서비스 블레이드에서 수입 데이터를 선택합니다.

  5. 수입 데이터 블레이드에서 블레이드 상단의 탭을 관찰합니다.

  6. 데이터 연결 탭에서 다음 작업을 수행합니다.

    1. 데이터 원본 목록에서 Azure 테이블 저장소를 선택합니다.

    2. 이름 필드에 테이블 데이터 원본을 입력합니다.

    3. 연결 문자열 필드에서 기존 연결 선택을 선택합니다. 저장소 선택 계정 창에서 이전에 랩에서 만든prodstorage*저장소 계정을 선택합니다.

    4. 테이블 이름 필드에서 제품을 입력합니다.

    5. 쿼리 필드를 비워 둡니다.

    6. 설명 필드를 비워 둡니다.

    7. 다음을 선택합니다. 인지 검색 추가(선택 사항).

      참고: Azure Search 는 각 단계에서 설정의 유효성을 검사합니다. 유효성 검사가 완료되고 목록의 다음 탭으로 이동하기까지 몇 분이 걸릴 수 있습니다.

  7. 인식 검색 추가(선택 사항) 탭에서 다음으로 건너뛰기:를 선택합니다. 대상 인덱스 사용자 지정.

  8. 대상 인덱스 사용자 탭에서 다음 작업을 수행합니다.

    1. 인덱스 이름 필드에 제품을 입력합니다.

    2. 목록에서 로우 키를 선택합니다.

  9. 대상 인덱스 사용자탭에서 필드 목록이 표시됩니다. PartitionKey,RowKey, ETag타임스탬프 필드의 구성을 기본값으로 설정합니다.

  10. 대상 인덱스 사용자 탭에서 다음 작업을 수행하여 필드를 구성합니다.

    1. 필드 이름 필드에서 Key의 하드 코딩된 값을 관찰합니다.

    2. 유형 목록에서 Edm.String 의 하드 코딩된 옵션을 준수합니다.

    3. 조회 가능을 선택합니다.

    4. 필터링 가능을 선택 취소합니다.

    5. 정렬 가능을 선택합니다.

    6. 페이스 테이블을 선택하지 않은 상태로 둡니다.

    7. 검색 가능 하지 않은 상태로 둡니다.

  11. 대상 인덱스 사용자 탭에서 다음 작업을 수행하여 이름 필드를 구성합니다.

    1. 필드 이름 필드에서 이름의 하드 코딩된 값을 관찰합니다.

    2. 유형 목록에서 Edm.String의 하드 코딩된 옵션을 준수합니다.

    3. 회복 가능을 선택합니다.

    4. 필터링 가능을 선택 취소합니다.

    5. 정렬 가능을 선택합니다.

    6. 페이스 테이블을 선택하지 않은 상태로 둡니다.

    7. 검색 가능을 선택합니다.

    8. 분석기 목록에서 표준- Lucene을 선택합니다.

  12. 대상 인덱스 사용자 탭에서 다음 작업을 수행하여 가격 필드를 구성합니다.

    1. 필드 이름 필드에서 가격의 하드 코딩된 값을 관찰합니다.

    2. 유형 목록에서 Edm.Double 의 하드 코딩된 옵션을 준수합니다.

    3. 검색 가능을 선택합니다.

    4. 필터링 가능을 선택합니다.

    5. 정렬 가능을 선택합니다.

    6. 페이스 테이블을 선택합니다.

  13. 대상 인덱스 사용자 탭에서 다음 작업을 수행하여 수량 필드를 구성합니다.

    1. 필드 이름 필드에서 수량의 하드 코딩된 값을 관찰합니다.

    2. 유형 목록에서 Edm.Int32의 하드 코딩된 옵션을 준수합니다.

    3. 검색 가능을 선택합니다.

    4. 필터링 가능을 선택합니다.

    5. 정렬 가능을 선택합니다.

    6. 페이스 테이블을 선택합니다.

  14. 대상인덱스 사용자 지정 탭에서 다음을 선택합니다. 인덱스 만들기.

    참고: Azure Search 는 각 단계에서 설정의 유효성을 검사합니다. 유효성 검사가 완료되고 목록의 다음 탭으로 이동하기까지 몇 분이 걸릴 수 있습니다.

  15. 인덱서 만들기 탭에서 다음 작업을 수행합니다.

    1. 이름 필드에 테이블 인덱서를 입력합니다.

    2. 일정 섹션에서 사용자 습관을 선택합니다.

    3. 간격 필드에 5를 입력합니다.

    4. 시작 시간 필드를 오늘 날짜의 자정 UTC로 설정합니다.

    5. 삭제 추적 필드를 기본값으로 설정합니다.

    6. 설명 필드를 비워 둡니다.

    7. 전송을 선택합니다.

      참고: 제출 단추를 표시하려면 삭제 추적 필드와 한 번/사용자 지정 옵션을 선택한 다음 선택 취소해야 할 수 있습니다. 이 동작은 포털 버그 때문입니다.

  16. 검색 서비스 블레이드에서 인덱서 탭을 선택합니다.

    참고: 아직 인덱서가 표시되지 않는다면 블레이드를 새로 고쳐야 할 수 있습니다.

  17. 인덱서 탭에서 이전에 랩에서 만든 tableindexer 인덱서를 선택합니다.

  18. 인덱서 블레이드에서 다음 작업을 수행합니다.

    1. 실행을 선택합니다.

    2. 확인 메시지가 표시되면 를 선택합니다.

    3. 인덱서 블레이드를 닫습니다.

  19. 인덱서가 실행이 완료될 때까지 기다린 다음 블레이드 상단에서 새로 고침을 선택합니다.

    참고: 인덱서가 실행되는 데 1~5분 정도 걸릴 수 있습니다. 상태가 검색 서비스 블레이드에서 성공으로 나열된 경우 인덱서가 성공했다는 것을 알 수있습니다.

  20. 인덱서 탭에서 문서 수 및 마지막 인덱싱 작업의 상태와 같은 tableindexer 인덱서의 메타데이터를 확인합니다.

작업 4: 인덱싱된 테이블 데이터의 유효성 검사

  1. 검색 서비스 블레이드 상단에서 검색 탐색기를 선택합니다.

  2. 검색 탐색기 블레이드에서 검색을 선택합니다.

  3. 모든 문서를 검색한 결과를 관찰합니다.

  4. 쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.

    search=seat
  1. 검색 쿼리의 결과를 관찰합니다.

  2. 쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.

    $filter=price lt 100
  1. 검색 쿼리의 결과를 관찰합니다.

  2. 쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.

    facet=quantity,interval:25
  1. 검색 쿼리의 결과를 관찰합니다.

  2. 쿼리 문자열 필드에 다음 쿼리를 입력한 다음 검색을 누릅니다.

    $filter=quantity gt 25&facet=price,values:100|1000|10000
  1. 검색 쿼리의 결과를 관찰합니다.

  2. 검색 탐색기 블레이드를 닫습니다.

작업 5: Azure 검색 기본 URL 검색

  1. 포털의 왼쪽 네비게이션 창에서 리소스 그룹을 선택합니다.

  2. 리소스 그룹 블레이드에서 이전에 랩에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  3. MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.

  4. 검색 서비스 블레이드에서 URL 필드의 값을 복사합니다. 이 랩의 나중에 이 값을 사용합니다.

검토

이 연습에서는 Azure Storage 계정을 만들고 Azure Search 를 사용하여 계정 내의 저장소 테이블을 인덱싱했습니다. 테이블을 인덱싱한 후 Storage 테이블의 엔터티 복사본에 대해 검색 쿼리를 발급할 수 있었습니다.

연습 3: Azure API 관리를 사용하여 API 프록시 계층 빌드

작업 1: 새 API 정의

  1. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  2. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  3. MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodapi* API Management 계정을 선택합니다.

  4. API 관리 서비스 블레이드에서 블레이드 왼쪽에 API 관리 섹션에서 API를 선택합니다.

  5. 새 API 추가 섹션에서 빈칸 API를 선택합니다.

  6. 빈칸 API 만들기 창에서 다음 작업을 수행합니다.

    1. 표시 이름 필드에 API 찾기를 입력합니다.

    2. 이름 필드에 search-api를 입력합니다.

    3. 웹 서비스 URL 필드에 이전에 랩에서 복사한 검색 서비스 URL 필드의 URL을 입력합니다.

    4. 웹 서비스 URL 필드의 값을 다음 상대 URL로 보겠습니다.

    /indexes/products/docs
> **참고**: 예를 들어 웹 서비스 URL이 https://prodsearchstudent.search.windows.net인 경우 새 URL은 https://prodsearchstudent.search.windows.net/indexes/products/docs가 됩니다.
  1. API URL 접미사 필드에 검색을 입력합니다.

  2. 제품 필드에서 시작무제한을 모두 선택합니다.

  3. 만들기.를 선택합니다

  4. 새 API가 생성될 때까지 기다립니다.

  5. 디자인 탭에서 + 작업 추가를 선택합니다.

  6. 작업 추가 섹션에서 다음 작업을 수행합니다.

    1. 이름 표시 필드에 모든 문서 목록을 입력합니다.

    2. 이름 필드에 모든 문서 목록을 입력합니다.

    3. URL 목록에서 GET를 선택합니다.

    4. URL 필드에 /입력합니다.

    5. 저장을 선택합니다.

  7. 디자인 탭에서 작업 목록에서 모든 작업을 선택합니다.

  8. 모든 작업에 대한 디자인 섹션에서 인바운드 처리 타일을 찾고 정책 추가를 선택합니다.

  9. 인바운드 정책 추가 섹션에서 헤더 설정타일을 선택합니다.

  10. 인바운드 처리에서 헤더 설정섹션에서 다음 작업을 수행합니다.

    1. 이름 필드에 API 키를 입력합니다.

    2. 필드에서 목록을 선택하고 + 값 추가를 선택하고 이전에 랩에서 기록한 검색 서비스 키에 값을 입력합니다.

    3. 작업 목록에서 재정의 옵션을 선택합니다.

    4. 저장을 선택합니다.

  11. 디자인 탭에서 작업 목록에서 모든 작업을 선택합니다.

  12. 모든 작업에 대한 디자인 섹션에서 인바운드 처리 타일을 찾고 정책 추가를 선택합니다.

  13. 인바운드 정책 추가 섹션에서 쿼리 매개 변수 타일 설정을 선택합니다.

  14. 인바운드 처리에서 쿼리 매개 변수 설정 섹션에서 다음 작업을 수행합니다.

    1. 이름 필드에 api버전을 입력합니다.

    2. 필드에 2017-11-11을 입력합니다.

    3. 작업 목록에서 재정을 선택합니다.

    4. 저장을 선택합니다.

  15. 디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.

  16. 모든 문서 목록 작업의 디자인 섹션에서 인바운드 처리 타일을 찾고 + 정책 추가 단추를 선택합니다.

  17. 인바운드 정책 추가 섹션에서 쿼리 매개 변수 타일 설정을 선택합니다.

  18. 인바운드 처리에서 쿼리 매개 변수 설정 섹션에서 다음 작업을 수행합니다.

    1. 이름 필드에 검색을 입력합니다.

    2. 필드에 *를 입력합니다.

    3. 작업 목록에서 개정을 선택합니다.

    4. 저장을 선택합니다.

  19. 디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.

  20. 테스트 탭을 선택합니다.

  21. 모든 문서 목록 작업을 선택합니다.

  22. 모든 문서 목록 섹션에서 보내기를 선택합니다.

  23. API 요청의 결과를 관찰합니다.

    참고: 응답에 많은 양의 Azure Search 메타데이터가 있는 방법을 관찰합니다. API 사용자가 무대 뒤에서 발생하는 구현 세부 정보를 알지 않도록 할 수 있습니다. 다음 작업에서는 이 데이터의 대부분을 난독 처리합니다.

  24. 작업 목록으로 돌아가려면 디자인 탭을 선택합니다.

작업 2: API 응답 조작

  1. 디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.

  2. 모든 문서 목록 작업의 디자인 섹션에서 아웃바운드 처리 타일을 찾아 + 정책 추가를 선택합니다.

  3. 아웃바운드 정책 추가 섹션에서 기타 정책타일을 선택합니다.

  4. 정책 코드 편집기에서 XML 콘텐츠의 다음 블록을 찾습니다.

    <outbound>
        <base />
    </outbound>
  1. XML의 해당 블록을 다음 XML로 바꿉니다.
    <outbound>
        <base />
        <set-body>
        @{ 
            var response = context.Response.Body.As<JObject>();
            return response.Property("value").Value.ToString();
        }
        </set-body>
    </outbound>
  1. 정책 코드 편집기에서 저장을 선택합니다.

  2. 디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.

  3. 모든 문서 목록 작업의 디자인 섹션에서 아웃바운드 처리 타일을 찾아 + 정책 추가를 선택합니다.

  4. 아웃바운드 정책 추가 섹션에서 헤더 설정타일을 선택합니다.

  5. 아웃바운드 처리에서 헤더 설정 섹션에서 다음 작업을 수행합니다.

    1. 이름 필드에 기본 설정 적용을 입력합니다.

    2. 작업 목록에서 삭젝을 선택합니다.

    3. + 헤더 추가를 선택합니다.

    4. 이름 필드에 odata 버전을 입력합니다.

    5. 작업 목록에서 삭제를 선택합니다.

    6. +헤더 추가를 선택합니다.

    7. 이름 필드에 powered-by를 입력합니다.

    8. 필드에서 목록을 선택하고 + 값 추가 링크를 선택한다음 Contoso를 입력합니다.

    9. 작업 목록에서 재정를 선택합니다.

    10. 저장을 선택합니다.

  6. 디자인 탭에서 작업 목록에서 모든 문서 목록을 선택합니다.

  7. 테스트 탭을 선택합니다.

  8. 모든 문서 목록 작업을 선택합니다.

  9. 모든 문서 목록 섹션에서 보내기를 선택합니다.

  10. API 요청의 결과를 관찰합니다.

    참고: 지정한 기본 설정 적용odata 버전 헤더가 삭제되고 새 전원이 지정된 헤더로 대체된 것을 관찰할 수 있습니다. 또한 응답에는 OData 응답에 대한 컨텍스트 데이터가 포함되지 않고 대신 평판이 난 JSON 배열을 응답 본문으로 포함합니다.

검토

이 연습에서는 Azure Search 계정과 검색 쿼리를 만들려는 개발자 간에 프록시 계층을 구축했습니다.

연습 4: Azure Logic Apps를 사용하여 새 테이블 엔터티 만들기

작업 1: Logic Apps 리소스 만들기

  1. 포털의 왼쪽 네비게이션 페인에서 + 리소스 만들기를 선택합니다.

  2. 신규 블레이드 상단에서 마켓플레이스 검색 필드를 찾습니다.

  3. 검색 필드에서 논리를 입력하고 Enter 키를 누릅니다.

  4. 모든 검색 결과 블레이드에서 로직 어플 결과를 선택합니다.

  5. 로직 어플 블레이드에서 만들기를 선택합니다.

  6. 로직 어플 블레이드에서 다음 작업을 수행합니다.

    1. 이름 필드에 prodworkflow[소문자]를 입력합니다.

    2. 구독 필드를 기본값으로 설정합니다.

    3. 리소스 그룹 섹션에서 기존 사용을 선택하고 목록에서 MultiTierService옵션을 선택합니다.

    4. 위치 목록에서 미국 동부를 선택합니다.

    5. 로그 분석 섹션에서Off을 선택합니다.

    6. 만들기를 선택합니다.

  7. 이 랩을 진행하기 전에 만들기 작업이 완료될 때까지 기다립니다.

작업 2: 로직 어플 워크플로우에 대한 트리거 만들기

  1. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  2. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  3. MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodworkflow* 논리 앱을 선택합니다.

  4. 로직 어플 디자이너 블레이드에서 빈칸 로직 어플 템플릿을 선택합니다.

  5. 디자이너 영역에서 다음 작업을 수행하여 HTTP 트리거를 추가합니다.

    1. 검색 커넥터 및 트리거 필드에서 HTTP를 입력합니다.

    2. 트리거 결과 목록에서 HTTP요청이 수신된 경우를 선택합니다.

    3. 샘플 페이로드 사용을 선택하여스키마를 생성를 선택합니다.

    4. 샘플 JSON 페이로드 창을 입력하거나 붙여넣기다음에 JSON 개체를 입력합니다.

    { 
        "id": "",
        "manufacturer": "",
        "price": 0.00,
        "quantity": 0,
        "name": ""
    }
  1. 완료를 선택합니다.

  2. 요청 본문 JSON 스키마 필드에서 스키마를 관찰합니다. 이 스키마는 이전 단계에서 입력한 JSON 콘텐츠를 기반으로 Azure 에서 자동으로 빌드됩니다.

작업 3: Azure 저장소용 커넥터 구축

  1. 디자이너 영역에서 +새 단계를 선택합니다.

  2. 디자이너 영역에서 다음 작업을 수행하여 엔터티 삽입 또는바꾸기 작업을 추가합니다.

    1. 검색 커넥터 및 트리거 필드에서 를 입력합니다.

    2. 범주 목록에서 Azure 테이블 저장소를 선택합니다.

    3. 작업 결과 목록에서 엔터티 삽입 또는 바꾸기를 선택합니다.

    4. 연결 이름 필드에 테이블 연결을 입력합니다.

    5. 저장소 계정 섹션에서 이잔에 랩에서 만든 prodstorage* 저장소 계정을 선택합니다.

    6. 만들기를 선택합니다.

    7. 커넥터 리소스가 작성이 완료될 때까지 기다립니다.

      참고: 이러한 리소스를 만드는 데 1~5분 정도 걸릴 수 있습니다.

  3. 테이블 목록에서 제품을 선택합니다.

  4. 파티션 키 필드의 오른쪽에 있는 동적 콘텐츠페인에서 HTTP 요청이 수신된 범주 내에서 제조업체를 선택합니다.

  5. 로 키 필드의 오른쪽에 있는 동적 콘텐츠 페인에서 HTTP 요청이 수신된 범주 내에서 ID를 선택합니다.

  6. 엔터티 필드의 오른쪽에 있는 동적 콘텐츠 페인에서 HTTP 요청이 수신된 범주 내에서 Body를 선택합니다.

작업 4: HTTP 응답 작업 빌드

  1. 디자이너 영역에서 +새 단계를 선택합니다.

  2. 디자이너 영역에서 다음 작업을 수행하여 응답 작업을 추가합니다.

    1. 검색 커넥터 및 트리거 필드에서 응답을 입력합니다.

    2. 작업 결과 목록에서 응답을 선택합니다.

    3. 상태 코드 필드에 201을 입력합니다.

    4. Body 필드의 오른쪽에 있는 동적 콘텐츠 페인에서 엔터티 바꾸기 삽입 범주 내에서 Body를 선택합니다.

작업 5: HTTP 트리거 POST URL 검색

  1. 대상 영역에서 최대를 선택합니다.

  2. 워크플로를 저장한 후 HTTP 요청이 수신될 때 트리거의 HTTP POST URL 필드가 이워크플로를 시작해야 하는 새URL로 업데이트됩니다. HTTP POST URL 필드의 URL을 복사합니다. 이 랩의 나중에 이 URL을 사용합니다.

    참고: SAS 토큰이 있는 URL을 포함하기 때문에 매우 긴 URL입니다. 전체 URL 을 복사해야 합니다.

작업 6: 로직 어플 결과가 인덱싱되어 있는지 확인

  1. 포털 상단에서 클라우드 셸 아이콘을 선택하여 새 셸 인스턴스를 엽니다.

    참고: Cloud Shell 아이콘은 기호보다 큰 기호 및 밑줄 문자로 표시됩니다.

  2. 구독을 사용하여 클라우드 셸을 처음 여는 경우 처음 사용할 수 있도록클라우드 셸 어떻게 구성을 Azure클라우드 셸에 환영함으로 표시합니다. 다음 작업을 수행하십시오.

    1. Bash 또는PowerShell 중에서 선택할 수 있는 경우 배쉬를 선택합니다.

    2. 대화 박스는 셸을 사용하여 시작할 새 저장소 계정을 만들라는 메시지를 표시합니다. 기본 설정을 수락하고 저장소 만들기를 선택합니다.

    3. 랩을진행하기 전에 Cloud Shell이 처음 설치 절차를 완료할 때까지 기다립니다.

      참고: Cloud Shell의 구성 옵션이 나타나지 않는 경우 이 과정의 랩에서 기존 구독을 사용하고 있기 때문일 수 있습니다. 랩은 새 구독을 사용하는 관점에서 작성됩니다.

  3. 포털 하단에 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"}' \
  1. 그런 다음 이전에 랩에서 복사한 논리 앱의 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 토큰이 잘렸으며 요청을 실행해야 한다는 오류 메시지가 표시됩니다. 이 문제는따옴표로 묶이지 않으면 쿼리 문자열 &,가 잘리기 때문에 발생합니다.

  2. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  3. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  4. MultiTierService 블레이드에서 이전에 랩에서 만든 prodsearch* 검색 서비스를 선택합니다.

  5. 검색 서비스 블레이드에서 인덱서 탭을 선택합니다.

  6. 인덱서 탭에서 이전에 랩에서 만든 테이블 인덱서 인덱서를 선택합니다.

  7. 인덱서 블레이드에서 다음 작업을 수행합니다.

    1. 실행을 선택합니다.

    2. 확인 메시지가 표시되면 를 선택합니다.

    3. 인덱서 블레이드를 닫습니다.

  8. 인덱서가 실행이 완료될 때까지 기다린 다음블레이드 상단에서 새로 고침을 선택합니다.

  9. 검색 서비스 블레이드에서 검색 탐색기를 선택합니다.

  10. 검색탐색기 블레이드에서 검색을 선택합니다.

  11. 모든 문서를 검색한 결과를 관찰합니다.

    참고: 이 시점에서 로직 어플에 의해 삽입된 새 문서를 나타내는 인덱스의 여섯 번째 문서를 확인할 수 있습니다.

  12. 포털의 왼쪽 네비게이션 페인에서 리소스 그룹을 선택합니다.

  13. 리소스 그룹 블레이드에서 이 랩의 앞에서 만든 MultiTierService 리소스 그룹을 선택합니다.

  14. MultiTierService 블레이드에서 이 랩의 앞에서 만든 prodapi* API Management 계정을 선택합니다.

  15. API 관리 서비스 블레이드에서 블레이드 왼쪽에 API 관리 섹션에서 API를 선택합니다.

  16. API 섹션에서 검색 API를 선택합니다.

  17. 디자인 탭에서 테스트 탭을 선택합니다.

  18. 모든 문서 목록 작업을 선택합니다.

  19. 모든 문서 목록 섹션에서 보내기를 선택합니다.

  20. API 요청의 결과를 관찰합니다.

    참고: 이제 5개가 아닌 6개의 문서가 있는 것을 볼 수 있습니다.

검토

이 연습에서는 HTTP 요청을 받아 JSON 요청의 JSON 본문을 새 Azure Storage 테이블 엔터티로 유지 하는 로직 어플을 만들었습니다.

연습 5: 구독 정리

작업 1: Cloud Shell 열기

  1. 포털 상단에서 Cloud Shell 아이콘을 선택하여 새 셸 인스턴스를 엽니다.

  2. 포털 하단에서 Cloud Shell 명령 프롬프트에서 다음 명령을 입력하고 Enter 를 눌러 구독의 모든 리소스 그룹을 나열합니다.

    az group list
  1. 다음 명령을 입력하고 Enter 키를 눌러 리소스 그룹을 삭제하는 데 사용할 수 있는 명령 목록을 봅니다.
    az group delete --help

작업 2: 리소스 그룹 삭제

  1. 다음 명령을 입력하고 Enter 를 눌러 MultiTierService 리소스 그룹을 삭제합니다.
    az group delete --name MultiTierService --no-wait --yes
  1. 포털 하단의 Cloud Shell 창을 닫습니다.

작업 3: 활성 애플리케이션 닫기

  1. 현재 실행 중인 Microsoft Edge 응용 프로그램을 닫습니다.

  2. 현재 실행 중인 Microsoft Azure 저장소 탐색기 응용 프로그램을 닫습니다.

검토

이 연습에서는 이 랩에 사용된 리소스 그룹을 제거하여 구독을 정리했습니다.