RESTful 웹 서비스를 사용하여 SQL Server 빅 데이터 클러스터에 배포된 앱을 사용합니다.

적용 대상: SQL Server 2019(15.x)

이 문서에서는 RESTful 웹 서비스를 사용하여 SQL Server 빅 데이터 클러스터에 배포된 앱을 사용하는 방법을 설명합니다.

Important

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

필수 조건

참고 항목

애플리케이션의 yaml 사양 파일이 일정을 지정하면 cron 작업을 통해 애플리케이션이 트리거됩니다. 빅 데이터 클러스터가 OpenShift에 배포된 경우 cron 작업을 시작하려면 추가적인 기능이 필요합니다. 특정 지침은 OpenShift의 보안 고려 사항 관련 세부 정보를 참조하세요.

기능

SQL Server 2019 빅 데이터 클러스터에 애플리케이션을 배포한 후에 RESTful 웹 서비스를 사용하여 해당 애플리케이션에 액세스하고 사용할 수 있습니다. 이 기능을 사용하면 다른 애플리케이션 또는 서비스(예: 모바일 앱 또는 웹 사이트)에서 해당 앱을 통합할 수 있습니다. 다음 표에서는 azdata와 함께 사용하여 앱에 대한 RESTful 웹 서비스에 대한 정보를 가져올 수 있는 애플리케이션 배포 명령에 대해 설명하고 있습니다.

명령 설명
azdata app describe 애플리케이션 설명.

다음 예제에서와 같이 --help 매개 변수에 대한 도움을 받을 수 있습니다.

azdata app describe --help

다음 섹션에서는 애플리케이션의 엔드포인트를 검색하는 방법 및 애플리케이션 통합을 위해 RESTful 웹 서비스를 사용하는 방법을 설명합니다.

엔드포인트 검색

빅 데이터 클러스터는 RESTful 웹 서비스를 사용하여 해당 애플리케이션에 액세스하고 사용할 수 있는 엔드포인트를 제공합니다. 기본 목적은 해당 마이크로 서비스 아키텍처에 보다 적극적으로 대응하여 다른 웹 또는 모바일 애플리케이션과의 상호 작용을 용이하게 만드는 것입니다. azdata app describe 명령은 클러스터의 엔드포인트를 포함하여 앱에 대한 자세한 정보를 제공합니다. 이 정보는 일반적으로 앱 개발자가 Swagger 클라이언트 및 RESTful 방식으로 앱과 상호 작용하는 웹 서비스를 사용하여 앱을 빌드하는 데 사용됩니다.

다음 예제와 유사한 명령을 실행하여 앱을 설명합니다.

azdata app describe --name add-app --version v1
{
  "input_param_defs": [
    {
      "name": "x",
      "type": "int"
    },
    {
      "name": "y",
      "type": "int"
    }
  ],
  "links": {
    "app": "https://10.1.1.3:30080/app/addpy/v1",
    "swagger": "https://10.1.1.3:30080/app/addpy/v1/swagger.json"
  },
  "name": "add-app",
  "output_param_defs": [
    {
      "name": "result",
      "type": "int"
    }
  ],
  "state": "Ready",
  "version": "v1"
}

이 예제의 IP 주소(이 예제에서는 10.1.1.3)와 출력의 포트 번호(30080)를 확인합니다.

이 정보를 가져오는 다른 방법 중 하나는 Azure Data Studio의 서버에서 관리를 마우스 오른쪽 단추로 클릭하는 것입니다. 여기에서 나열된 서비스의 엔드포인트를 찾을 수 있습니다.

ADS End Point

JWT 액세스 토큰 생성

배포한 앱에 대한 RESTful 웹 서비스에 액세스하려면 먼저 JWT 액세스 토큰을 생성해야 합니다. 액세스 토큰의 URL은 빅 데이터 클러스터의 버전에 따라 달라집니다.

버전 URL
GDR1 https://[IP]:[PORT]/docs/swagger.json
CU1 이상 https://[IP]:[PORT]/api/v1/swagger.json

