【SharePoint Online】調整に関しての記事が更新されているようなので見返してみる【CSOM】

以前までMSの森さんが書いていた調整に関しての記事は読んだことあったのですが、
2018年に改定されていたんですね。全く知らなんだ・・・
改定された記事はこちら。

何が変わったんだろう。と見てみると・・・

Exponential Backoff というアルゴリズム (指数関数的にリトライ間隔を大きくする実装) を推奨していましたが、最新のベスト プラクティスにおいては、HTTP 応答の “Retry-After” ヘッダーの値を利用してリトライ間隔を指定する実装を推奨しています。

https://blogs.technet.microsoft.com/sharepoint_support/2018/11/09/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry-2/

つまり、徐々に大きくなるリトライ間隔での実装ではなく、HTTPの応答を見てリトライ間隔を決定する方針にしたようですね。

スクリプトの中身を見てみる

今まで:if ($response -ne $null -and $response.StatusCode -eq 429)
最新版:if (($null -ne $response) -and (($response.StatusCode -eq 429) -or ($response.StatusCode -eq 503)))

今まで429にしか対応してなかったのが、503にも対応したようですね。
確かに同じような状況で503頻出していたような気がします。

今まで:$backoffInterval = $delay
最新版:$DefaultRetryAfterInMs = 120000;

今までは関数の引数でdelayを決めていましたが、今回からは120秒が規定値になったようです。
あと、今までは$backoffIntervalに対して*2で計算していたようですけど、
今回から$retryAfterHeader*1000になってました。
$retryAfterHeaderには”Retry-After”をGetResponseHeaderして戻り値を取得していました。

実際何秒ぐらいになるんですかね。

終わりに

今回は完全に出遅れた記事になりましたが、
私が知らなかったので一応記事にしました。
SharePointはほんとに更新が多くて、特にモダンに関しての更新が異常です。
内部的にもゴリゴリ変わっていくので、アンテナもっと張らないとだめですね・・・

それではまた。