Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ฉันจะมั่นใจได้อย่างไรว่าแอพฟังก์ชั่นของฉันสามารถเข้าถึง PowerShell Gallery


ฉันจะมั่นใจได้อย่างไรว่าแอพฟังก์ชั่นของฉันสามารถเข้าถึง PowerShell Gallery


การสร้างความมั่นใจว่าแอพฟังก์ชั่น Azure ของคุณสามารถเข้าถึง PowerShell Gallery เกี่ยวข้องกับหลายขั้นตอนโดยเฉพาะอย่างยิ่งเมื่อต้องรับมือกับโมดูลขนาดใหญ่หรืออัปเดตบ่อยครั้ง นี่คือวิธีที่คุณสามารถจัดการสิ่งนี้ได้:

1. เปิดใช้งานการพึ่งพาที่ได้รับการจัดการ: โดยค่าเริ่มต้นฟังก์ชั่น Azure สามารถดาวน์โหลดและจัดการโมดูล PowerShell ที่ระบุไว้ในไฟล์ `` psd1` ไฟล์โดยอัตโนมัติ สิ่งนี้สะดวก แต่อาจทำให้เกิดปัญหาหากแกลเลอรี PowerShell ไม่สามารถเข้าถึงได้หรือถ้าโมดูลมีขนาดใหญ่เกินกว่าที่จะดาวน์โหลดภายในระยะเวลาหมดเวลา [3] [5]

2. ระบุโมดูลใน `ข้อกำหนด. psd1`: หากคุณเลือกที่จะใช้การพึ่งพาที่มีการจัดการแสดงรายการโมดูลที่ต้องการในไฟล์` chedule.psd1` ตัวอย่างเช่นในการใช้โมดูล AZ ให้ยกเลิกบรรทัด `'Az' = '13.*'` ในไฟล์ [9]

3. preload โมดูลขนาดใหญ่: สำหรับโมดูลขนาดใหญ่หรือเมื่อใช้แผนการบริโภคจะดีกว่าที่จะโหลดไว้ล่วงหน้าลงในที่เก็บของแอพฟังก์ชั่นของคุณ สิ่งนี้เกี่ยวข้องกับการดาวน์โหลดโมดูลในเครื่องบีบอัดและอัปโหลดไปยังไดเรกทอรี `wwwroot \ modules` ในแอพฟังก์ชั่นของคุณ [1] [3]

4. กำหนดค่า `host.json`: ตรวจสอบให้แน่ใจว่า` manageddependency 'ถูกตั้งค่าเป็น `false` ใน` host.json` หากคุณอัปโหลดโมดูลด้วยตนเอง สิ่งนี้จะช่วยป้องกันไม่ให้แอปฟังก์ชั่นพยายามดาวน์โหลดโมดูลโดยอัตโนมัติ [1]

5. อัปเดต `profile.ps1`: แก้ไขไฟล์` profile.ps1` เพื่อรวมพา ธ โมดูลที่กำหนดเองใน `$ env: psmodulepath` สิ่งนี้ทำให้มั่นใจได้ว่าโมดูลที่อัปโหลดด้วยตนเองของคุณจะถูกตรวจพบโดย PowerShell [1]

6. ตรวจสอบการเข้าถึงเครือข่าย: ตรวจสอบให้แน่ใจว่าแอปฟังก์ชั่นของคุณสามารถเข้าถึงแกลเลอรี PowerShell ได้โดยตรวจสอบการตั้งค่าเครือข่าย หากคุณ จำกัด การเข้าถึงสาธารณะตรวจสอบให้แน่ใจว่าที่อยู่ IP ของแอปฟังก์ชั่นของคุณสามารถเข้าถึงแกลเลอรี่ [1]

โดยทำตามขั้นตอนเหล่านี้คุณสามารถมั่นใจได้ว่าแอพฟังก์ชั่น Azure ของคุณสามารถเข้าถึง PowerShell Gallery และสามารถจัดการโมดูลขนาดใหญ่หรือวิกฤตได้อย่างมีประสิทธิภาพ

การอ้างอิง:
[1] https://digitalmaterial.ch/blog/azure-function-app-with-large-powershell-modules/
[2] https://practical365.com/how-to-use-internal-powershell-gallery-app/
[3] https://support.cloudradial.com/hc/en-us/articles/23642455028884-installing-powershell-modules-in-azure-functions
[4] https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings
[5] https://about-powershell.com/blog/azure-functions-fails-when-powershell-gallery-is-ing-not-reachable-powershell-worker-runtime/
[6] https://pnp.github.io/powershell/articles/azurefunctions.html
[7] https://techcommunity.microsoft.com/blog/appsonazureblog/steps-to-manually-add-powershell-modules-in-function-app/4163463
[8] https://laurakokkarinen.com/how-to-use-pnp-powershell-on-azure-functions-with-application-permissions/
[9] https://dev.to/rokicool/azure-function-app-flex-consumption-powershell-modules-solution