다음을 통해 공유


빠른 시작: Azure Cosmos DB for NoSQL 및 Azure Static Web Apps에서 데이터 API 작성기 사용

이 빠른 시작에서는 Azure Container Apps에 Docker 컨테이너로 DAB(Data API Builder)를 배포합니다. AZD(Azure Developer CLI) 템플릿을 사용하여 최신 모범 사례를 사용하여 Azure Cosmos DB for NoSQL 데이터베이스와 함께 DAB를 배포합니다. 또한 템플릿은 GraphQL을 사용하여 DAB 엔드포인트에 연결하는 샘플 웹 애플리케이션을 배포합니다.

필수 구성 요소

  • Azure 개발자 CLI
  • .NET 9.0

Azure 계정이 없는 경우 시작하기 전에 체험 계정 만듭니다.

프로젝트 초기화

Azure Developer CLI(azd)를 사용하여 NoSQL용 Azure Cosmos DB 계정을 만들고, DAB를 컨테이너화된 솔루션으로 배포하고, 컨테이너화된 샘플 애플리케이션을 배포합니다. 샘플 애플리케이션은 DAB를 사용하여 샘플 데이터를 쿼리합니다.

  1. 빈 디렉터리에서 터미널을 엽니다.

  2. 아직 인증되지 않은 경우 azd auth login사용하여 Azure 개발자 CLI에 인증합니다. 도구에서 지정한 단계에 따라 선호하는 Azure 자격 증명을 사용하여 CLI에 인증합니다.

    azd auth login
    
  3. azd init 사용하여 프로젝트를 초기화합니다.

    azd init --template dab-azure-cosmos-db-nosql-quickstart
    
  4. 초기화하는 동안 고유한 환경 이름을 구성합니다.

  5. azd up사용하여 Azure에 전체 솔루션을 배포합니다. Bicep 템플릿은 Azure Cosmos DB for NoSQL 계정 ()과 Azure Container Apps에 DAB (), 그리고 샘플 웹 애플리케이션을 배포합니다.

    azd up
    
  6. 프로비전 프로세스 중에 구독 및 원하는 위치를 선택합니다. 프로비전 프로세스가 완료되기를 기다립니다. 프로세스는 약 7분 걸릴 수 있습니다.

  7. Azure 리소스 프로비전이 완료되면 실행 중인 웹 애플리케이션에 대한 URL이 출력에 포함됩니다.

    Deploying services (azd deploy)
    
    (✓) Done: Deploying service api
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    (✓) Done: Deploying service web
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    SUCCESS: Your up workflow to provision and deploy to Azure completed in 7 minutes 0 seconds.
    
  8. api 서비스의 URL 값을 기록합니다. 이 가이드의 뒷부분에서 이러한 값을 사용합니다.

데이터베이스 연결 구성

이제 Azure Container Apps에서 컨테이너화된 각 애플리케이션으로 이동하여 예상대로 작동하는지 확인합니다.

  1. 먼저 api 서비스의 URL로 이동합니다. 이 URL은 실행 중인 DAB 인스턴스에 연결됩니다.

  2. DAB에서 JSON 출력을 관찰합니다. DAB 컨테이너가 실행 중임을 나타내야 하며, 상태는 정상임을 보여줘야 합니다.

    {
      "status": "healthy",
      "version": "1.1.7",
      "app-name": "dab_oss_1.1.7"
    }
    
  3. DAB 인스턴스의 상대 /graphql 경로로 이동합니다. 이 URL은 Nitro GraphQL IDE(통합 개발 환경)를 열어야 합니다.

  4. Nitro IDE에서 새 문서를 만들고 이 쿼리를 실행하여 NoSQL용 Azure Cosmos DB products 컨테이너에 있는 100개 항목을 모두 가져옵니다.

    query {
      products {
        items {
        id
        name
        description
        sku
        price
        cost
        }
      }
    }
    
  5. 마지막으로 서비스의 URL로 이동합니다. 이 URL은 이전 단계에서 액세스한 GraphQL 엔드포인트에 연결하는 실행 중인 샘플 웹 애플리케이션에 연결됩니다.

  6. 실행 중인 웹 애플리케이션을 관찰하고 출력 데이터를 검토합니다.

    Azure Container Apps에서 실행 중인 웹 애플리케이션의 스크린샷.

청소

샘플 애플리케이션 또는 리소스가 더 이상 필요하지 않은 경우 해당 배포 및 모든 리소스를 제거합니다.

  1. Azure 구독에서 배포를 제거합니다.

    azd down
    
  2. GitHub Codespaces를 사용하는 경우 실행 중인 코드스페이스를 삭제하여 스토리지 및 코어 자격을 최대화합니다.

다음 단계