Подготовка классических сайтов групп в среде с поддержкой нескольких регионов
Сайты SharePoint можно распределить между географическими расположениями по умолчанию и вспомогательными географическими расположениями клиента с несколькими регионами. Когда настраиваемая разработка (скрипт, приложение, консольное приложение, приложение node.js и т. д.) должна подготавливать сайты, важно учитывать географические расположения в клиенте с несколькими регионами.
При подготовке классических семейств веб-сайтов группы (например, семейств веб-сайтов на основе STS#0) необходимо использовать вызов метода CSOM CreateSite , как описано и показано в следующих статьях и примерах:
- Подготовка сайтов в модели надстроек SharePoint
- Подготовка сайтов пакетами с моделью надстройки
- Создание семейства веб-сайтов или дочернего сайта с помощью библиотеки PnP Sites Core
Вызов CreateSite
метода должен выполняться для экземпляра Tenant
объекта, а объект клиента требует указать url-адрес центра SPO Администратор.
Чтобы создать классический сайт группы, выполните приведенные далее действия.
Определите географическое расположение, в котором должно размещаться семейство веб-сайтов (например, европейский спутник).
Воспользуйтесь рекомендациями, описанными в статье Обнаружение конфигурации клиента с несколькими регионами, чтобы найти сайт администрирования клиента и корневые URL-адреса SharePoint для географического расположения.
Создайте
Tenant
объект с помощью обнаруженного URL-адреса сайта администратора.CreateSite
Используйте вызов метода для создания семейства веб-сайтов.
В следующем примере показано, как подготовить семейство веб-сайтов в европейском географическом расположении.
// Use the Multi-Geo discovery guidance to discover the tenant admin and root site URLs for this geo location.
string tenantAdminSiteForMyGeoLocation = "https://contoso-europe-admin.sharepoint.com";
string targetUrl = "https://contoso-europe.sharepoint.com/sites/demosite";
string owner = "UserA@contoso.onmicrosoft.com";
using (var ctx = new ClientRuntimeContext(tenantAdminSiteForMyGeoLocation))
{
ctx.Credentials = adminCredentials;
var tenant = new Tenant(ctx);
//Create new site.
var newsite = new SiteCreationProperties()
{
Url = targetUrl,
Owner = owner,
Template = "STS#0",
Title = title,
StorageMaximumLevel = 1000,
StorageWarningLevel = 500,
TimeZoneId = 7,
};
var spoOperation = tenant.CreateSite(newsite);
ctx.Load(spoOperation);
ctx.ExecuteQuery();
while (!spoOperation.IsComplete)
{
Thread.Sleep(2000);
ctx.Load(spoOperation);
ctx.ExecuteQuery();
Console.WriteLine("Site creation status: " + (spoOperation.IsComplete ? "waiting" : "complete"));
}
}
Примечание.
Дополнительные сведения о необходимых разрешениях и настройке приложений см. в статье Настройка примера приложения с несколькими регионами.