Leggere in inglese

Condividi tramite


Aggiungere il supporto dell'interfaccia della riga di comando per sviluppatori di Azure all'app usando un modello esistente

L'interfaccia della riga di comando per sviluppatori di Azure (azd) fornisce due diversi flussi di lavoro per inizializzare un modello da usare con l'app, tra cui:

  • Usa il codice nella directory corrente: questo approccio analizza l'app e genera automaticamente le risorse di infrastruttura e configurazione supportate.
  • Selezionare un modello: questo approccio consente di integrare un modello esistente con l'app o di usare un modello esistente come punto di partenza per una nuova app.

Entrambi questi approcci vengono esaminati nella documentazione di panoramica Creare modelli dell'interfaccia della riga di comando per sviluppatori di Azure.

Questo articolo illustra come aggiungere il supporto per l'interfaccia della riga di comando per sviluppatori di Azure (azd) all'app tramite l'approccio Selezionare un modello . Per altre informazioni sull'approccio alternativo, visitare il documento Aggiungi azd supporto all'app usando un modello esistente. Per altre informazioni sulla creazione azd di modelli, vedere anche Training - build and deploy templates (Training - compilazione e distribuzione azd di modelli).

Select a template for your app

Il flusso di lavoro Selezionare un modello del azd init comando consente di scegliere un modello esistente azd da usare come punto di partenza. Il contenuto del modello selezionato viene aggiunto alla directory radice del progetto. La maggior parte dei modelli fornisce il set necessario di file e cartelle e molti includono un set completo di file di infrastruttura come codice per effettuare il provisioning delle risorse di Azure per uno stack di azd applicazioni scelto.

In questo esempio si userà il modello Starter - Bicep , che include la struttura essenziale di un azd modello e un codice boilerplate utile per iniziare. I modelli di avvio sono un'ottima scelta quando si vuole eseguire lo scaffolding della struttura del modello corretta e le risorse iniziali, ma creare comunque file di infrastruttura personalizzati.

  1. Per seguire i passaggi successivi usando un'applicazione di esempio esistente, clonare il progetto di avvio seguente in una directory vuota nel computer:

    Bash
    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Nello strumento da riga di comando preferito passare alla directory radice del progetto clonato.

  3. Eseguire il azd init comando per inizializzare un azd modello.

    Bash
    azd init
    
  4. Quando richiesto, scegliere l'opzione Selezionare un modello.

    Screenshot che mostra le opzioni di selezione di un modello.

  5. Nell'elenco dei modelli selezionare Starter - Bicep. È possibile digitare il nome del modello o usare i tasti di direzione della tastiera per trovarlo.

  6. Quando richiesto, immettere un nome di ambiente breve, ad esempio testenv.

  7. Dopo aver eseguito azd init, gli asset seguenti vengono aggiunti alla directory corrente:

    txt
    ├── .azdo                                        [ Configures an Azure Pipeline ]
    ├── .devcontainer                                [ For DevContainer ]
    ├── .github                                      [ Configures a GitHub workflow ]
    ├── .vscode                                      [ VS Code workspace configurations ]
    ├── .azure                                       [ Stores Azure configurations and environment variables ]
    ├── infra                                        [ Contains infrastructure as code files ]
    │   ├── main.bicep/main.tf                       [ Main infrastructure file ]
    │   ├── main.parameters.json/main.tfvars.json    [ Parameters file ]
    │   └── core/modules                             [ Contains reusable Bicep/Terraform modules ]
    └── azure.yaml                                   [ Describes the app and type of Azure resources]
    

Aggiornare i file Bicep

Il progetto contiene ora la struttura principale e gli asset di un azd modello. Tuttavia, per effettuare il provisioning delle risorse di Azure per il progetto specifico, è necessario aggiornare i file Bicep nella infra cartella . Per ospitare l'applicazione di esempio, è necessario definire le risorse seguenti usando i file Bicep:

  • Un piano di servizio app Azure
  • Un servizio app Azure in esecuzione in Linux
  1. Aprire la directory del progetto radice nell'editor preferito, ad esempio Visual Studio Code.

  2. Aprire il main.bicep file nella infra cartella usando l'editor. Questo file contiene codice boilerplate utile per configurare variabili, parametri e convenzioni di denominazione essenziali. Sotto il blocco di commenti intorno alla riga 50 che legge Add resources to be provisioned below, aggiungere il bicep seguente:

    Bicep
    // Creates an app service instance to host the app
    module web './core/host/appservice.bicep' = {
      name: 'web'
      scope: rg
      params: {
        name: '${abbrs.webSitesAppService}web-${resourceToken}'
        location: location
        tags: union(tags, { 'azd-service-name': 'web' })
        appServicePlanId: appServicePlan.outputs.id
        runtimeName: 'python'
        runtimeVersion: '3.8'
        scmDoBuildDuringDeployment: true
      }
    }
    
    // Create an App Service Plan to group applications under the same payment plan and SKU
    module appServicePlan './core/host/appserviceplan.bicep' = {
      name: 'appserviceplan'
      scope: rg
      params: {
        name: '${abbrs.webServerFarms}${resourceToken}'
        location: location
        tags: tags
        sku: {
          name: 'B1'
        }
      }
    }
    

    Nota

    • Una stringa univoca viene generata in base all'ID sottoscrizione e usata come ${resourceToken} variabile. Questo token viene aggiunto al nome di tutte le risorse di Azure create da azd.
    • azd usa i tag per identificare le risorse in modo da poter modificare i nomi in base alla convenzione di denominazione dell'organizzazione.
    • Il 'azd-service-name': 'web' tag nel servizio app è il valore azd usato per identificare l'host di distribuzione. Il valore deve essere uguale a quello definito per il servizio nel file azure.yaml .

Aggiornare il file azure.yaml

Per distribuire l'app, azd è necessario saperne di più sull'app. Il azure.yaml file viene usato per definire il percorso del codice sorgente, la lingua e il servizio di hosting di Azure per ogni servizio nell'app. Per informazioni dettagliate, vedere lo schema azure.yaml.

  1. Aprire nella azure.yaml radice del progetto.

  2. Aggiungere le righe seguenti alla fine del file:

    yml
    name: msdocs-python-flask-webapp-quickstart
    services:
      web:
        project: .
        language: py
        host: appservice
    

Effettuare il provisioning e distribuire il modello

  1. Salvare tutte le modifiche ed eseguire il comando seguente per effettuare il provisioning e distribuire le risorse dell'app in Azure:

    Interfaccia della riga di comando per sviluppatori di Azure
    azd up
    
  2. Al termine del comando, fare clic sul collegamento nell'output del comando per passare al sito distribuito.

Il progetto è ora compatibile con l'interfaccia della riga di comando per sviluppatori di Azure e può essere usato come modello.

Nota

azd supporta anche l'uso di Buildpack per la containerizzazione delle app per impostazione predefinita. Se il azd modello è destinato ad App Azure Container o servizio Azure Kubernetes ma non include un file Docker, azd genera automaticamente un'immagine usando Buildpack.