Översikt över serverlogik

Power Pages serverlogik gör att skaparna kan köra JavaScript på ett säkert sätt på servern och lägga till flexibilitet direkt till sajtens körning.
 
Eftersom serverlogik körs på servern döljs den från webbläsaren och skyddas av webbroller och tabellbehörigheter. Du lägger till logik i Power Pages designstudio och skapar den med hjälp av Visual Studio Code, som tillhandahåller IntelliSense och kompileringstidsverifiering.

Dataverse lagrar kod och konfiguration, så serverlogik drar nytta av samma livscykelhantering och distributionspipelines som andra Power Pages-komponenter.

Serverlogikflöde

Språkstöd

Med serverlogik kan utvecklare skriva inbyggd JavaScript-kod som är kompatibel med ECMAScript 2023-standarden utan stöd för webbläsar-API:er (t.ex. DOM-API:er fetch eller XMLHttpRequest). Vissa osäkra eller begränsade mönster blockeras också för att säkerställa säker körning. Mer information finns i Begränsningar i redigering av serverlogik.

Vad du kan göra med serverlogik

Med serverlogik i Power Pages kan tillverkare och utvecklare flytta kritiska åtgärder från webbläsaren till servern för bättre kontroll, skalbarhet och säkerhet. Det gör att din webbplats kan utföra komplexa uppgifter och integreringar utan att exponera känslig logik eller data på klientsidan.

Med hjälp av serverlogik kan du:

  • Ansluta till externa tjänster och API:er: Integrera säkert med REST-API:er, Azure Functions eller andra affärssystem för att utbyta data, utlösa åtgärder eller hämta dynamisk information.
  • Utför säkra dataåtgärder: Kör Dataverse-åtgärder, till exempel att fråga, uppdatera eller ta bort poster, på servern, tillämpa affärslogik och validering konsekvent.
  • Kör anpassad logik och transformeringar: Bearbeta eller ändra data innan du returnerar dem till klienten. Du kan till exempel beräkna summor, validera affärsregler eller utöka data med hjälp av externa sökningar.
  • Returnera bearbetade svar till sidor: Skicka endast nödvändiga och filtrerade data till klientsidor, vilket ger snabbare återgivning och minskade nyttolaster.
  • Förenkla säker autentisering: Hantera autentiseringsuppgifter för tjänsten och API-nycklar på servern i stället för i klientkoden, med säkra och kompatibla integreringsmetoder.

Fördelar med att använda serverlogik

Serverlogik ger utökningsbarhet i företagsklass till Power Pages, vilket hjälper organisationer att skapa säkrare, skalbara och underhållsbara webbupplevelser.

Viktiga fördelar är:

  • Förbättrad säkerhet: Kör och lagra affärslogik, hemligheter och API-nycklar på servern – exponera dem aldrig i webbläsaren eller för slutanvändare.
  • Integreringsflexibilitet: Anslut Power Pages sömlöst med externa system, inklusive Azure Functions, REST-API:er, Dataverse-åtgärder och affärstjänster.
  • Förbättrad prestanda och effektivitet: Avlasta tunga beräkningar, valideringar och databearbetning till servern, minska arbetsbelastningen på klientsidan och förbättra sidresponsiviteten.
  • Konsekvens mellan kanaler: Tillämpa samma logik på webbsidor, formulär och integreringar, vilket säkerställer enhetlig dataverifiering och beteende i hela programmet.
  • Centraliserat underhåll: Uppdatera eller förfina logiken på ett ställe utan att distribuera om eller redigera flera klientskript eller sidor.

Skydda serverlogik

Om du vill köra kod i serverlogik måste användarna ha rätt behörigheter som konfigurerats av tillverkaren. Åtkomst styrs av webbroller och tabellbehörigheter, som också avgör om serverlogik kan komma åt specifika tabeller.

Autentisera serverlogik-API

Du behöver inte inkludera anpassad autentiseringskod. Autentisering och auktorisering hanteras av programsessionen. Alla API-anrop för serverlogik måste innehålla en CSRF-token (Cross-Site Request Forgery).

Styrningsinställning för externa tjänstanrop

Serverlogik kan ansluta till externa REST-API:er, Azure Functions och andra affärssystem för att utföra integreringar på serversidan. För att förhindra dataexfiltrering kan klientadministratörer blockera utgående HTTP-anrop som serverlogik gör på plats-för-plats-basis. När den här styrningskontrollen tillämpas misslyckas alla utgående HTTP-anrop som serverlogikförsöken gör. Mer information finns i inaktivera externa tjänstanrop från serverlogik.

Platsinställningar

Använd följande valfria platsinställningar för att konfigurera serverlogik:

Namn Beskrivning Default
ServerLogic/Aktiverat Aktivera/inaktivera funktion sant
ServerLogic/TillåtnaDomäner Begränsa vilka externa domäner som kan anropas Alla domäner tillåts
ServerLogic/TidsgränsISekunder Maximal körningstid (i sekunder). Timeout kan ökas upp till 240 sekunder 120
ServerLogic/AllowNetworkingToAllDomains Tillåt nätverk mellan domäner Sann

URL för API för serverlogik

Skapa API-URL:en med det här formatet:

https://<site-url>/_api/serverlogics/<server-logic-name>  
Exempel:

https://contoso.powerappsportals.com/_api/serverlogics/exchangerate

 

HTTP-metoder som stöds

Serverlogik stöder HTTP-standardmetoder för att utföra åtgärder på data eller interagera med externa tjänster. Varje metod mappas till en funktion som du definierar i serverlogikkoden.

Metod Funktionssignatur Användning Beskrivning
GET function get() { } Hämta data.  Används för att hämta data från Dataverse, externa API:er eller anpassad affärslogik. Perfekt för skrivskyddade åtgärder där inga dataändringar görs.
POST function post() { } Skapa dataposter eller skicka nya data.  Används ofta för att infoga nya poster i Dataverse eller skicka data till externa system. Lämplig för formuläröverföringar eller arbetsflöden som behöver skapa eller utlösa åtgärder.
PUT function put() { } Ersätt eller uppdatera poster.  Uppdaterar eller ersätter en hel poster eller datauppsättning. Används vanligtvis för fullständiga uppdateringar eller synkroniseringsscenarier.
KORRIGERING function patch() { } Uppdaterar del av en post (upsert).  Utför en partiell uppdatering av befintliga data utan att ersätta hela posten. Använd den här metoden när endast specifika fält behöver ändras.
TA BORT function del() { } Ta bort poster eller fält.  Tar bort poster eller data från Dataverse eller ett externt system. Bör användas försiktigt för att förhindra oavsiktlig dataförlust.

Nästa steg

Skapa serverlogik

Server-objekt
Interagera med Dataverse-tabeller med hjälp av serverlogik