Reporting Services에 대한 REST API를 사용하여 개발

적용 대상: SQL Server Reporting Services(2017 이상) Not supported Power BI Report Server

Microsoft SQL Server 2017 Reporting Services는 REST(표현 상태 전송) API를 지원합니다. REST API는 HTTP 작업(메서드)의 집합을 지원하는 서비스 엔드포인트로, 보고서 서버 내에서 리소스에 대한 액세스의 생성, 검색, 업데이트 또는 삭제를 제공합니다.

REST API는 SQL Server 2017 Reporting Services 보고서 서버 카탈로그에 있는 개체에 대한 프로그래밍 방식 액세스를 제공합니다. 개체의 예로는 폴더, 보고서, KPI, 데이터 원본, 데이터 세트, 새로 고침 계획, 구독 등이 있습니다. REST API를 사용하면 폴더 계층 탐색, 폴더의 내용 검색 또는 보고서 정의 다운로드와 같은 작업을 수행할 수 있습니다. 또한 개체를 만들고, 업데이트하고 삭제할 수 있습니다. 개체 작업의 예로는 보고서 업로드, 새로 고침 계획 실행, 폴더 삭제 등이 있습니다.

참고 항목

개인 데이터를 보기 또는 삭제하는 데 관심이 있는 경우 GDPR에 대한 Windows 데이터 제목 요청 사이트에서 Microsoft의 지침을 검토하세요. GDPR에 대한 일반 정보를 찾는 경우 서비스 신뢰 포털의 GDPR 섹션을 참조하세요.

REST API 요청/응답의 구성 요소

REST API 요청/응답 쌍은 5개의 구성 요소로 구분할 수 있습니다.

  • {URI-scheme} :// {URI-host} / {resource-path} ? {query-string}으로 구성되는 요청 URI. 요청 URI는 요청 메시지 헤더에 포함되어 있지만, 대부분 언어 또는 프레임워크는 요청 메시지에서 이를 별도로 전달해야 하기 때문에 여기에서는 별도로 분류합니다.

    • URI 체계: 요청을 전송하는 데 사용되는 프로토콜을 나타냅니다. 예를 들어 http 또는 https입니다.
    • URI 호스트: myserver.contoso.com과 같이 REST 서비스 엔드포인트가 호스팅되는 서버의 도메인 이름 또는 IP 주소를 지정합니다.
    • 리소스 경로: 리소스 또는 리소스 컬렉션을 지정합니다. 여기에는 해당 리소스의 선택을 결정하는 데 서비스에서 사용하는 여러 세그먼트가 포함될 수 있습니다. 예를 들어: CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties는 CatalogItem에 대한 지정된 속성을 가져오는 데 사용할 수 있습니다.
    • 쿼리 문자열(선택 사항): API 버전 또는 리소스 선택 조건과 같은 더 간단한 매개 변수를 제공합니다.
  • HTTP 요청 메시지 헤더 필드:

    • 필요한 HTTP 메서드 (작업 또는 동사라고도 함)는 요청하는 작업의 유형을 서비스에 알려줍니다. Reporting Services REST API는 DELETE, GET, HEAD, PUT, POST 및 PATCH 메서드를 지원합니다.
    • 지정된 URI 및 HTTP 메서드에 필요한 선택적 추가 헤더 필드입니다.
  • URI 및 HTTP 작업을 지원하는 선택적 HTTP 요청 메시지 본문 필드입니다. 예를 들어 POST 작업은 복잡한 매개 변수로 전달되는 MIME 인코딩된 개체를 포함합니다. POST 또는 PUT 작업의 경우 Content-type 요청 헤더에서도 본문에 대한 MIME 인코딩 형식을 지정해야 합니다. 일부 서비스에서는 application/json과 같은 특정 MIME 형식을 사용해야 합니다.

  • HTTP 응답 메시지 헤더 필드:

    • 범위가 2xx 성공 코드부터 4xx 또는 5xx 오류 코드인 HTTP 상태 코드입니다. 또는 API 설명서에 표시된 대로 서비스 정의 상태 코드가 반환될 수 있습니다.
    • 요청의 응답을 지원하는 데 필요한 추가 헤더 필드(예: Content-type 응답 헤더)를 선택적으로 추가합니다.
  • 선택적 HTTP 응답 메시지 본문 필드:

    • MIME 인코딩된 응답 개체는 데이터를 반환하는 GET 메서드의 응답과 같은 HTTP 응답 본문에서 반환됩니다. 일반적으로 이러한 개체는 Content-type 응답 헤더로 표시된 것처럼 JSON 또는 XML과 같은 구조적 형식으로 반환됩니다.

API 설명서

최신 REST API에는 최신 API 설명서가 필요합니다. REST API는 OpenAPI 사양(Swagger 사양이라고도 함)을 기반으로 하며, SwaggerHub에서 문서를 확인할 수 있습니다. API 설명서 이외에도 SwaggerHub에서 클라이언트 라이브러리를 JavaScript, TypeScript, C#, Java, Python, Ruby 등의 언어로 생성하는 데 도움을 받을 수 있습니다.

API 호출 테스트

HTTP 요청/응답 메시지를 테스트하는 도구는 Fiddler입니다. Fiddler는 REST 요청을 가로챌 수 있는 무료 웹 디버깅 프록시로, HTTP 요청/응답 메시지를 쉽게 진단할 수 있도록 합니다.

다음 단계

SwaggerHub에서 사용 가능한 API를 검토합니다.

예제는 GitHub에서 찾아볼 수 있습니다. 이 샘플에는 PowerShell 예제와 함께 TypeScript, React 및 Webpack을 기반으로 빌드된 HTML5 앱이 포함되어 있습니다.

추가 질문이 있으신가요? Reporting Services 포럼에서 질문하기