Provisionar sites de equipe clássicos em um ambiente com Multi-Geo
Os sites do SharePoint podem ser espalhados pelas localizações geográficas padrão e satélite de um locatário multi-geográfico. Quando seu desenvolvimento personalizado (script, aplicativo, aplicativo de console, aplicativo node.js e assim por diante) precisa provisionar sites, é importante estar ciente das localizações geográficas em seu locatário multi-geo.
Ao provisionar coleções de sites de equipe clássicas (por exemplo, coleções de sites baseadas em STS#0), você precisa usar a chamada do método CSOM CreateSite conforme explicado e mostrado nos seguintes artigos e exemplos:
- Provisionamento de site no modelo de suplementos do SharePoint
- Provisione sites em lotes com o modelo de suplementos
- Criar coleção de sites ou subsite usando a biblioteca PnP Sites Core
A CreateSite
chamada de método precisa ser executada em um objeto instanciado Tenant
e um objeto de locatário exige que você especifique um SPO Administração URL central a ser criada.
Para criar um site de equipe clássico:
Determine a localização geográfica que precisa hospedar a coleção de sites (por exemplo, o satélite europeu).
Use as diretrizes explicadas no artigo Descobrir uma configuração de locatário multi-geográfico para localizar o site de administrador do locatário e as URLs raiz do SharePoint para a localização geográfica.
Crie um
Tenant
objeto usando a URL do site de administrador descoberto.Use a chamada de
CreateSite
método para criar a coleção de sites.
O exemplo a seguir mostra como provisionar uma coleção de sites na localização geográfica europeia.
// 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"));
}
}
Observação
Para saber mais sobre as permissões necessárias e como configurar seus aplicativos, consulte Configurar um aplicativo de exemplo multi-geo.