Condividi tramite


Informazioni di riferimento per l'interfaccia della riga di comando di App Web statiche di Azure

Informazioni di riferimento sui comandi dell'interfaccia della riga di comando di App Web statiche di Azure.

Commands

Command Description Type Status
swa login Consente di accedere ad Azure. SWA Core GA
swa init Configura un nuovo progetto App Web statiche di Azure. SWA Core GA
swa build Compila l'applicazione. Se si dispone di un'applicazione Node.js, vengono installate prima le dipendenze. SWA Core GA
swa start Avviare l'emulatore App Web statiche di Azure da una directory o eseguire l'associazione a un server di sviluppo in esecuzione. SWA Core GA
swa deploy Distribuire il progetto corrente in App Web statiche di Azure. SWA Core GA
swa db Generare e modificare la configurazione delle connessioni di database App Web statiche. SWA Core GA

Global Parameters

Parameter Summary
--version, -v Visualizzare il numero di versione.
--verbose, --V [livello] Abilitare l'output dettagliato. I valori di livello includono silly, info( log impostazione predefinita) e silent.
--config, -c [path] Percorso del file swa-cli.config.json.
--config-name, -cn Configurazione usata dall'interfaccia della riga di comando.
--print-config, -g Stampa tutte le opzioni risolte. Il valore predefinito è false.
--help, -h Mostra la Guida sensibile al contesto.

swa login

Consente di accedere ad Azure.

Eseguire l'autenticazione con Azure per ottenere un token di distribuzione per App Web statiche di Azure usando il swa deploy comando .

Syntax

swa login
          [--subscription-id]
          [--resource-group]
          [--tenant-id]
          [--client-id]
          [--client-secret]
          [--app-name]
          [--clear-credentials]
          [--use-keychain]
          [--no-use-keychain]

Examples

Esempio 1: Accesso interattivo ad Azure

swa login

Parameters

--subscription-id, -S

ID sottoscrizione di Azure usato da questo progetto. Il valore predefinito è process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>.

--tenant-id, -T

ID tenant di Azure. Il valore predefinito è process.env.AZURE_TENANT_ID.

--client-id, -C

ID client di Azure.

--client-secret, -CS

Segreto client di Azure.

--app-name, -n

App Web statiche di Azure nome dell'app.

--clear-credentials -cc

Cancellare le credenziali persistenti prima dell'accesso. Il valore predefinito è false.

--use-keychain, -u

Usare il keychain nativo del sistema operativo per le credenziali persistenti. Il valore predefinito è true.

--no-use-keychain, -nu

Disabilitare l'uso del keychain nativo del sistema operativo.

Global Parameters

swa init

Configura un nuovo progetto App Web statiche di Azure.

Configura un nuovo progetto di App Web statiche di Azure con l'interfaccia della riga di comando di App Web statiche. La modalità interattiva richiede un nome di configurazione, rileva le impostazioni del progetto e i framework usati. Al termine, viene creata una nuova app Web statica e viene generato un swa-cli.config.json file nella directory corrente.

È possibile eseguire swa init più volte per creare configurazioni diverse per il progetto. È possibile eseguire questa operazione se si sta lavorando a un monorepo e si vogliono configurare progetti diversi.

Il file di configurazione generato viene usato in ogni comando eseguito con l'interfaccia della riga di comando di App Web statiche. Se sono presenti più configurazioni denominate, è possibile usare l'argomento posizionale o --config-name l'opzione per specificare la configurazione da usare.

Di seguito è riportata una configurazione di esempio generata dal init comando :

{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "configurations": {
    "myApp": {
      "appLocation": ".",
      "apiLocation": "api",
      "outputLocation": "dist",
      "appBuildCommand": "npm run build",
      "apiBuildCommand": "npm run build --if-present",
      "run": "npm run dev",
      "appDevserverUrl": "http://localhost:8080"
    }
  }
}

Syntax

swa init
          [--yes]

Examples

Esempio 1: Creare una nuova configurazione in modo interattivo.

swa init

Esempio 2: Creare una nuova configurazione usando i valori predefiniti per tutte le opzioni.

swa init --yes

Esempio 3: Inizializzare il progetto usando la configurazione denominata "myApp" dal file swa-cli.config.json.

swa init --config-name myApp

Parameters

--yes, -y

