🔧

Microsoft Graph Developer Proxy を使ってみる

に公開

はじめに

2022 年 12 月に Microsoft Graph Developer Proxy というツールがパブリック プレビューで公開されました。

https://devblogs.microsoft.com/microsoft365dev/introducing-the-microsoft-graph-developer-proxy-community-preview?WT.mc_id=M365-MVP-5002941

2023 年 1 月にはバージョン 0.3 が公開されています。

https://devblogs.microsoft.com/microsoft365dev/microsoft-graph-developer-proxy-v0-3?WT.mc_id=M365-MVP-5002941

Microsoft Graph Developer Proxy を利用すると、Microsoft Graph で発生するスロットリングのエラー (429 HTTP ステータスなど) をモックできます。通常、このエラーは環境依存であり、開発時に発生させることが難しいという課題がありました。このツールでは任意にエラーを発生させることができるため、回復性の高いアプリケーションを作成する際に役立ちます。また、応答データをモックして任意のデータを返すことも可能です。

インストール

Microsoft Graph Developer Proxy は .NET 6 のアプリケーションであり、Windows、Linux、macOS で動作します。インストール手順は以下のドキュメントに記載されています。

https://github.com/microsoftgraph/msgraph-developer-proxy/wiki/Installation

Windows の場合は Release から最新のパッケージをダウンロードします。環境変数の追加は任意です。macOS の場合は追加の手順が必要です。

  • バイナリファイルに実行権限を付与(chmod)
  • アプリケーションの信頼
  • 証明書の信頼
  • プロキシ設定の追加

実行方法

コマンドラインから Microsoft Graph Developer Proxy を実行します。

./msgraph-developer-proxy

その後、開発中のアプリケーションを実行すると、Microsoft Graph Developer Proxy が任意に HTTP エラーを返すようになります。エラーを返す頻度やエラーコードはコマンドライン引数で指定できます。

./msgraph-developer-proxy --failure-rate 50 --allowed-errors 429 503

パッケージに含まれる appsettings.json でプロキシ対象の URL を指定できます。既定では SharePoint REST API の URL も含まれています。

https://github.com/microsoftgraph/msgraph-developer-proxy/wiki/App-settings

パッケージには含まれていませんが、responses.json を作成することで応答データをモックできます。

https://github.com/microsoftgraph/msgraph-developer-proxy/wiki/Response-object

おわりに

スロットリングに関してはトラブルになることが多いため、事前に挙動をテストできるのは非常に心強いです。

Discussion