知識マップ: PowerShellでREST APIと連携する ── Invoke-RestMethodの実務

記事「PowerShellでREST APIと連携する ── Invoke-RestMethodの実務」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

この記事は、PowerShellからJSON APIを呼ぶ実務をInvoke-RestMethodを中心に整理する。ConvertTo-Jsonは既定の深さが2であるため入れ子の切り捨てを招きやすく、日本語の文字化けはUTF-8のバイト配列に変換してから送るのが確実だとしている。4xx/5xxは終了エラーになりエラー本文の確認が調査の鍵になるとしつつ、-MaximumRetryCountの組み込み再試行は400から599までを対象にするため、401や404のような恒久的エラーまで再送してしまう点を指摘し、コード別の扱いや指数バックオフ、POSTのような非冪等な要求を再送しない判断が必要な場面では自前のリトライ関数を推奨している。Windows PowerShell 5.1ではTLS 1.2の明示や-SkipHttpErrorCheck・-Authenticationの非対応が壁になり、恒久運用では-SkipCertificateCheckで証明書検証を無効化せず社内CAを信頼させるべきだとしている。

PowerShellによるREST API連携の知識マップInvoke-RestMethodを中心に、JSON送受信の文字化けと入れ子切り捨て対策、エラー処理、429の組み込み再試行と自前の指数バックオフ・冪等性判定、ページング、Windows PowerShell 5.1固有の非互換、プロキシと証明書の扱いが結びつく関係を示す図。利用する利用する利用する原因になり得る原因になり得る推奨される対応利用する利用する利用する用いるのは非推奨利用する利用する前提とする推奨される対応利用する利用するで構成できる前提とする両立しない両立しない利用する利用する利用する用いるのは非推奨Invoke-RestMethodREST APIPowerShellInvoke-WebRequestConvertTo-JsonJSONの入れ子の切り捨てJSON送受信時の文字化けUTF-8バイト配列化-SkipHttpErrorCheckパラメーター-MaximumRetryCount / -RetryIntervalSecパラメーターRetry-Afterヘッダー恒久的なHTTPエラー(401/403/404など)自前のリトライ関数(Invoke-KsApiパターン)指数バックオフHTTPメソッドの冪等性カーソル/オフセット方式のページング-FollowRelLinkパラメータープロキシ構成(-Proxy / -ProxyCredential / -NoProxy)Windows PowerShell 5.1TLS 1.2の明示的な有効化-Authenticationパラメータークライアント証明書-SkipCertificateCheckパラメーター

概念間の関係(全24件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

Invoke-RestMethod
JSON/XMLを返すREST APIを呼び出し、応答を自動的にPowerShellのオブジェクトへ変換するコマンドレット。
REST API
HTTPを介してJSONやXMLなどの構造化データをやり取りする、Webベースのアプリケーションプログラミングインターフェース。
PowerShell
オブジェクトパイプラインとエラー処理機構を持つ、Microsoftが最も堅牢で最新のWindows自動化に推奨するコマンドラインシェル兼スクリプト言語。
ConvertTo-Json
PowerShellのオブジェクトをJSON文字列に変換するコマンドレット。-Depthの既定値は2で、それより深い階層は展開されない。
UTF-8バイト配列化
ConvertTo-Jsonで作った文字列をUTF-8のバイト配列に変換してから-Bodyに渡し、-ContentTypeにcharset=utf-8を明示する送信方法。
-MaximumRetryCount / -RetryIntervalSecパラメーター
PowerShell 6以降のInvoke-RestMethodで、失敗時に自動的に再試行させるパラメーター。400〜599(および304)の応答を再試行対象にする。
自前のリトライ関数(Invoke-KsApiパターン)
ステータスコードごとの扱い分け、指数バックオフ、冪等性に応じた再試行可否の判定、エラー本文のログ記録を行うために自前で実装するAPI呼び出しラッパー関数。
カーソル/オフセット方式のページング
応答に含まれるnextCursorのような値を次のリクエストへ渡して次ページを取得する、自前ループで実装するページング方式。
Windows PowerShell 5.1
Windowsに標準で同梱されている、.NET Framework上に構築されたレガシー世代のPowerShell(5.1系)のランタイム。実行ファイルはpowershell.exeで、.NETアプリからはMicrosoft.PowerShell.5.1.ReferenceAssembliesを介して呼び出せる。
-SkipCertificateCheckパラメーター
サーバー証明書の検証を無効化してInvoke-RestMethodの通信を行うパラメーター。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。