Risponde "sì" a tutte le richieste, che disabilita la modalità interattiva. Il valore predefinito è false.

Global Parameters

swa build

Compila l'applicazione. Se si dispone di un'applicazione Node.js, vengono installate prima le dipendenze.

I casi d'uso comuni includono: installazione delle dipendenze per l'app front-end e l'API ed esecuzione dei comandi di compilazione per entrambi, solo la compilazione del progetto front-end o API se l'altro non ha un passaggio di compilazione.

Syntax

swa build
          [--app-location]
          [--api-location]
          [--output-location]
          [--app-build-command]
          [--api-build-command]
          [--auto]

Examples

Esempio 1: Compilare l'app e, facoltativamente, installare le dipendenze.

swa build

Esempio 2: rilevare come compilare l'app ed eseguire i comandi di compilazione dopo l'installazione delle dipendenze.

swa build --auto

Esempio 3: Installare le dipendenze per l'applicazione front-end.

swa build --app-location ./client

Esempio 4: usare la configurazione denominata myApp in swa-cli.config.json per compilare l'applicazione front-end.

swa build myApp

Parameters

--app-location, -a

Cartella contenente il codice sorgente dell'applicazione front-end. Il valore predefinito è ..

--api-location, -i

Cartella contenente il codice sorgente dell'applicazione API.

--output-location, -O

Cartella contenente l'origine compilata dell'applicazione front-end. Questo percorso è relativo a --app-location. Il valore predefinito è ..

--app-build-command, -A

Compila l'applicazione front-end.

--api-build-command, -I

Compila l'applicazione API.

--auto

Rileva automaticamente come compilare le applicazioni front-end e api. Il valore predefinito è false.

Global Parameters

swa start

Avviare l'emulatore App Web statiche di Azure da una directory o eseguire l'associazione a un server di sviluppo in esecuzione.

Gestire da una cartella

Per impostazione predefinita, l'interfaccia della riga di comando avvia e gestisce qualsiasi contenuto statico dalla directory ./di lavoro corrente:

swa start

Se la cartella artefatto dell'app statica si trova in una cartella diversa , ad esempio ./my-dist, eseguire l'interfaccia della riga di comando e specificare tale cartella:

swa start ./my-dist

Eseguire il servizio da un server di sviluppo

Quando si sviluppa l'app front-end in locale, è spesso utile usare il server di sviluppo fornito con l'interfaccia della riga di comando del framework front-end. L'uso dell'interfaccia della riga di comando del framework consente di usare funzionalità predefinite come "livereload" e HMR (sostituzione dei moduli ad accesso frequente).

Per usare l'interfaccia della riga di comando di SWA con il server di sviluppo locale, seguire questa procedura:

  1. Avviare il server di sviluppo locale come di consueto. Ad esempio, se si usa Angular: ng serve (o npm start).

  2. In un terminale separato eseguire swa start con l'URI fornito dal server di sviluppo, nel formato seguente:

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Di seguito è riportato un elenco delle porte e dei comandi predefiniti usati da alcuni server di sviluppo più diffusi:

Tool Port Command
Angular 4200 swa start http://localhost:4200
Blazor WebAssembly 5000 swa start http://localhost:5000
Gatsby 8000 swa start http://localhost:8000
Hugo 1313 swa start http://localhost:1313
Next.js 3000 swa start http://localhost:3000
React (Crea app React) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Anziché avviare un server di sviluppo separatamente, è possibile fornire il comando di avvio all'interfaccia della riga di comando.

# npm start script (React)
swa start http://localhost:3000 --run "npm start"

# dotnet watch (Blazor)
swa start http://localhost:5000 --run "dotnet watch run"

# Jekyll
swa start http://localhost:4000 --run "jekyll serve"

# custom script
swa start http://localhost:4200 --run "./startup.sh"

Accedere quindi all'applicazione con i servizi emulati da http://localhost:4280

Gestire sia l'app front-end che l'API

Se il progetto include funzioni API, l'interfaccia della riga di comando verifica se Gli strumenti di base di Funzioni di Azure sono installati e disponibili. In caso contrario, l'interfaccia della riga di comando scarica e installa la versione corretta di Azure Functions Core Tools.

Avviare automaticamente il server API

Eseguire l'interfaccia della riga di comando e specificare la cartella che contiene il back-end dell'API (un progetto app di Funzioni di Azure valido):

