Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usa questa guida per passare dal modello di hosting legacy Functions on App contenitore di Azure V1 al modello di hosting consigliato Functions on App contenitore di Azure V2. Si apprenderà perché eseguire la migrazione, le modifiche e come eseguire la transizione con un rischio minimo.
Annotazioni
Usa l'assistente di migrazione Funzioni di Azure on App contenitore di Azure v1 per aiutare a migrare le tue app funzione dal modello v1 a quello v2.
È possibile ospitare Funzioni di Azure in App Contenitore di Azure usando due modelli di distribuzione:
Funzioni su App contenitore di Azure V1: modello proxy legacy che utilizza una Function App (
Microsoft.Webfornitore di risorse) più un'app container dietro le quinte.Funzioni su App contenitore di Azure V2: modello nativo che crea una singola risorsa Azure Container App (
Microsoft.App) conkind=functionapp.
Quando passi a Functions su App contenitore di Azure V2, semplifichi la gestione, sblocchi funzionalità native e ti allinei alla roadmap futura di Funzioni di Azure.
Confronto tra modelli
| Area | Funzioni in App contenitore di Azure V1 (legacy) | Functions on App contenitore di Azure V2 (consigliato) |
|---|---|---|
| Modello di risorsa | Funzioni di proxy abbinate a un'applicazione contenitore nascosta | Singola app contenitore nativa (kind=functionapp) |
| Funzionalità native (revisioni, segreti, probe di integrità, domini personalizzati, sidecar) |
Non supportato | Sostenuto |
| Controlli di ridimensionamento (cooldown, intervallo di polling) |
Limitato | Opzioni di ridimensionamento completo delle app contenitore |
| Registrazione e risoluzione dei problemi | Indiretto. Nessuna console live | Diretto. Includi log e diagnostiche in tempo reale |
| Integrazione di Dapr | Problemi in alcuni scenari .NET isolati | Supportato con modelli standard |
| Autenticazione (Easy Auth) | Non disponibile | Disponibile |
| Certificati e domini personalizzati | Non disponibile | Disponibile |
| Metriche e avvisi | Basic | Metriche e avvisi nativi completi |
| Piano futuro (listato di funzioni, chiavi, conteggio chiamate) |
Non pianificata | Pianificato |
| Complessità operativa | Gestione delle risorse duali | Singola risorsa |
| Consigliato per le nuove distribuzioni | NO | Yes |
Limitazioni delle funzioni su App contenitore di Azure v1
Le funzioni su App contenitore di Azure V1 presentano diverse limitazioni che influenzano scalabilità, gestione e disponibilità delle funzionalità. Comprendere questi vincoli aiuta a chiarire i vantaggi della migrazione verso Functions su App contenitore di Azure V2.
Lacune delle funzionalità
Le seguenti funzionalità non sono disponibili per le Funzioni sulle app App contenitore di Azure V1:
- Autenticazione semplice
- Sonde di monitoraggio della salute
- Domini personalizzati
- Contenitori sidecar
- Certificati gestiti
- Segreti dell'applicazione container
- Impostazioni di scalabilità granulare
- Separare il traffico di più revisioni
Risoluzione dei problemi relativi ai vincoli
Con le app Functions on App contenitore di Azure V1, non si dispone dell'accesso diretto ai container né dell'output della console in tempo reale. Invece, usa Log Analytics per la diagnostica dell'infrastruttura e Application Insights per i log applicativo.
Problemi di integrazione di Dapr
Le funzioni isolate Dapr e .NET possono entrare in conflitto durante la fase di compilazione o durante l'esecuzione a causa di vincoli di ordinamento delle dipendenze e dell'inizializzazione.
Benefici delle funzioni su App contenitore di Azure v2
Functions on App contenitore di Azure V2 crea direttamente una risorsa nativa per app container. Questo approccio rimuove l'indirezione del proxy e abilita tutte le funzionalità di App contenitore di Azure.
Vantaggi principali:
- Abilitare Easy Auth per l'offload delle identità.
- Configurare sonde di controllo per migliorare la resilienza.
- Impostare domini personalizzati e usare i certificati gestiti.
- Ridurre il sovraccarico operativo con una singola risorsa.
- Archiviare i segreti in modo nativo e montare i contenitori sidecar.
- Ottenere metriche, avvisi e streaming di log live più chiari.
- Usare distribuzioni con più revisioni e separare il traffico in modo sicuro.
- Applicare regole di ridimensionamento granulari (intervallo di polling, raffreddamento).
Annotazioni
Non sono necessarie modifiche al codice. È possibile riutilizzare l'immagine del contenitore esistente.
Distribuzione di immagini dirette legacy (non supportata)
Alcune distribuzioni usano un'app contenitore standard senza kind=functionapp e eseguono manualmente un'immagine di Funzioni.
Importante
Questo approccio non è supportato. Non dispone di regole di scala automatica e non riceve funzionalità future di Funzioni sulla piattaforma App contenitore di Azure V2 come elenco delle funzioni, chiavi e conteggio delle invocazioni.
Raccomandazione: Migra alle funzioni su App contenitore di Azure v2.
Prerequisiti
Prima della migrazione:
- Sottoscrizione di Azure e autorizzazione per creare risorse.
- [Interfaccia della riga di comando](/cli/azure/install-azure-cli-windows?view=azure-cli-latest (versione più recente) installata.
- Estensioni obbligatorie:
az extension add --name containerapp,az extension add --name functionapp(se applicabile). - Accesso all'immagine container utilizzata dalle tue Funzioni sulla distribuzione di App contenitore di Azure V1.
- Inventario di variabili di ambiente, segreti, associazioni di archiviazione e impostazioni di rete.
Procedura di migrazione
1. Preparare
- Identifica che la tua implementazione attuale è un'app Functions on App contenitore di Azure V1.
- Esportare tutti i dati di configurazione, incluse variabili di ambiente, segreti, stringhe di connessione e associazioni personalizzate.
- Esaminare le quote di ambiente (CPU, memoria, istanze massime) e regolare, se necessario.
- Verificare la disponibilità delle immagini nel Registro di sistema.
2. Crea una funzione su App contenitore di Azure v2 app
Creare o riutilizzare un ambiente di App Azure Container.
Distribuisci una nuova app Functions su App contenitore di Azure V2 con la stessa immagine.
az containerapp create \ --name my-func-v2 \ --resource-group <RESOURCE_GROUP_NAME> \ --environment <ENVRONMENT_NAME> \ --image myregistry.azurecr.io/<IMAGE_NAME>:<TAG_NAME> \ --kind functionapp \ --ingress external --target-port <TARGET_PORT>Riapplicare i dettagli della configurazione, inclusi segreti, variabili di ambiente, identità, rete.
Abilitare l'autenticazione o il dominio personalizzato, se necessario.
Definire le regole di ridimensionamento (HTTP, CPU, correlazione del trigger della coda in base alle esigenze).
3. Convalidare
Richiamare funzioni attivate da HTTP (curl o browser).
Testare ogni tipo di trigger (Hub eventi, bus di servizio, timer).
Verificare i dati di telemetria di Application Insights e i log di Log Analytics.
Controllare il comportamento di scalabilità sotto carico (attivazione delle regole di autoscaling).
Verificare che i segreti e le stringhe di connessione vengano risolti in modo corretto.
Confermare lo stato del probe di integrità e i dettagli della revisione del contenitore.
4. Aggiornare DNS o domini personalizzati (facoltativo)
Se stai usando un dominio personalizzato, mappalo al nuovo nome host di Functions on App contenitore di Azure V2 (record CNAME o record A).
Ribindare i certificati SSL/TLS (gestiti o caricati).
Testare la risoluzione del dominio e l'handshake TLS.
Comunicare le modifiche dell'endpoint internamente.
5. Eseguire la migrazione
Spostare il traffico di produzione (aggiornare TTL DNS o le regole di routing).
Monitorare la latenza, gli errori e i conteggi delle chiamate.
Modificare i parametri di ridimensionamento, se necessario (cooldown, min/max istanze).
Tenere traccia dei log delle anomalie durante le prime ore.
6. Pulire
Dismettere le vecchie funzioni sull'app App contenitore di Azure V1 e le risorse correlate.
Attenzione
Verifica che nessun traffico di produzione prenda ancora di mira le Funzioni sull'endpoint di App contenitore di Azure V1 prima della cancellazione.
Rimuovere i segreti o i riferimenti all'archiviazione inutilizzati.
Aggiornare la documentazione interna e i runbook operativi.
Elenco di controllo di convalida
| Elemento | Criteri di accettazione |
|---|---|
| I trigger si attivano | Tutti i trigger configurati vengono eseguiti correttamente |
| Log e telemetria | Application Insights mostra le invocazioni; streaming dei log in tempo reale |
| Scaling | Il numero di istanze si regola in base alla configurazione della regola. |
| Autenticazione (se abilitata) | Gli endpoint protetti restituiscono codici di stato previsti |
| Domini | Il dominio personalizzato viene risolto con un certificato valido |
| Secrets | Caricamento dei valori sensibili senza errori |
Miglioramenti operativi (facoltativo)
Migliorare l'affidabilità dopo la migrazione:
- Aggiungere regole di avviso
- Regolare lo scaling automatico
- Imporre l'utilizzo dell'identità gestita
- Centralizzare le credenziali riservate