Condividi tramite


Panoramica dei modelli Web azd python

I modelli dell'interfaccia della riga di comando Azure Developer per Python web (azd) sono il modo più rapido e semplice per sviluppare, configurare e distribuire applicazioni Web Python in Azure. Questo articolo fornisce informazioni di base contestuali per comprendere i componenti coinvolti e come i modelli semplificano la distribuzione.

Il modo migliore per iniziare consiste nel seguire la guida introduttiva per creare la prima app Web Python e distribuirla in Azure in pochi minuti con azd i modelli. Se si preferisce non configurare un ambiente di sviluppo locale, è possibile seguire la guida introduttiva usando GitHub Codespaces per un'esperienza completamente basata sul cloud con tutti gli strumenti preconfigurati.

Quali sono i modelli Web Python azd?

I azd modelli sono progettati per sviluppatori Web Python esperti che vogliono distribuire applicazioni scalabili e pronte per il cloud in Azure con tempi di installazione minimi.

Questi modelli offrono il punto di partenza più semplice per la compilazione e la distribuzione di applicazioni Web Python tramite:

  • Configurazione rapida di un ambiente di sviluppo e hosting locale completo.
  • Automazione della creazione di un ambiente di distribuzione di Azure corrispondente.
  • Uso di un flusso di lavoro CLI semplice e memorabile.

Dopo aver configurato gli ambienti, i modelli offrono il modo più rapido per iniziare a creare l'app Web Python. È possibile:

  • Modificare i file di codice forniti in modo che corrispondano ai requisiti dell'app.
  • Distribuire gli aggiornamenti con un impegno minimo usando i comandi azd.
  • Estendere il modello per adattarsi all'architettura.

Questi modelli riflettono modelli di progettazione collaudati e procedure consigliate, consentendo di:

  • Costruire con fiducia su una solida base architettonica.
  • Seguire le indicazioni sviluppate dagli esperti del settore con un'esperienza approfondita in Python e Azure.
  • Garantire la manutenibilità, la scalabilità e la sicurezza fin dall'inizio.

Quali attività è possibile eseguire con i modelli?

Quando si esegue un modello Web azd Python, è possibile completare rapidamente diverse attività:

  • Creare un'applicazione iniziale. Si crea un sito Web per una società fittizia denominata Relecloud. Questo progetto iniziale include:

    • Codice ben organizzato e pronto per la produzione
    • Procedure consigliate per framework Web Python (ad esempio Flask, Django).
    • Uso corretto di dipendenze, configurazione e struttura.

    Il modello è progettato per essere un punto di partenza: è possibile personalizzare liberamente la logica ed espandere o rimuovere le risorse di Azure per adattarsi al progetto.

  • Effettuare il provisioning delle risorse di Azure. Usando Bicep, un linguaggio IaC (Infrastructure-as-Code) moderno, il modello effettua il provisioning di tutte le risorse di Azure necessarie per:

    • Hosting dell'applicazione web (come App Service, Container Apps)
    • Connessione ai database (ad esempio PostgreSQL, Cosmos DB)

    I file Bicep sono completamente modificabili: è possibile aggiungere o personalizzare i servizi di Azure man mano che l'app si evolve. Analogamente all'attività precedente, è possibile modificare i modelli Bicep per aggiungere altri servizi di Azure in base alle esigenze.

  • Distribuire l'app iniziale nelle risorse di Azure di cui è stato effettuato il provisioning. Dopo il provisioning delle risorse, l'applicazione viene distribuita automaticamente nell'ambiente Azure. È ora possibile:

    • Guarda la tua app in esecuzione nel cloud in pochi minuti.
    • Testarne il comportamento.
    • Decidere quali funzionalità o configurazione aggiornare successivamente.
  • (Facoltativo) Configurare il repository GitHub e la pipeline CI/CD. Facoltativamente, è possibile inizializzare un repository GitHub con una pipeline di integrazione continua/recapito continuo (CI/CD) di GitHub Actions per:

    • Automatizzare le distribuzioni in caso di modifiche al codice.
    • Collaborare con i membri del team.
    • Eseguire il push degli aggiornamenti in Azure tramite l'unione nel ramo principale.

    Questa integrazione consente di adottare le procedure consigliate di DevOps fin dall'inizio.