# static content plus an API
swa start ./my-dist --api-location ./api

# front-end dev server plus an API
swa start http://localhost:3000 --api-location ./api

Avviare manualmente il server API

Quando si sviluppa il back-end in locale, a volte è utile eseguire separatamente Funzioni di Azure Core Tools per gestire l'API. In questo modo è possibile usare funzionalità predefinite come il debug e il supporto avanzato dell'editor.

Per usare l'interfaccia della riga di comando con il server di sviluppo back-end dell'API locale, seguire questa procedura:

  1. Avviare l'API usando Funzioni di Azure Core Tools: func host start o avviare il debug in VS Code.

  2. In un terminale separato eseguire l'interfaccia della riga di comando di SWA con il --api-location flag e l'URI del server API locale, nel formato seguente:

swa start ./my-dist --api-location http://localhost:7071

Database connections

Per avviare l'applicazione con una connessione al database, usare il --data-api-location parametro e puntare alla cartella contenente il file staticwebapp.database.config.json .

swa start ./src --data-api-location swa-db-connections

Syntax

swa start

Examples

Esempio 1: avviare l'applicazione con valori predefiniti.

swa start

Esempio 2: avviare l'applicazione con un server di sviluppo front-end.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Esempio 3: avviare l'applicazione con un server di sviluppo front-end e back-end.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT> --api-location http://localhost:7071

Parameters

--app-location, -a <PATH>

Cartella contenente il codice sorgente dell'applicazione front-end. Il valore predefinito è ..

--api-location, -i <PATH>

Cartella contenente il codice sorgente dell'applicazione API.

--output-location, -O <PATH>

Cartella contenente l'origine compilata dell'applicazione front-end. Il percorso è relativo a --app-location. Il valore predefinito è ..

--data-api-location

Cartella contenente il file staticwebapp.database.config.json .

--app-devserver-url, -D <URL>

Connettersi al server di sviluppo dell'app in questo URL anziché usare il percorso di output.

--api-devserver-url, -is <URL>

Connettersi al server API in questo URL anziché usare il percorso di output.

--api-port, -j <API_PORT>

Porta del server API passata a func start. Il valore predefinito è 7071.

--host, -q <HOST>

Indirizzo host usato per il server di sviluppo dell'interfaccia della riga di comando. Il valore predefinito è localhost.

--port, -p <PORT>

Valore della porta da usare per il server di sviluppo dell'interfaccia della riga di comando. Valore predefinito 4280.

--ssl, -s

Gestire l'applicazione front-end e l'API tramite HTTPS. Il valore predefinito è false.

--ssl-cert, -e <SSL_CERT_LOCATION>

Certificato SSL (con estensione crt) usato per l'abilitazione di HTTPS.

--ssl-key, -k <SSL_KEY_LOCATION>

Chiave SSL (.key) usata per l'abilitazione di HTTPS.

--run, -r <STARTUP_SCRIPT>

Percorso di un comando della shell personalizzato o di un file di script da eseguire all'avvio.

--devserver-timeout, -t <TIME>

Quantità di tempo di attesa (in secondi) durante la connessione al server di sviluppo di un'applicazione front-end o a un server API. Il valore predefinito è 60.

--swa-config-location, -w <SWA_CONFIG_FILE_LOCATION>

Percorso della directory del staticwebapp.config.json file.

--open, -o

Aprire il browser sul server di sviluppo. Il valore predefinito è false.

--func-args, -f <FUNCTION_ARGUMENTS>

Passare argomenti aggiuntivi al func start comando .

Global Parameters

swa deploy

Distribuire il progetto corrente in App Web statiche di Azure.

I casi d'uso comuni includono:

  1. Distribuire un'app front-end senza un'API

  2. Distribuire un'app front-end con un'API

  3. Implementare un'app Blazor

Deployment token

L'interfaccia della riga di comando di SWA supporta la distribuzione tramite un token di distribuzione. Ciò è spesso utile quando si esegue la distribuzione da un ambiente CI/CD. È possibile ottenere un token di distribuzione da:

  • Portale di Azure: Home →'app Web statica → Panoramica dell'istanza → → Gestire il token di distribuzione

  • Se si usa l'interfaccia della riga di comando di Azure, è possibile ottenere il token di distribuzione del progetto usando il comando seguente:

