ประโยชน์ที่คุณจะได้รับจากการเชื่อมต่อ
การเชื่อมต่อบัญชี Azure Static Web Apps ของคุณเองช่วยให้คุณสามารถเผยแพร่เว็บไซต์สแตติกไปยังบัญชี Azure Static Web Apps ของคุณได้โดยตรงจากแดชบอร์ด Zinn® คุณเป็นเจ้าของโปรเจกต์และค่าใช้จ่าย ส่วนเราจะดูแลเรื่องการปรับใช้ โดเมนที่กำหนดเอง และระเบียน DNS ให้คุณ
ก่อนที่คุณจะเริ่มต้น
การสมัครใช้งาน Azure, กลุ่มทรัพยากรสำหรับเว็บไซต์ และบัญชี GitHub, GitLab หรือ Bitbucket ที่เชื่อมต่ออยู่และมีโค้ดจัดเก็บไว้ — เนื่องจาก Azure Static Web Apps จะสร้างขึ้นจากที่เก็บโค้ด แผนบริการฟรีของ Azure อนุญาตให้ใช้งานในเชิงพาณิชย์และใช้โดเมนที่กำหนดเองได้สองโดเมนต่อหนึ่งแอป
1. สร้างคีย์ที่ Azure Static Web Apps
Azure เรียกสิ่งนี้ว่า service principal ในศูนย์การจัดการ Microsoft Entra ให้เปิด Entra ID → App registrations → New registration ตั้งชื่อและกด Register ในหน้าภาพรวมของแอป ให้คัดลอก Application (client) ID และ Directory (tenant) ID จากนั้นเปิด Certificates & secrets → Client secrets → New client secret เลือกระยะเวลาและกด Add — ให้คัดลอกค่าของข้อมูลลับในทันที เนื่องจาก Azure จะแสดงเพียงครั้งเดียวเท่านั้น
ในพอร์ทัล Azure ให้เปิดกลุ่มทรัพยากรที่คุณต้องการให้เราใช้งาน จากนั้นไปที่ Access control (IAM) → Add → Add role assignment เลือกบทบาท Contributor กำหนดบทบาทให้กับ User, group, or service principal ค้นหาแอปตามชื่อ แล้วเลือก Review + assign จดชื่อกลุ่มทรัพยากรและ Subscription ID ที่สังกัดอยู่ไว้ (ค้นหา Subscriptions ในพอร์ทัล)
2. เชื่อมต่อที่นี่
เปิด Integrations ในแดชบอร์ดของคุณแล้วเลือก Connect an account เลือก Static hosting (Netlify, Vercel) เป็นกลุ่ม และเลือก Azure Static Web Apps เป็นบัญชี กรอกข้อมูล Client ID, Client secret, Tenant ID, Subscription ID และ Resource group จากนั้นกด Connect account
เราจะทดสอบสิ่งที่คุณวางก่อนที่จะมีการบันทึกใดๆ คีย์ที่ใช้งานไม่ได้จะไม่ถูกจัดเก็บไว้ และคำตอบจะแจ้งให้ทราบว่ามีข้อผิดพลาดใดเกิดขึ้น คีย์ที่ใช้งานได้จะถูกเก็บรักษาไว้อย่างปลอดภัยด้วยการเข้ารหัสในคลังข้อมูลลับของเรา — ไม่มีการจัดเก็บในฐานข้อมูลของเราอย่างแน่นอน — และจะไม่ถูกนำมาแสดงอีก แม้กระทั่งต่อตัวคุณเองก็ตาม
สิ่งที่จะเกิดขึ้นต่อไป
- เมื่อคุณสร้างหรือย้ายเว็บไซต์สแตติก บัญชีนี้จะปรากฏเป็นเป้าหมายการปรับใช้
Azure Static Web Apps จะสร้างขึ้นจากที่เก็บโค้ด — จึงไม่มีวิธีรับการปรับใช้จากการอัปโหลดไฟล์ — ดังนั้นโค้ดของเว็บไซต์จะต้องมาจากที่เก็บโค้ดบน GitHub, GitLab หรือ Bitbucket ที่เชื่อมต่อไว้ โปรดเชื่อมต่อก่อนหากคุณยังไม่ได้ดำเนินการ
- เราจะสร้างบริการบนบัญชีของคุณ ชี้ไปยังที่เก็บโค้ด เชื่อมต่อโดเมนที่กำหนดเองของคุณ และสั่งเริ่มการปรับใช้ หน้าของโดเมนจะแสดงระเบียน DNS ทั้งหมดที่ Azure Static Web Apps จำเป็นต้องใช้
- ปริมาณการใช้งานและการเรียกเก็บเงินจะอยู่บนบัญชีของคุณ ซึ่งสามารถดูได้ในแดชบอร์ดของผู้ให้บริการของคุณเอง
- โดเมนระดับบนสุด (apex domain) จะได้รับการยืนยันด้วยระเบียน TXT และโดเมนย่อยจะได้รับการยืนยันด้วยระเบียน CNAME โดยหน้าของโดเมนจะแสดงให้เห็นว่าโดเมนของคุณต้องใช้รูปแบบใด
หากไม่สามารถเชื่อมต่อได้
Azure ปฏิเสธ service principal อาจเกิดจากข้อมูลลับไคลเอ็นต์หมดอายุ — ซึ่งจะหมดอายุตามระยะเวลาที่คุณเลือกเสมอ — หรือแอปไม่มีสิทธิ์ Contributor ในกลุ่มทรัพยากรนั้นอีกต่อไป ข้อความทั้งสองกรณีนี้มีลักษณะคล้ายกัน ดังนั้นโปรดตรวจสอบการกำหนดบทบาทก่อนที่จะสร้างข้อมูลลับใหม่
ไม่พบข้อมูลใดๆ ตรวจสอบว่า Subscription ID และ Resource group เป็นรายการเดียวกันกับที่คุณได้กำหนดบทบาทไว้ และตรวจสอบว่า Tenant ID คือไดเรกทอรีที่แอปได้รับการลงทะเบียนไว้
มีข้อความระบุว่าคีย์ถูกปฏิเสธ สาเหตุเกือบทั้งหมดมักเกิดจากหนึ่งในสามสิ่งนี้: มีการคัดลอกเว้นวรรคหรือการขึ้นบรรทัดใหม่ติดมาด้วย, คีย์หมดอายุแล้ว หรือคีย์ถูกเพิกถอนหรือสร้างใหม่หลังจากที่คุณคัดลอกมา ให้สร้างคีย์ใหม่และวางอีกครั้ง
เชื่อมต่อได้ แต่เกิดข้อผิดพลาดในภายหลัง คีย์สามารถตรวจสอบสิทธิ์ได้แต่ไม่มีสิทธิ์ตามที่การดำเนินการนั้นต้องการ ให้สร้างคีย์ใหม่พร้อมสิทธิ์ตามที่ระบุไว้ข้างต้น จากนั้นยกเลิกการเชื่อมต่อเดิมแล้วเชื่อมต่อด้วยคีย์ใหม่
การยกเลิกการเชื่อมต่อ
เปิด Integrations ค้นหาบัญชีดังกล่าวแล้วกด Disconnect การดำเนินการนี้จะลบคีย์ที่จัดเก็บไว้ในทันที สิ่งใดก็ตามที่กำลังใช้งานคีย์ดังกล่าวจะหยุดทำงานในการดำเนินการถัดไป และหน้าจอที่ต้องพึ่งพาคีย์นั้นจะแจ้งให้ทราบแทนที่จะเกิดข้อผิดพลาดขึ้นเงียบๆ
การยกเลิกการเชื่อมต่อจะไม่ย้อนกลับสิ่งที่ได้ดำเนินการไปแล้ว — ระเบียน การปรับใช้ หรือการตั้งค่าที่เราได้เปลี่ยนแปลงในบัญชีของคุณจะยังคงอยู่เหมือนเดิม หากคุณคิดว่าคีย์ดังกล่าวอาจรั่วไหล โปรดเพิกถอนคีย์ที่ผู้ให้บริการด้วยเช่นกัน เนื่องจากการยกเลิกการเชื่อมต่อจะเป็นการลบสำเนาของเราเท่านั้น ไม่ใช่สำเนาของพวกเขา