หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ตรรกะเซิร์ฟเวอร์ Power Pages ช่วยให้ผู้สร้างสามารถเรียกใช้ JavaScript บนเซิร์ฟเวอร์ได้อย่างปลอดภัย เพิ่มความสามารถในการขยายไปยังรันไทม์ไซต์โดยตรง
เนื่องจากตรรกะของเซิร์ฟเวอร์ทํางานบนเซิร์ฟเวอร์ จึงถูกซ่อนจากเบราว์เซอร์ และป้องกันโดยบทบาทของเว็บและสิทธิ์ของตาราง คุณเพิ่มตรรกะใน Power Pages design studio และเขียนโดยใช้ Visual Studio Code ซึ่งมีการตรวจสอบ IntelliSense และคอมไพล์ไทม์
Dataverse จะจัดเก็บโค้ดและการกําหนดค่า ดังนั้นตรรกะของเซิร์ฟเวอร์จะได้รับประโยชน์จากการจัดการวงจรชีวิตเดียวกันและไปป์ไลน์การปรับใช้เป็นคอมโพเนนต์ Power Pages อื่น ๆ
การรองรับภาษา
ตรรกะเซิร์ฟเวอร์ช่วยให้นักพัฒนาสามารถเขียนโค้ด JavaScript ดั้งเดิมที่สอดคล้องกับมาตรฐาน ECMAScript 2023 ได้โดยไม่ต้องรองรับ API ของเบราว์เซอร์ (เช่น DOM API fetch หรือ XMLHttpRequest) รูปแบบที่ไม่ปลอดภัยหรือถูกจํากัดบางรูปแบบจะถูกบล็อกเพื่อให้แน่ใจว่ามีการดําเนินการที่ปลอดภัย สําหรับข้อมูลเพิ่มเติม โปรดดู ข้อจํากัดในการเขียนตรรกะของเซิร์ฟเวอร์
คุณสามารถทําอะไรกับตรรกะเซิร์ฟเวอร์ได้
ตรรกะของเซิร์ฟเวอร์ใน Power Pages ช่วยให้ผู้สร้างและนักพัฒนาย้ายการดําเนินการที่สําคัญจากเบราว์เซอร์ไปยังเซิร์ฟเวอร์สําหรับการควบคุม ความสามารถในการปรับขนาด และการรักษาความปลอดภัยที่ดีขึ้น ซึ่งช่วยให้เว็บไซต์ของคุณทํางานและการรวมที่ซับซ้อนโดยไม่ต้องเปิดเผยตรรกะหรือข้อมูลที่ละเอียดอ่อนในฝั่งไคลเอ็นต์
โดยใช้ตรรกะของเซิร์ฟเวอร์ คุณสามารถ:
- เชื่อมต่อกับบริการภายนอกและ API: รวมเข้ากับ REST API, ฟังก์ชัน Azure หรือระบบธุรกิจอื่น ๆ เพื่อแลกเปลี่ยนข้อมูล การดําเนินการทริกเกอร์ หรือดึงข้อมูลแบบไดนามิกได้อย่างปลอดภัย
- ดําเนินการรักษาความปลอดภัยข้อมูล : ดําเนินการตามข้อมูล—เช่น การคิวรี การอัปเดต หรือการลบระเบียน—บนเซิร์ฟเวอร์ การใช้ตรรกะทางธุรกิจและการตรวจสอบความถูกต้องอย่างสม่ําเสมอ
- เรียกใช้ตรรกะและการแปลงแบบกําหนดเอง: ประมวลผลหรือจัดการข้อมูลก่อนที่จะส่งกลับไปยังไคลเอ็นต์ ตัวอย่างเช่น คํานวณผลรวม ตรวจสอบกฎทางธุรกิจ หรือเติมแต่งข้อมูลโดยใช้การค้นหาภายนอก
- ส่งกลับการตอบสนองที่ประมวลผลไปยังหน้า: ส่งข้อมูลที่จําเป็นและข้อมูลที่กรองแล้วไปยังหน้าไคลเอ็นต์เท่านั้น เพื่อให้มั่นใจในการแสดงผลที่รวดเร็วขึ้นและลดปริมาณข้อมูล
- ทําให้การรับรองความถูกต้องมีความปลอดภัยง่ายขึ้น: จัดการข้อมูลประจําตัวของบริการและคีย์ API บนเซิร์ฟเวอร์แทนที่จะเป็นในโค้ดไคลเอ็นต์ เพื่อรักษาความปลอดภัยและแนวทางปฏิบัติในการผสานรวมที่สอดคล้องกัน
ประโยชน์ของการใช้ตรรกะเซิร์ฟเวอร์
ตรรกะของเซิร์ฟเวอร์นําความสามารถในการขยายระดับองค์กรไปยัง Power Pages ช่วยให้องค์กรสร้างประสบการณ์เว็บที่ปลอดภัย ปรับขนาดได้ และดูแลรักษาได้มากขึ้น
ประโยชน์สําคัญได้แก่:
- ความปลอดภัยขั้นสูง: ดําเนินการและจัดเก็บตรรกะทางธุรกิจ ข้อมูลลับ และคีย์ API บนเซิร์ฟเวอร์ —ไม่แสดงในเบราว์เซอร์หรือผู้ใช้ปลายทาง
- ความยืดหยุ่นในการรวม: เชื่อมต่อ Power Pages อย่างราบรื่นกับระบบภายนอก รวมถึงฟังก์ชัน Azure, REST API, การดําเนินการด้านข้อมูล และบริการทางธุรกิจ
- การเพิ่มประสิทธิภาพและความคุ้มค่า: ลดงานหนักในการคำนวณ การตรวจสอบความถูกต้อง และการประมวลผลข้อมูลลงบนเซิร์ฟเวอร์ เพื่อช่วยลดภาระงานฝั่งไคลเอ็นต์และเพิ่มการตอบสนองของหน้าให้ดียิ่งขึ้น
- ความสอดคล้องกันในช่องทางต่าง ๆ: ใช้ตรรกะเดียวกันทั่วทั้งเว็บเพจ ฟอร์ม และการรวมเพื่อสร้างความมั่นใจในการตรวจสอบความถูกต้องของข้อมูลสม่ําเสมอและลักษณะการทํางานตลอดทั้งแอปพลิเคชัน
- การบํารุงรักษาแบบรวมศูนย์: อัปเดตหรือปรับปรุงตรรกะในที่เดียวโดยไม่ต้องปรับใช้ใหม่หรือแก้ไขสคริปต์ไคลเอ็นต์หรือหน้าหลายสคริปต์
รักษาความปลอดภัยตรรกะของเซิร์ฟเวอร์
เมื่อต้องดําเนินการโค้ดในตรรกะของเซิร์ฟเวอร์ ผู้ใช้ต้องมีสิทธิ์ที่เหมาะสมที่กําหนดค่าโดยผู้สร้าง การเข้าถึงถูกควบคุมโดยบทบาทของเว็บและสิทธิ์ของตาราง ซึ่งยังกําหนดว่าตรรกะของเซิร์ฟเวอร์สามารถเข้าถึงตารางที่เฉพาะเจาะจงได้หรือไม่
การยืนยันตัวตน API ของตรรกะเซิร์ฟเวอร์
คุณไม่จําเป็นต้องรวมรหัสการรับรองความถูกต้องแบบกําหนดเอง การรับรองความถูกต้องและการอนุญาตจะถูกจัดการโดยเซสชันของแอปพลิเคชัน การเรียกใช้ API ตรรกะของเซิร์ฟเวอร์ทั้งหมดต้องมีโทเค็น Cross-Site Request Forgery (CSRF)
การตั้งค่าการกํากับดูแลสําหรับการโทรเข้าบริการภายนอก
ตรรกะเซิร์ฟเวอร์สามารถเชื่อมต่อกับ REST API ภายนอก ฟังก์ชัน Azure และระบบธุรกิจอื่น ๆ เพื่อดําเนินการรวมกันฝั่งเซิร์ฟเวอร์ เพื่อป้องกันการแทรกซึมของข้อมูล ผู้ดูแลระบบผู้เช่าสามารถ บล็อกการเรียกใช้ HTTP ขาออก ที่ตรรกะของเซิร์ฟเวอร์ดําเนินการในแต่ละไซต์ เมื่อมีการนำมาใช้การควบคุมการกำกับดูแลนี้ การเรียก HTTP ขาออกใด ๆ ที่ตรรกะของเซิร์ฟเวอร์พยายามจะทำจะล้มเหลว เมื่อต้องการเรียนรู้เพิ่มเติม ดูปิดใช้งานการเรียกบริการภายนอกจากตรรกะเซิร์ฟเวอร์
การตั้งค่าไซต์
ใช้การตั้งค่าไซต์ทางเลือกต่อไปนี้เพื่อช่วยในการกําหนดค่าตรรกะของเซิร์ฟเวอร์:
| ชื่อ | รายละเอียด | ค่าเริ่มต้น |
|---|---|---|
| ServerLogic/เปิดใช้งาน | เปิด/ปิดใช้งานคุณลักษณะ | จริง |
| ตรรกะเซิร์ฟเวอร์/โดเมนที่อนุญาต | จํากัดโดเมนภายนอกที่สามารถเรียกได้ | โดเมนทั้งหมดที่ได้รับอนุญาต |
| ServerLogic/TimeoutInSeconds | เวลาการดําเนินการสูงสุด (เป็นวินาที) สามารถเพิ่มการหมดเวลาได้สูงสุด 240 วินาที | 120 |
| ServerLogic/AllowNetworkingToAllDomains | อนุญาตเครือข่ายข้ามโดเมน | จริง |
URL API ตรรกะของเซิร์ฟเวอร์
สร้าง URL ของ API โดยใช้รูปแบบนี้:
https://<site-url>/_api/serverlogics/<server-logic-name>
ตัวอย่าง:
https://contoso.powerappsportals.com/_api/serverlogics/exchangerate
วิธีการ HTTP ที่สนับสนุน
ตรรกะของเซิร์ฟเวอร์สนับสนุนวิธีการ HTTP มาตรฐานเพื่อดําเนินการกับข้อมูลหรือโต้ตอบกับบริการภายนอก แต่ละเมธอดจะแมปไปยังฟังก์ชันที่คุณกําหนดในโค้ดตรรกะของเซิร์ฟเวอร์ของคุณ
| วิธี | ลายเซ็นของฟังก์ชัน | การใช้ | รายละเอียด |
|---|---|---|---|
| ดึงข้อมูล | get() ฟังก์ชัน { } | ดึงข้อมูล | ใช้เพื่อดึงข้อมูลจาก Dataverse API ภายนอก หรือตรรกะทางธุรกิจแบบกําหนดเอง เหมาะสําหรับการดําเนินการแบบอ่านอย่างเดียวที่ไม่มีการเปลี่ยนแปลงข้อมูล |
| ประกาศ | Function Post() { } | สร้างระเบียนหรือส่งข้อมูลใหม่ | มักใช้เพื่อแทรกระเบียนใหม่ลงใน Dataverse หรือส่งข้อมูลไปยังระบบภายนอก เหมาะสำหรับการส่งฟอร์มหรือเวิร์กโฟลว์ที่จำเป็นต้องสร้างหรือทริกเกอร์การดำเนินการ |
| วาง | function put() { } | แทนที่หรืออัปเดตบันทึกข้อมูล | อัปเดตหรือแทนที่ทั้งระเบียนหรือชุดข้อมูล โดยทั่วไปจะใช้สําหรับการอัปเดตเต็มรูปแบบหรือสถานการณ์การทําข้อมูลให้ตรงกัน |
| แพตช์ | Function patch() { } | อัปเดตส่วนของเรกคอร์ด (upsert) | ดําเนินการอัปเดตบางส่วนของข้อมูลที่มีอยู่โดยไม่ต้องแทนที่ทั้งระเบียน ใช้วิธีนี้เมื่อเฉพาะเขตข้อมูลที่เฉพาะเจาะจงเท่านั้นที่จําเป็นต้องทําการแก้ไข |
| ลบ | function del() { } | ลบระเบียนหรือเขตข้อมูล | เอาระเบียนหรือข้อมูลจาก Dataverse หรือระบบภายนอกออก ควรใช้อย่างระมัดระวังเพื่อป้องกันการสูญหายของข้อมูลที่ไม่ได้ตั้งใจ |
ขั้นตอนถัดไป
ข้อมูลที่เกี่ยวข้อง
วัตถุเซิร์ฟเวอร์
วิธีการโต้ตอบกับตาราง Dataverse โดยใช้ตรรกะของเซิร์ฟเวอร์