PnP プロビジョニング エンジンの構成
サイトからすべての成果物を抽出したくない場合や、特定のリストだけを抽出したくない場合があります。 そのため、PnP プロビジョニング エンジンは、プロセスを詳細に制御できる JSON 形式の構成ファイルを使用します。
抽出構成
https://aka.ms/sppnp-extract-configuration-schema で利用可能な JSON スキーマがあります。 新しい機能が利用可能になった場合、その URL が参照するスキーマを新しいバージョンに自動的に更新します。
JSON ファイルを作成する場合、Visual Studio Code などの最新のエディターを使用し、このスキーマを参照すると、設定可能なすべてのプロパティのインテリセンスと説明が表示されます。
次のサンプル設定を見てみましょう
{
"$schema":"https://aka.ms/sppnp-extract-configuration-schema",
"handlers": [
"Lists",
"WebSettings",
"Pages"
]
}
これにより、リスト、Web 設定 (タイトル、ロゴなどを含む)、およびホーム ページのみを抽出するようにエンジンに指示します。
一部のハンドラーでは、より詳細な構成オプションを指定できます。
{
"$schema":"https://aka.ms/sppnp-extract-configuration-schema",
"persistAssetFiles": true,
"handlers": [
"Lists",
"WebSettings",
"Pages"
],
"lists": {
"lists": [
{
"title": "My Test List",
"includeItems": true,
"query": {
"includeAttachments": true
}
}
]
},
"pages": {
"includeAllClientSidePages": true
}
}
上記の構成を使用して、リストの抽出を制限し、「マイ テスト リスト」というリストのみを含めます。 リスト アイテムをテンプレートにエクスポートすることをエンジンに指示し (DataRow 要素として表示されます)、エンジンに添付ファイルがある場合はそれも含めるように指示します。 ただし、persistAssetFiles
プロパティを true
に設定しない限り、エンジンはこれらの添付ファイルをダウンロードしません。
構成ファイルを配置したら、「 Get-PnPSiteTemplate」のドキュメントで説明されているように、次のように使用できます。
Get-PnPSiteTemplate -Configuration "config.json" -Out "template.xml"
リストにはさらに多くの構成オプションを指定できることに注意してください。スキーマをさらに検討することをお勧めします。
既定では、Pages
ハンドラーを指定した場合、エンジンはホーム ページのみをエクスポートします。 すべてのページを含める場合は、pages
セクションの includeAllClientSidePages
プロパティを true に設定します。