Reporting Services の REST API による開発
適用対象: SQL Server Reporting Services (2017 以降) ❌ Power BI Report Server
Microsoft SQL Server 2017 Reporting Services では、Representational State Transfer (REST) API がサポートされます。 REST API は、一連の HTTP 操作 (メソッド) をサポートするサービス エンドポイントであり、レポート サーバー内のリソースに対する作成、取得、更新、削除アクセスを提供します。
REST API を使用すると、SQL Server 2017 Reporting Services レポート サーバー カタログ内のオブジェクトにプログラムでアクセスできます。 オブジェクトの例としては、フォルダー、レポート、KPI、データ ソース、データセット、更新計画、サブスクリプションなどがあります。 REST API を使用すると、たとえば、フォルダー階層内の移動、フォルダーの内容の検出、レポート定義のダウンロードなどを行うことができます。 また、オブジェクトの作成、更新、および削除を行うこともできます。 オブジェクトの操作の例としては、レポートのアップロード、更新計画の実行、フォルダーの削除などがあります。
Note
個人データの表示または削除については、GDPR の Windows データ主体要求に関するページで Microsoft のガイダンスをご確認ください。 GDPR に関する一般的な情報については、Service Trust Portal の GDPR セクションを参照してください。
REST API の要求/応答のコンポーネント
REST API の要求/応答ペアは、次の 5 つのコンポーネントに分けることができます。
要求 URI。
{URI-scheme} :// {URI-host} / {resource-path} ? {query-string}
で構成されます。 要求 URI は要求メッセージ ヘッダーに含まれていますが、ほとんどの言語やフレームワークでは要求メッセージとは別に渡す必要があるため、ここでは独立した項目にしてあります。- URI スキーム: 要求の送信に使用されるプロトコルを示します。 たとえば、
http
またはhttps
です。 - URI ホスト:
myserver.contoso.com
など、REST サービス エンドポイントがホストされているサーバーのドメイン名または IP アドレスを指定します。 - リソース パス: リソースまたはリソース コレクションを指定します。リソースの選択を決定するときにサービスによって使用される複数のセグメントを含むことができます。 たとえば、
CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties
を使用して、CatalogItem の指定したプロパティを取得できます。 - クエリ文字列 (省略可能): API のバージョンやリソースの選択条件など、より簡単なパラメーターを提供します。
- URI スキーム: 要求の送信に使用されるプロトコルを示します。 たとえば、
HTTP 要求メッセージ ヘッダー フィールド:
- 要求している操作の種類をサービスに伝える、必要な HTTP メソッド (操作または動詞とも呼ばれます)。 Reporting Services REST API では、DELETE、GET、HEAD、PUT、POST、および PATCH の各メソッドがサポートされます。
- 指定された URI および HTTP メソッドで必要となるオプションの追加ヘッダー フィールド。
省略可能な HTTP 要求メッセージ本文のフィールド。URI および HTTP 操作をサポートするためのものです。 たとえば、POST 操作には、複合パラメーターとして渡される MIME でエンコードされたオブジェクトが含まれます。 POST または PUT 操作の場合、本文の MIME エンコードの種類を
Content-type
要求ヘッダーでも指定する必要があります。 一部のサービスでは、application/json
などの特定の MINE の種類を使用する必要があります。HTTP 応答メッセージ ヘッダーのフィールド:
- HTTP 状態コード。成功コードの 2xx から、エラー コードの 4xx または 5xx までの範囲です。 または、API のドキュメントに記載されているように、サービスで定義された状態コードが返されることもあります。
Content-type
応答ヘッダーなど、要求の応答をサポートするために必要となるオプションの追加ヘッダー フィールド。
省略可能な HTTP 応答メッセージ本文のフィールド:
- MIME でエンコードされた応答オブジェクトが HTTP 応答の本文で返されます (データを返す GET メソッドからの応答など)。 通常、これらのオブジェクトは、
Content-type
応答ヘッダーで示される、JSON や XML などの構造化された形式で返されます。
- MIME でエンコードされた応答オブジェクトが HTTP 応答の本文で返されます (データを返す GET メソッドからの応答など)。 通常、これらのオブジェクトは、
API のドキュメント
最新の REST API には最新の API ドキュメントが必要です。 REST API は、OpenAPI 仕様 (swagger 仕様とも呼びます) に基づいて構築されます。ドキュメントは、「Microsoft Learn」で入手できます。
API 呼び出しのテスト
HTTP 要求/応答メッセージをテストするためのツールは Fiddler です。 Fiddler は、REST 要求をインターセプトできる無料の Web デバッグ プロキシであり、HTTP 要求/応答メッセージの診断が容易になります。
次のステップ
使用できる API については、Microsoft Learn を参照してください。
サンプルは GitHub で入手できます。 このサンプルには、TypeScript、React、Webpack でビルドされた HTML5 アプリと、PowerShell の例が含まれます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示