이전 예제의 출력, CU4 릴리스 및 컨트롤러의 IP 주소(예제에서는 10.1.1.3) 및 포트 번호(30080)에서 URL은 다음과 같습니다.

   https://10.1.1.3 :30080/api/v1/swagger.json

버전 정보는 릴리스 기록을 참조하세요.

위에서 describe 명령을 실행하여 검색한 IP 주소와 포트를 사용해 브라우저에서 적절한 URL을 엽니다. azdata login에 사용한 것과 동일한 자격 증명으로 로그인합니다.

swagger.json의 내용을 Swagger 편집기에 붙여넣어 사용할 수 있는 메서드를 파악합니다.

API Swagger

app가 GET 메서드임을 확인하고 token를 가져오려면 POST 메서드를 사용해야 합니다. 앱 인증에서 JWT 토큰을 사용하기 때문에 token 메서드에 대한 POST 호출을 수행하려면 원하는 도구를 사용하여 토큰을 가져와야 합니다. 동일한 예제에서 JWT 토큰을 가져오는 URL은 다음과 같습니다.

   https://10.1.1.3 :30080/api/v1/token

다음은 Postman에서 이 작업을 수행하는 방법의 예제입니다.

Postman Token

이 요청의 출력을 통해 앱을 실행하는 URL을 호출하는 데 필요한 JWT access_token를 얻을 수 있습니다.

RESTful 웹 서비스를 사용한 앱 실행

SQL Server 빅 데이터 클러스터에서 앱을 사용하는 방법은 다양합니다. azdata 앱 실행 명령을 사용하도록 선택할 수 있습니다. 이 섹션에서는 Postman과 같은 일반적인 개발자 도구를 사용하여 앱을 실행하는 방법을 살펴봅니다.

브라우저에서 azdata app describe --name [appname] --version [version]을 실행했을 때 반환된 swagger의 URL을 열 수 있습니다. 이 URL은 https://[IP]:[PORT]/app/[appname]/[version]/swagger.json과 유사합니다.

참고 항목

azdata login에 사용한 것과 동일한 자격 증명으로 로그인해야 합니다. 동일한 예제에서 명령은 다음과 같습니다.

   azdata app describe --name add-app --version v1

Swagger 편집기에 붙여넣을 수 있는 swagger.json의 내용입니다. 웹 서비스가 run 메서드를 노출하고 그 아래에서 사용자를 인증한 다음 애플리케이션으로 요청을 라우팅하는 웹 API인 애플리케이션 프록시를 통과한 것을 확인할 수 있습니다. 맨 위에 기준 URL이 표시됩니다. 선택한 도구를 사용하여 POST 요청 본문의 매개 변수를 json으로 전달하는 run 메서드(https://[IP]:30778/api/app/[appname]/[version]/run)를 호출할 수 있습니다.

이 예제에서는 Postman을 사용합니다. 호출하기 전에 AuthorizationBearer Token로 설정하고 이전에 검색한 토큰을 붙여넣어야 합니다. 그러면 요청에 헤더가 설정됩니다. 아래 스크린샷을 참조하세요.

Postman Run Headers

그다음 요청 본문에 호출하는 앱에 매개 변수를 전달하고 content-typeapplication/json로 설정합니다.

Postman Run Body

요청을 보내면 azdata app run을 통해 앱을 실행했을 때와 동일한 출력을 얻게 됩니다.

Postman Run Result

이제 웹 서비스를 통해 앱을 성공적으로 호출했습니다. 비슷한 단계를 수행하여 이 웹 서비스를 애플리케이션에 통합할 수 있습니다.

다음 단계

자세한 내용은 빅 데이터 클러스터에서 애플리케이션을 모니터링하는 방법에서 확인하세요. 앱 배포 샘플에서 추가 샘플을 확인할 수도 있습니다.

SQL Server 빅 데이터 클러스터에 대한 자세한 내용은 SQL Server 2019 빅 데이터 클러스터란을 참조하세요.