⏱️
New-SPOSite した直後に更新操作をしようとすると失敗することがある
SharePoint Online Management Shell を使って New-SPOSite を実行し、サイト コレクションを作成します。その後、CSOM などで何らかの更新操作 (サイト グループの作成など) を行おうとすると、まれにエラーが発生します。
そもそも、SharePoint Online でのサイト コレクションの操作には時間がかかります。完全にタイミングによりますが、運が悪いと 30 分以上かかることもあります。SharePoint Online Management Shell では、操作が完了するまで定期的に状況をポーリングします。なお、操作の完了を待たなくてよい場合は NoWait を指定できます。
CSOM を使う場合でも、同様のサンプルコードが掲示されています。
しかし、実際にはこれだけでは不十分な場合があります。操作が完了したという結果が返ってきても、サイト コレクションの内部ステータスが Active になっていないことがあります。そのため、New-SPOSite のあとに続けて操作したい場合は、ステータスが Active になるまでさらに待つ必要があります。
$url = "{{site-url}}"
$title = "{{site-title}}"
$owner = "{{site-owner}}"
New-SPOSite -Url $url -Title $title -Owner $owner -StorageQuota 26214400 -LocaleId 1041
while ($true) {
Start-Sleep -Seconds 5
if ((Get-SPOSite -Identity $url).Status -eq "Active") {
break
}
}
Discussion