Η εξασφάλιση της εφαρμογής Azure Function σας έχει πρόσβαση στο PowerShell Gallery περιλαμβάνει διάφορα βήματα, ειδικά όταν ασχολείται με μεγάλες ή συχνά ενημερωμένες ενότητες. Δείτε πώς μπορείτε να διαχειριστείτε αυτό:
1. Ενεργοποίηση διαχειριζόμενων εξαρτήσεων: Από προεπιλογή, οι λειτουργίες Azure μπορούν να κατεβάσουν αυτόματα και να διαχειρίζονται τις ενότητες PowerShell που καθορίζονται στο αρχείο `realues.psd1`. Αυτό είναι βολικό, αλλά μπορεί να προκαλέσει προβλήματα εάν η γκαλερί PowerShell είναι απρόσιτη ή εάν οι ενότητες είναι πολύ μεγάλες για να κατεβάσετε εντός της περιόδου χρονικού ορίου [3] [5].
2. Καθορίστε τις ενότητες στο `reality.psd1`: Εάν επιλέξετε να χρησιμοποιήσετε τις διαχειριζόμενες εξαρτήσεις, απαριθμήστε τις απαιτούμενες ενότητες στο αρχείο` diquents.psd1`. Για παράδειγμα, για να χρησιμοποιήσετε τη μονάδα AZ, αποσυνδέστε τη γραμμή `'az' = '13.*'` Στο αρχείο [9].
3. Προφόρτιση μεγάλων μονάδων: Για μεγάλες ενότητες ή όταν χρησιμοποιείτε το σχέδιο κατανάλωσης, είναι καλύτερο να τις προφορτωθείτε στην αποθήκευση της εφαρμογής της λειτουργίας σας. Αυτό περιλαμβάνει τη λήψη της ενότητας τοπικά, τη συμπίεση της και τη μεταφόρτωση της στον κατάλογο `wwwroot \ modules 'στην εφαρμογή λειτουργίας σας [1] [3].
4. Διαμορφώστε το `host.json`: Βεβαιωθείτε ότι το 'ManagedDependency' έχει οριστεί σε` false 'στο `host.json` εάν ανεβάσετε χειροκίνητα modules. Αυτό εμποδίζει την εφαρμογή της λειτουργίας από την προσπάθεια να κατεβάσετε αυτόματα τις ενότητες [1].
5. Ενημέρωση `Profile.ps1`: τροποποιήστε το αρχείο` profile.ps1` για να συμπεριλάβετε τη διαδρομή προσαρμοσμένης μονάδας στο '$ env: psmodulepath'. Αυτό εξασφαλίζει ότι τα χειροκίνητα μεταφορτωμένα μονάδες σας ανιχνεύονται από το PowerShell [1].
6. Ελέγξτε την πρόσβαση στο δίκτυο: Βεβαιωθείτε ότι η εφαρμογή λειτουργίας σας έχει πρόσβαση στη γκαλερί PowerShell ελέγχοντας τις ρυθμίσεις δικτύου της. Εάν περιορίζετε την πρόσβαση του κοινού, βεβαιωθείτε ότι η διεύθυνση IP της εφαρμογής λειτουργίας σας μπορεί να φτάσει στη γκαλερί [1].
Ακολουθώντας αυτά τα βήματα, μπορείτε να διασφαλίσετε ότι η εφαρμογή Azure Function σας έχει αξιόπιστη πρόσβαση στη γκαλερί PowerShell και μπορεί να διαχειριστεί αποτελεσματικά μεγάλες ή κρίσιμες ενότητες.
Αναφορές:
[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/2364245502888-installing-powershell-modules-in-azure-bunctions
[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-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-function-app/4163463
[8] https://laurakokkarinen.com/how-to-use-pnp-powershell-on-azure-wunctions-with-application-permissions/
[9] https://dev.to/rokicool/azure-function-app-flex-consportion-powershell-modules-solution-1hfg