Dove è possibile accedere ai modelli?

Molti azd modelli sono disponibili nella raccolta Awesome Azure Developer CLI Templates (Modelli dell'interfaccia della riga di comando per sviluppatori di Azure). Questi modelli offrono progetti di app Web Python pronti all'uso con parità di funzionalità tra le combinazioni più diffuse di servizi di Azure e framework Web Python.

Ogni modello include:

  • Applicazione di esempio con codice pulito e gestibile.
  • Infrastruttura preconfigurata come codice con Bicep.
  • Flussi di lavoro di distribuzione semplici usando l'interfaccia della riga di comando per sviluppatori di Azure.
  • Integrazione CI/CD facoltativa tramite GitHub Actions

Le tabelle seguenti elencano i moniker del modello Web azd Python disponibili per l'uso con il azd init comando . Le tabelle identificano le tecnologie implementate in ogni modello e forniscono un collegamento al repository GitHub corrispondente, in cui è possibile contribuire alle modifiche.

I modelli seguenti azd sono disponibili per il framework Web Django.

Modello Banca dati Piattaforma di hosting Repository GitHub
azure-django-postgres-flexible-aca Database di Azure per PostgreSQL - Server flessibile Azure Container Apps https://github.com/Azure-Samples/azure-django-postgres-flexible-aca
azure-django-postgres-flexible-appservice Database di Azure per PostgreSQL - Server flessibile Servizio app di Azure https://github.com/Azure-Samples/azure-django-postgres-flexible-appservice
azure-django-cosmos-postgres-aca Azure Cosmos DB per Database di Azure per PostgreSQL App contenitore di Azure https://github.com/Azure-Samples/azure-django-cosmos-postgres-aca
azure-django-cosmos-postgres-appservice Azure Cosmos DB per Database di Azure per PostgreSQL Servizio app di Azure https://github.com/Azure-Samples/azure-django-cosmos-postgres-appservice
azure-django-postgres-addon-aca App container di Azure con Database di Azure per PostgreSQL App contenitore di Azure https://github.com/Azure-Samples/azure-django-postgres-addon-aca

Come usare i modelli?

Ogni azd modello è costituito da un repository GitHub che contiene il codice dell'applicazione (codice Python che usa un framework Web diffuso) e i file infrastructure-as-code (vale a dire Bicep) per creare le risorse di Azure. Il modello contiene anche la configurazione necessaria per configurare un repository GitHub con una pipeline CI/CD.

I componenti chiave di ogni modello includono:

  • Codice dell'applicazione: scritto in Python e compilato usando un framework Web diffuso (ad esempio Flask, Django, FastAPI). L'app di esempio illustra le procedure consigliate per il routing, l'accesso ai dati e la configurazione.

  • Infrastructure-as-Code (IaC): fornito tramite file Bicep per definire ed effettuare il provisioning delle risorse di Azure necessarie, ad esempio:

    • App Service o App Container
    • Database di Azure (ad esempio PostgreSQL, Cosmos DB)
    • Servizi di intelligenza artificiale di Azure, Archiviazione e altro ancora
  • Configurazione CI/CD (facoltativo): include i file per configurare un repository GitHub con una pipeline CI/CD di GitHub Actions, consentendo di:

    • Distribuzione automatica su Azure ad ogni push o pull request al ramo principale.
    • Integrazione semplificata nel flusso di lavoro devOps

    Questi modelli sono completamente personalizzabili, offrendo una solida base per la compilazione e l'adattamento alle esigenze specifiche del progetto.

Per eseguire le attività definite da un azd modello Web, usare vari comandi Python azd . Per descrizioni dettagliate di questi comandi, vedere Avvio rapido: Distribuire un modello dell'interfaccia della riga di comando per sviluppatori di Azure. La guida introduttiva illustra i passaggi per usare un modello specifico azd . È sufficiente eseguire cinque istruzioni essenziali della riga di comando per l'ambiente di hosting di produzione e l'ambiente di sviluppo locale.

La tabella seguente riepiloga i cinque comandi essenziali:

Comando Descrizione attività
azd init --template <template name> Creare un nuovo progetto da un modello e creare una copia del codice dell'applicazione nel computer locale. Il comando richiede di specificare un nome di ambiente (ad esempio "myapp") usato come prefisso nella denominazione delle risorse distribuite.
azd auth login Accedere ad Azure. Il comando apre una finestra del browser in cui è possibile accedere ad Azure. Dopo l'accesso, la finestra del browser viene chiusa e il comando viene completato. Il azd auth login comando è necessario solo la prima volta che si usa l'interfaccia della riga di comando per sviluppatori di Azure (azd) per sessione.
azd up Effettuare il provisioning delle risorse cloud e distribuire l'app su tali risorse.
azd deploy Distribuire le modifiche apportate al codice sorgente dell'applicazione alle risorse già sottoposte a provisioning mediante il comando azd up.
azd down Eliminare le risorse di Azure e la pipeline CI/CD, se usata.

Suggerimento

Quando si lavora con i azd comandi, controllare le richieste di immissione di altre informazioni. Dopo aver eseguito il azd up comando, potrebbe essere richiesto di selezionare una sottoscrizione, se sono presenti più sottoscrizioni. Potrebbe anche essere richiesto di specificare l'area. È possibile modificare le risposte alle richieste modificando le variabili di ambiente archiviate nella cartella /.azure/ del modello.

Dopo aver completato le attività essenziali fornite dal azd modello, è disponibile una copia personale del modello originale in cui è possibile modificare qualsiasi file, in base alle esigenze.

  • Codice applicazione: personalizzare il codice del progetto Python per implementare la propria progettazione, route e logica di business.
  • Infrastruttura come codice (Bicep): aggiornare i file Bicep per effettuare il provisioning di servizi di Azure aggiuntivi, modificare le configurazioni o rimuovere risorse non necessarie.

Questo punto di partenza flessibile ti permette di basarti su una base ben strutturata, adattando l'app al tuo caso d'uso reale.

È anche possibile modificare la configurazione dell'infrastruttura come codice se è necessario modificare le risorse di Azure. Per altre informazioni, vedere la sezione What can I edit or delete più avanti in questo articolo.

Attività facoltative del modello

Oltre ai cinque comandi essenziali, sono disponibili attività facoltative che è possibile completare con i azd modelli.

Eseguire nuovamente il provisioning e modificare le risorse di Azure

Dopo aver effettuato il provisioning delle risorse di Azure con un azd modello, è possibile modificare e effettuare nuovamente il provisioning di una risorsa.

Configurare la pipeline CI/CD

L'interfaccia della riga di comando per sviluppatori di Azure (azd) offre un modo semplice per configurare una pipeline CI/CD per la nuova app Web Python. Quando si uniscono i commit o le richieste pull nel ramo principale, la pipeline compila e pubblica automaticamente le modifiche alle risorse di Azure.

  • Per configurare la pipeline CI/CD, designare il repository GitHub e le impostazioni desiderate per abilitare la pipeline.
  • Per creare la pipeline, usare il azd pipeline config comando .

Dopo aver configurato la pipeline, ogni volta che le modifiche al codice vengono unite al ramo principale del repository, la pipeline distribuisce le modifiche ai servizi di Azure di cui è stato effettuato il provisioning.

Alternative ai modelli

Se si preferisce non usare i modelli Web azd Python, esistono metodi alternativi per la distribuzione di app Web Python in Azure e il provisioning delle risorse di Azure.

È possibile creare molte risorse e completare i passaggi di distribuzione usando diversi strumenti:

È anche possibile seguire un tutorial completo che presenta i framework di sviluppo web Python.

Domande frequenti

Le sezioni seguenti riepilogano le risposte alle domande frequenti sull'uso dei modelli Web azd Python.

È necessario usare i contenitori di sviluppo?

No I modelli Web azd Python usano i contenitori di sviluppo di Visual Studio Code per impostazione predefinita. I contenitori di sviluppo offrono molti vantaggi, ma richiedono alcune conoscenze e software prerequisiti. Se si preferisce non usare Contenitori di sviluppo e usare invece l'ambiente di sviluppo locale, vedere il file README.md nella directory radice dell'app di esempio per istruzioni di configurazione dell'ambiente.

Cosa è possibile modificare o eliminare?

Il contenuto di ogni modello Web azd Python può variare a seconda del tipo di progetto e dello stack di tecnologie sottostante usato. I modelli identificati in questo articolo seguono una cartella e una convenzione di file comuni, come descritto nella tabella seguente.

Cartella/file(s) Scopo Descrizione
/ Directory radice La cartella radice per ogni modello contiene molti tipi diversi di file e cartelle per scopi diversi.
/.azzurro azd file di configurazione La cartella .azure viene creata dopo l'esecuzione del azd init comando . La cartella archivia i file di configurazione per le variabili di ambiente usate dai azd comandi. È possibile modificare i valori delle variabili di ambiente per personalizzare l'app e le risorse di Azure. Per altre informazioni, vedere File .env specifico per l'ambiente.
/.devcontainer File di configurazione di Dev Container I contenitori di sviluppo consentono di creare un ambiente di sviluppo basato su contenitori completo di tutte le risorse necessarie per lo sviluppo software all'interno di Visual Studio Code. La cartella .devcontainer viene creata dopo che Visual Studio Code genera un file di configurazione del contenitore di sviluppo in risposta a un comando modello.
/.github File di configurazione di GitHub Actions Questa cartella contiene le impostazioni di configurazione per la pipeline CI/CD di GitHub Actions facoltativa, l'linting e i test. Se non si vuole configurare la pipeline di GitHub Actions usando azd pipeline config il comando , è possibile modificare o eliminare il file azure-dev.yaml .
/infra File Bicep La cartella infra contiene i file di configurazione bicep. Bicep consente di dichiarare le risorse di Azure da distribuire nell'ambiente. È consigliabile modificare solo i file main.bicep e web.bicep . Per altre informazioni, vedere Avvio rapido: Ridimensionamento dei servizi distribuiti con i modelli Web azd Python usando Bicep.
/Src File di codice del progetto iniziale La cartella src contiene vari file di codice necessari per preparare il progetto iniziale. Esempi di file includono modelli richiesti dal framework Web, file statici, file Python (.py) per la logica del codice e i modelli di dati, un file requirements.txt e altro ancora. I file specifici dipendono dal framework Web, dal framework di accesso ai dati e così via. È possibile modificare questi file in base ai requisiti del progetto.
/.cruft.json File di generazione del modello Il file JSON .cruft viene usato internamente per generare i modelli Web azd Python. È possibile eliminare il file in modo sicuro, in base alle esigenze.
/.gitattributes File con impostazioni dell'attributo per Git Questo file fornisce a Git impostazioni di configurazione importanti per la gestione di file e cartelle. È possibile modificare questo file in base alle esigenze.
/.gitignore File con elementi ignorati per Git Il file con estensione gitignore informa git sui file e le cartelle da escludere (ignorare) durante la scrittura nel repository GitHub per il modello. È possibile modificare questo file in base alle esigenze.
/azure.yaml azd up file di configurazione Questo file di configurazione contiene le impostazioni di configurazione per il azd up comando . Specifica i servizi e le cartelle di progetto da distribuire. Importante: questo file non deve essere eliminato.
/*.Md File di formato Markdown Un modello può includere vari file di formato Markdown (.md) per scopi diversi. È possibile eliminare in modo sicuro i file Markdown.
/docker-compose.yml Impostazioni di Docker Compose Questo file YML crea il pacchetto contenitore per l'applicazione Web Python prima che l'app venga distribuita in Azure.
/pyproject.toml File delle impostazioni di compilazione python Il file TOML contiene i requisiti di sistema di compilazione dei progetti Python. È possibile modificare questo file per identificare le preferenze degli strumenti, come un linter specifico o un framework di testing unitario.
/requirements-dev.in file dei requisiti pip Questo file viene usato per creare una versione dell'ambiente di sviluppo dei requisiti usando il pip install -r comando . È possibile modificare questo file in modo da includere altri pacchetti, in base alle esigenze.

Suggerimento

Quando si modificano i file di modello per il programma, assicurarsi di praticare un buon controllo della versione. Questo approccio consente di ripristinare il repository in una versione di lavoro precedente, se le nuove modifiche causano problemi di programma.

Come è possibile gestire gli errori del modello?

Se viene visualizzato un errore quando si usa un azd modello, esaminare le opzioni descritte nell'articolo Risolvere i problemi dell'interfaccia della riga di comando per sviluppatori di Azure. È anche possibile segnalare problemi nel repository GitHub associato al azd modello.