พอดีได้มีโอกาสมาสอนทีมพี่ๆ น้องๆ ที่ไทยคมในหลักสูตร AZ-204 มีโจทย์หนึ่งที่น่าสนใจเกี่ยวกับการใช้งาน Azure Function เลยขอเอามาเขียนโน๊ตไว้ครับ
โจทย์นี้คือ
- มี Azure Function 1 อัน
- ที่อยากให้ทำงานตอนบ่าย 3 โมงตามเวลาในประเทศไทย
- และทำงานบ่าย 3 โมงตามเวลาในออสเตรเลีย
เห็นแบบนี้เราก็คงนึกถึงการเอา Function ที่ทำงานแบบ Timer Trigger มาทำงานใช่ไหม? ซึ่งก็ใช่ส่วนหนึ่ง
แต่ที่นี้คือเราอยากให้มันทำงานอิงจากเวลาใน Time zone ที่เราต้องการด้วยไง
ใช้วิธีการกำหนด Time Zone ผ่าน Application Setting
เราสามารถทำได้ โดยการใช้การกำหนด Application Setting ที่ชื่อ WEBSITE_TIME_ZONE นั่นเอง
โดยในที่นี้จะใช้ได้กับ Function App หรือ Azure App Service Web App ที่ใช้ Operating System (OS) เป็น Windows นะครับ ซึ่งค่า License รวมไปในค่าใช้บริการเรียบร้อย
- ใน Azure Portal ให้เปิด Function App resource และไปที่ Setting > Configuration
- เลือกแท่ป Application Setting
- กด + New Application Setting กรอกชื่อเป็น WEBSITE_TIME_ZONE และใช้ชื่อ time zone ที่ต้องการจากรายการนี้ เช่น
- จะได้ชื่อ Application Setting อยู่ในรายการ ให้กดปุ่ม Save และยืนยันการ Restart ตัว Function App
เท่านี้ตัวโค้ด Function App ของเราก็จะอิงเวลาตาม Time zone ที่กำหนดแล้วเย้ก