C# Azure AI 검색 앱을 배포하여 Azure Container Apps

메모

Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.

Azure 개발자 CLI(azd)를 사용하여 Azure Container Apps 검색 지원 웹 사이트를 배포합니다. 이 배포에는 React 클라이언트, .NET API, Azure AI 검색, 관리 ID 및 지원 Azure 리소스가 포함됩니다.

배포는 관리 ID를 Azure AI 검색 기본 인증 방법으로 사용합니다. 배포 전에 설정 USE_KEYLESS_AUTH 하여 키 기반 인증에 옵트인할 false 수 있습니다.

Azure에 로그인

  1. Visual Studio Code 같은 리포지토리 루트azure-search-static-web-app에서 터미널을 엽니다.

  2. azd를 사용하여 Azure에 로그인합니다.

    azd auth login
    
  3. 브라우저에서 메시지가 표시되면 이 자습서에 사용 중인 Azure 계정을 사용하여 로그인 흐름을 완료합니다.

azd 환경 만들기

  • 환경을 만듭니다 azd . 이 자습서 배포를 식별하는 짧은 이름으로 대체 YOUR-ENVIRONMENT-NAME 합니다.

    azd env new YOUR-ENVIRONMENT-NAME
    

(선택 사항) 키 기반 인증 구성

기본 인증 방법은 관리 ID이므로 대부분의 환경에서 이 섹션을 건너뛸 수 있습니다. 환경에 API 키가 필요한 경우에만 이 섹션을 완료합니다.

USE_KEYLESS_AUTHfalse로 설정합니다.

azd env set USE_KEYLESS_AUTH false

설정 USE_KEYLESS_AUTH하지 않으면 배포에서 관리 ID를 사용합니다. Bicep 인프라는 컨테이너 앱 ID에 Azure AI 검색 데이터 평면에 대한 액세스 권한을 부여합니다.

azd up을 사용하여 배포

  1. 리포지토리 루트에서 azd up를 실행합니다.

    azd up
    
  2. 메시지가 표시되면 리소스에 대한 Azure 구독 및 위치를 선택합니다.

  3. azd 인프라를 프로비전하고, 컨테이너를 빌드하고, 이미지를 푸시하고, 서비스를 배포하여 Azure Container Apps 기다립니다.

  4. 배포 후 출력을 검토합니다. 출력에는 Azure Container Apps 배포에 대한 클라이언트 및 서버 FQDN(정규화된 도메인 이름)이 포함됩니다.

    AZURE_CLIENT_URL: <client-container-app-fqdn>
    AZURE_SERVER_URL: <server-container-app-fqdn>
    SEARCH_SERVICE_NAME: <search-service-name>
    

    AZURE_CLIENT_URL 값을 사용하여 웹 사이트를 엽니다. 클라이언트 앱은 배포 중에 구성된 엔드포인트를 통해 서버 앱을 호출합니다.

    또한 배포는 Azure AI 검색 서비스를 만들고 샘플 리포지토리의 good-bookspostprovision 후크를 통해 인덱스를 자동으로 로드했습니다.

Container Apps 웹 사이트에서 검색 사용

  1. 브라우저의 출력에서 azd up 클라이언트 FQDN을 엽니다.

  2. 웹 사이트 검색 창에서 검색 쿼리(예: .)를 code입력합니다. 자동 완성 기능은 일치하는 책 제목을 제안합니다.

  3. 제안을 선택하거나 사용자 고유의 쿼리를 계속 입력합니다. 검색 쿼리를 마치면 Enter 키를 선택합니다.

  4. 결과를 검토한 다음, 책을 선택하여 자세한 내용을 확인합니다.

Troubleshooting

웹앱이 배포하거나 작동하지 않는 경우 다음 목록을 사용하여 문제를 확인하고 해결합니다.

  • 완료했나요 azd up ?

    azd up 첫 번째 실패한 프로비저닝, 빌드 또는 배포 단계에 대한 출력을 검토합니다. 프로비전 중에 배포가 중지되면 구독 권한 및 선택한 지역을 확인합니다. 컨테이너 빌드 또는 배포 단계 중에 배포가 중지되는 경우 보고된 문제를 해결한 후 다시 실행 azd up 합니다.

  • 클라이언트 엔드포인트를 열 수 있나요?

    출력에서 AZURE_CLIENT_URLazd up 값을 엽니다. 페이지가 로드되지 않으면 Azure 포털로 이동하여 클라이언트 컨테이너 앱을 열고 수정 상태 및 로그를 검토합니다.

  • 클라이언트가 서버 엔드포인트를 호출할 수 있나요?

    브라우저 개발자 도구를 열고 클라이언트 앱에서 네트워크 호출을 검토합니다. API 호출이 실패하면 서버 컨테이너 앱이 실행 중이고 클라이언트 앱이 배포 중에 서버 FQDN을 받았는지 확인합니다.

  • 서버 쿼리가 Azure AI 검색 수 있나요?

    검색에서 오류를 반환하는 경우 서버 컨테이너 앱 로그를 검토합니다. 관리 ID의 경우 ID에 Azure AI 검색 데이터 평면 액세스 권한이 있는지 확인합니다. 키 기반 인증의 경우 배포 전에 설정하고 USE_KEYLESS_AUTHfalse 생성된 컨테이너 환경에 검색 서비스 구성이 포함되어 있는지 확인합니다.

자원을 정리하세요

이 자습서에서 만든 Azure 리소스를 삭제하는 데 사용합니다azd down --purge. 이 플래그는 --purge 보존 기간 동안 복구 가능한 상태로 두지 않고 일시 삭제를 지원하는 리소스를 영구적으로 제거합니다. 이 자습서를 나중에 다시 배포하는 경우 제거는 명명 충돌을 방지합니다.

  1. 리포지토리 루트에서 정리 명령을 실행합니다.

    azd down --purge
    
  2. 나열된 리소스를 검토합니다 azd .

  3. 메시지가 표시되면 삭제를 확인합니다.

배포 외부에서 azd Azure AI 검색 서비스를 만든 경우 Azure 포털의 검색 서비스로 이동하여 페이지 맨 위에서 삭제를 선택합니다.

다음 단계: