Serveri loogika ülevaade

Power Pages serveri loogika võimaldab tootjatel JavaScripti serveris turvaliselt käivitada, lisades laiendatavuse otse saidi käitusajale.
 
Kuna serveriloogika töötab serveris, on see brauseri eest peidetud ning kaitstud veebirollide ja tabeliõigustega. Loogika lisatakse Power Pages Design Studio'sse ja lood selle Visual Studio Code'i abil, mis pakub IntelliSense'i ja kompileerimisaegset valideerimist.

Dataverse salvestab koodi ja seadistusi, seega saab serveri loogika kasu samast elutsükli haldamise ja juurutamise torujuhtmetest nagu teised Power Pages komponendid.

Serveri loogika voog

Keele tugi

Serveri loogika võimaldab arendajatel kirjutada natiivset JavaScripti koodi, mis vastab ECMAScript 2023 standardile, ilma et toetaksid brauseri API-sid (näiteks DOM API-d fetch või XMLHttpRequest). Teatud ohtlikud või piiratud mustrid on samuti blokeeritud, et tagada turvaline täitmine. Lisateabe saamiseks vaata Piirangud serveri loogika loomisel.

Mida saate serveriloogikaga teha?

Power Pages'i serveriloogika võimaldab loojatel ja arendajatel viia kriitilised toimingud brauserist serverisse, et parandada kontrolli, skaleeritavust ja turvalisust. See võimaldab teie saidil täita keerulisi ülesandeid ja integratsioone, paljastamata tundlikku loogikat või andmeid kliendi poolel.

Serveri loogikat kasutades saad:

  • Ühendu väliste teenuste ja API-dega: Integreeri turvaliselt REST API-de, Azure Functions'i või teiste ärisüsteemidega, et vahetada andmeid, käivitada tegevusi või hankida dünaamilist teavet.
  • Turvaliste andmetoimingute tegemine : Dataverse'i toimingute (nt päringute tegemine, värskendamine või kirjete kustutamine) käivitamine serveris, rakendades järjepidevalt äriloogikat ja valideerimist.
  • Käivitage kohandatud loogika ja teisendused: töötlege või manipuleerige andmeid enne nende kliendile tagastamist. Näiteks arvutada kogusummasid, valideerida ärireegleid või rikastada andmeid väliste päringute abil.
  • Tagastage töödeldud vastused lehtedele: saatke kliendilehtedele ainult vajalikud ja filtreeritud andmed, tagades kiirema renderdamise ja väiksema kasuliku koormuse.
  • Turvalise autentimise lihtsustamine: hallake teenuse mandaate ja API-võtmeid serveris, mitte kliendikoodis, säilitades turvalised ja nõuetele vastavad integreerimistavad.

Serveriloogika kasutamise eelised

Serveri loogika toob Power Pages'i ettevõttetasemel laiendatavust, aidates organisatsioonidel luua turvalisemaid, skaleeritavamaid ja hooldatavamaid veebikogemusi.

Peamised eelised on järgmised:

  • Täiustatud turvalisus: Käivita ja salvesta äriloogika, saladused ja API võtmed serveris—ära kunagi avalda neid brauseris ega lõppkasutajatele.
  • Integratsiooni paindlikkus: Ühenda Power Pages sujuvalt väliste süsteemidega, sealhulgas Azure Functions, REST API-d, Dataverse'i toimingud ja äriteenused.
  • Parem jõudlus ja tõhusus: laadige rasked arvutused, valideerimised ja andmetöötlus serverisse, vähendades kliendipoolset töökoormust ja parandades lehe reageerimisvõimet.
  • Järjepidevus kanalite vahel: rakendage sama loogikat veebilehtedel, vormidel ja integratsioonidel, tagades ühtse andmete valideerimise ja käitumise kogu rakenduses.
  • Tsentraliseeritud hooldus: värskendage või täpsustage loogikat ühes kohas ilma mitut kliendi skripti või lehte uuesti juurutamata või redigeerimata.

Kaitske serveri loogikat

Koodi käivitamiseks serveriloogikas peavad kasutajatel olema tegija konfigureeritud vastavad õigused. Juurdepääsu reguleerivad veebirollid ja tabeliõigused, mis määravad ka selle, kas serveriloogika pääseb juurde konkreetsetele tabelitele.

Serveri loogika API autentimine

Kohandatud autentimiskoodi pole vaja lisada. Autentimist ja autoriseerimist haldab rakenduse seanss. Kõik serveri loogika API kutsed peavad sisaldama saiditevahelise päringu võltsimise (CSRF) luba.

Väliste teenuste kõnede haldusseade

Serveri loogika saab ühenduda väliste REST API-de, Azure Functionsi ja teiste ärisüsteemidega, et teha serveripoolseid integratsioone. Andmete väljaviimise vältimiseks saavad üürniku administraatorid blokeerida serveri loogika poolt väljastatud HTTP-kõned saidipõhiselt. Kui see halduskontroll rakendatakse, ebaõnnestub iga väljaminev HTTP kõne, mida serveri loogika proovib. Lisateabe saamiseks vaata "Väliste teenusekõnede keelamine serveri loogikast".

Saidi sätted

Kasutage järgmisi valikulisi saidi seadeid, et aidata serveri loogikat seadistada:

Nimi Kirjeldus Vaikesäte
ServerLogic/lubatud Funktsiooni lubamine / keelamine true
ServerLogic/AllowedDomains Piirake, milliseid väliseid domeene saab kutsuda Kõik domeenid lubatud
ServerLogic/TimeoutInSeconds Maksimaalne täitmisaeg (sekundites). Ajalõppu saab pikendada kuni 240 sekundini 120
ServerLogic/AllowNetworkingToAllDomains Domeenidevahelise võrguühenduse lubamine Tõene

Serveri loogika API URL

Koostage API URL selle vormingu abil:

https://<site-url>/_api/serverlogics/<server-logic-name>  
Näide:

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

 

Toetatud HTTP-meetodid

Serveri loogika toetab standardseid HTTP-meetodeid andmetega toimingute tegemiseks või väliste teenustega suhtlemiseks. Iga meetod vastendub serveri loogikakoodis määratletud funktsiooniga.

Meetod Funktsiooni allkiri Kasutus Kirjeldus
SAADA funktsioon get() { } Andmete toomine.  Kasutatakse andmete toomiseks Dataverse'ist, välistest API-dest või kohandatud äriloogikast. Ideaalne kirjutuskaitstud toimingute jaoks, kus andmeid ei muudeta.
POST funktsioon post() { } Kirjete loomine või uute andmete saatmine.  Kasutatakse tavaliselt uute kirjete sisestamiseks Dataverse'i või andmete saatmiseks välistesse süsteemidesse. Sobib vormiedastuste või töövoogude jaoks, mis peavad looma või käivitama toiminguid.
PANEMA funktsioon put() { } Kirjete asendamine või värskendamine.  Värskendab või asendab terve kirje või andmekogumi. Tavaliselt kasutatakse täielike värskenduste või sünkroonimisstsenaariumide jaoks.
PLAASTER funktsioon patch() { } Uuendab osa kirjest (upsert).  Värskendab olemasolevaid andmeid osaliselt ilma kogu kirjet asendamata. Kasuta seda meetodit ainult konkreetsete väljade muutmise korral.
KUSTUTAMA funktsioon del() { } Kirjete või väljade kustutamine.  Eemaldab kirjed või andmed Dataverse'ist või välisest süsteemist. Tuleb kasutada ettevaatlikult, et vältida tahtmatut andmete kadumist.

Järgmine etapp

Autori serveri loogika

Serveri objektid
Kuidas suhelda Dataverse'i tabelitega serveriloogika abil