บันทึกการแก้ปัญหา Publish Dotnet 8 ไปที่ Azure Function App แบบด่วนๆ
Published in
2 min readSep 19, 2024
Developer แบบเราๆ หนีไม่พ้น งานด่วนจัดๆ แล้วเวลาเรารีบๆ เราก็จะติดปัญหา Technical นั่นนี่นู่น (อาจจะเกี่ยวกับสีเสื้อที่เราใส่ด้วย -_- ) ทำให้งานด่วนของเราต้องติดขัด
การหาข้อมูลเอาหน้างานหรือการใช้ AI ในช่วงที่เรารีบนั้น เป็นเรื่องที่หายนะมาก เพราะเราต้องรีบอ่านรีบเอามาลอง สุดท้ายเราจะได้ Solution ที่ไม่โอเคร หรือแก้ไม่ได้เลย
ไม่แปลกเลย ที่ Developer คนเก่งๆ แถวหน้าของเมืองไทย ทั้งที่ซ่อนตัวและเปิดเผย เข้าถึงต้องจัดสรรเวลา ส่วนนึงไปเรียน ไป อ่านหนังสือ เพราะเราจะได้ไม่ต้องเอามา งมเอาหน้างาน หยั่งน้อยก็พอจำได้ อ่านผ่านตามา หรือเคยจดไว้ การแก้ปัญหาจะสามารถทำได้รวดเร็ว
มาเริ่มที่ปัญหาที่เจอกันดีกว่า
- Publish Azure Function ที่เป็น .net 8 In-process mode ขึ้น Azure Function App แล้ว เกิด Runtime Error เนื่องจาก library version ไปขัดแย้งกับ process หลัก
- ไม่สามารถ run / test function ได้แบบ manual เกิด forbidden 403 ขึ้นตลอด
วิธีแก้ปัญหา มาเป็น link เลย
- เปรียบเทียบความแตกต่างระหว่าง In-process และ Isolated worker mode https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-in-process-differences
- Migrate project Azure function ที่เป็น In-process mode ให้กลายเป็น Isolated worker mode ด้วยวิธีการดังนี้ https://learn.microsoft.com/en-us/azure/azure-functions/migrate-dotnet-to-isolated-model?tabs=net8
- Guide to run in Isolated worker mode in details https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide?tabs=windows
- ตัวอย่างการเขียน Timer Trigger https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer?tabs=python-v2%2Cisolated-process%2Cnodejs-v4&pivots=programming-language-csharp
- แก้ปัญหาไม่สามารถ กด run/test Azure function runtime version 4.34.2.22820 ได้ https://github.com/Azure/azure-functions-host/issues/10422
บทเรียน
- link ทั้งหมดเป็น link จาก Microsoft Doc. และ Github Community ChatGPT ตอบมั่วเลยพึ่งไม่ได้ ดังนั้นการ อ่าน Doc. ของ Microsoft หรือการหาข้อมูลจาก community ยังเป็นสิ่งจำเป็นมาก
- ส่วนตัวผมชอบเอางานมาทำในเวลาส่วนตัวเข้าใจว่ามันมีสมาธิดี แต่พอถึงเวลางานด่วนหรือเวลาสำคัญๆ ในจุดที่ต้องตัดสินใจจริงๆ มันทำให้เรามีข้อมูลไม่เพียงพอ
- ทั้งหมดทั้งมวล สุดท้ายขอใช้ medium ตัวนี้เป็นช่วยย้ำเตือนว่าเราควรแบ่งเวลามาศึกษาความรู้ให้มากๆ แบ่งเวลางาน เวลาคุยงาน เวลาศึกษาหาความรู้ให้ชัดเจน และ อย่าลืมมีเวลาให้กับครอบครัว และการดูแลสุขภาพของตัวเองด้วยยยยยย จำเป็นสุดๆๆ