Подготовка классических сайтов групп в среде с поддержкой нескольких регионов

Сайты SharePoint можно распределить между географическими расположениями по умолчанию и вспомогательными географическими расположениями клиента с несколькими регионами. Когда настраиваемая разработка (скрипт, приложение, консольное приложение, приложение node.js и т. д.) должна подготавливать сайты, важно учитывать географические расположения в клиенте с несколькими регионами.

При подготовке классических семейств веб-сайтов группы (например, семейств веб-сайтов на основе STS#0) необходимо использовать вызов метода CSOM CreateSite , как описано и показано в следующих статьях и примерах:

Вызов CreateSite метода должен выполняться для экземпляра Tenant объекта, а объект клиента требует указать url-адрес центра SPO Администратор.

Чтобы создать классический сайт группы, выполните приведенные далее действия.

  1. Определите географическое расположение, в котором должно размещаться семейство веб-сайтов (например, европейский спутник).

  2. Воспользуйтесь рекомендациями, описанными в статье Обнаружение конфигурации клиента с несколькими регионами, чтобы найти сайт администрирования клиента и корневые URL-адреса SharePoint для географического расположения.

  3. Создайте Tenant объект с помощью обнаруженного URL-адреса сайта администратора.

  4. 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"));
    }
}

Примечание.

Дополнительные сведения о необходимых разрешениях и настройке приложений см. в статье Настройка примера приложения с несколькими регионами.

См. также