az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
  • Se si usa l'interfaccia della riga di comando di App Web statiche di Azure, è possibile usare il comando seguente:
swa deploy --print-token

È quindi possibile usare tale valore con --deployment-token <TOKEN> oppure è possibile creare una variabile di ambiente denominata SWA_CLI_DEPLOYMENT_TOKEN e impostarla sul token di distribuzione.

Important

Non archiviare il token di distribuzione in un repository pubblico. Questo valore deve rimanere un segreto.

Distribuire un'app front-end senza un'API

È possibile distribuire un'applicazione front-end senza un'API in App Web statiche di Azure eseguendo la procedura seguente:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

Opzione 1: Dalla cartella di compilazione da distribuire eseguire il comando deploy:

cd build/
swa deploy

Note

La build cartella deve contenere il contenuto statico dell'app da distribuire.

Opzione 2: È anche possibile distribuire una cartella specifica:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

  2. Distribuire l'app:

swa deploy ./my-dist

Distribuire un'app front-end con un'API

Per distribuire sia l'app front-end che un'API in App Web statiche di Azure, seguire questa procedura:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

  2. Assicurarsi che la versione del runtime del staticwebapp.config.json linguaggio API nel file sia impostata correttamente, ad esempio:

{
  "platform": {
    "apiRuntime": "node:16"
  }
}

Note

Se il progetto non contiene alcun staticwebapp.config.json file, aggiungerne uno nella outputLocation cartella.

  1. Distribuire l'app:
swa deploy ./my-dist --api-location ./api

Implementare un'app Blazor

Per distribuire un'app Blazor con un'API facoltativa in App Web statiche di Azure, seguire questa procedura:

  1. Compilare l'app Blazor in modalità di rilascio :
dotnet publish -c Release -o bin/publish
  1. Dalla radice del progetto eseguire il deploy comando :
swa deploy ./bin/publish/wwwroot --api-location ./Api

Eseguire la distribuzione con swa-cli.config.json

Note

Il percorso di outputLocation deve essere relativo all'oggetto appLocation.

Se si usa un swa-cli.config.json file di configurazione nel progetto e si dispone di una singola voce di configurazione, usare una configurazione simile alla seguente:

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}

È quindi possibile distribuire l'applicazione eseguendo la procedura seguente:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

  2. Distribuire l'app:

swa deploy

Se sono presenti più voci di configurazione, è possibile specificare l'ID voce per specificarne uno da usare:

swa deploy my-otherapp

Syntax

swa deploy
           [--yes]

Examples

Esempio 1: Distribuire usando un token di distribuzione.

swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>

Esempio 2: Distribuire usando un token di distribuzione dalle variabili di ambiente

SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/

Esempio 3: Distribuire usando swa-cli.config.json il file

swa deploy
swa deploy myconfig

Esempio 4: Stampare il token di distribuzione

swa deploy --print-token

Esempio 5: Eseguire la distribuzione in un ambiente specifico

swa deploy --env production

Global Parameters

swa db

Generare e modificare la configurazione delle connessioni di database App Web statiche.

Usare swa db init per generare una cartella swa-db-connections di esempio, insieme a un staticwebapp.database.config.json file di configurazione. Se si usa un database Cosmos DB per NoSQL, viene generato anche un file di schema di esempio staticwebapp.database.schema.gql .

Syntax

swa db init --database-type <DATABASE_TYPE>

Examples

Esempio 1: Generare una cartella di configurazione della connessione al database di esempio per un database SQL di Azure.

swa db init --database-type mssql

Parameters

--database-type, -t <DATABASE_TYPE>

(Obbligatorio) Tipo del database da connettere (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Nome di cartella per eseguire l'override del nome della cartella di configurazione della connessione al database di convenzione. Assicurarsi di aggiornare di conseguenza i file del flusso di lavoro CI/CD. Il valore predefinito è swa-db-connections.

---connection-string, -cs <CONNECTION_STRING>

Il stringa di connessione del database che si desidera connettere.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

Database dell'account Cosmos DB che si vuole connettere (necessario solo se si usa cosmosdb_nosql il tipo di database).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Contenitore dell'account Cosmos DB che si vuole connettere.

--help, -h

Visualizzare la Guida per il comando.

Global Parameters