Freigeben über


Azure Static Web Apps CLI-Referenz

Der Verweis auf Azure Static Web Apps CLI-Befehle.

Commands

Command Description Type Status
swa login Melden Sie sich bei Azure an. SWA Core GA
swa init Konfiguriert ein neues Azure Static Web Apps-Projekt. SWA Core GA
swa build Erstellt die Anwendung. Wenn Sie über eine Node.js Anwendung verfügen, werden zuerst Abhängigkeiten installiert. SWA Core GA
swa start Starten Sie den Azure Static Web Apps-Emulator aus einem Verzeichnis, oder binden Sie ihn an einen ausgeführten Entwicklungsserver. SWA Core GA
swa deploy Stellen Sie das aktuelle Projekt in Azure Static Web Apps bereit. SWA Core GA
swa db Generieren und bearbeiten Sie die Konfiguration der Static Web Apps-Datenbankverbindungen. SWA Core GA

Global Parameters

Parameter Summary
--version, -v Anzeigen der Versionsnummer.
--verbose, --V [level] Aktivieren der ausführlichen Ausgabe. Zu den Ebenenwerten gehören silly, , info( log Standard) und silent.
--config, -c [Pfad] Pfad zur Datei „swa-cli.config.json“.
--config-name, -cn Von der CLI verwendete Konfiguration.
--print-config, -g Ausgeben aller aufgelösten Optionen. Der Standardwert ist false.
--help, -h Anzeigen kontextbezogener Hilfe.

swa login

Melden Sie sich bei Azure an.

Authentifizieren Sie sich bei Azure, um ein Bereitstellungstoken für Azure Static Web Apps mithilfe des Befehls swa deploy abzurufen.

Syntax

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

Examples

Beispiel 1: Interaktive Anmeldung bei Azure

swa login

Parameters

--subscription-id, -S

Azure-Abonnement-ID, die von diesem Projekt verwendet wird. Der Standardwert lautet process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Name der Ressourcengruppe Sie können die Standardgruppe mit az configure --defaults group=<name>konfigurieren.

--tenant-id, -T

Azure-Mandanten-ID. Der Standardwert lautet process.env.AZURE_TENANT_ID.

--client-id, -C

Azure-Client-ID.

--client-secret, -CS

Geheimer Azure-Clientschlüssel.

--app-name, -n

Azure Static Web Apps-App-Name

--clear-credentials -cc

Löschen Sie gespeicherte Anmeldeinformationen vor der Anmeldung. Der Standardwert lautet false.

--use-keychain, -u

Verwenden Sie die native Keychain für persistente Anmeldeinformationen. Der Standardwert lautet true.

--no-use-keychain, -nu

Deaktivieren Sie die Verwendung der nativen Keychain des Betriebssystems.

Global Parameters

swa init

Konfiguriert ein neues Azure Static Web Apps-Projekt.

Konfiguriert ein neues Azure Static Web Apps-Projekt mit der Static Web Apps-Befehlszeilenschnittstelle. Der interaktive Modus fordert Sie zur Eingabe eines Konfigurationsnamens auf, erkennt Ihre Projekteinstellungen und die verwendeten Frameworks. Nach Abschluss wird eine neue statische Web-App erstellt und eine swa-cli.config.json Datei im aktuellen Verzeichnis generiert.

Sie können swa init mehrmals ausführen, um unterschiedliche Konfigurationen für Ihr Projekt zu erstellen. Dies wird ggf. empfohlen, wenn Sie an einem Monorepo arbeiten und verschiedene Projekte konfigurieren möchten.

Die generierte Konfigurationsdatei wird in jedem Befehl verwendet, den Sie mit der Static Web Apps-Befehlszeilenschnittstelle ausführen. Wenn Sie über mehrere benannte Konfigurationen verfügen, können Sie das positionelle Argument oder die Option --config-name verwenden, um anzugeben, welche Konfiguration Sie verwenden möchten.

Das folgende Beispiel stellt eine vom Befehl init generierte Konfiguration dar:

{
  "$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

Beispiel 1: Interaktives Erstellen einer neuen Konfiguration.

swa init

Beispiel 2: Erstellen Einer neuen Konfiguration mit Standardwerten für alle Optionen.

swa init --yes

Beispiel 3: Initialisieren Sie das Projekt mithilfe der Konfiguration mit dem Namen "myApp" aus der swa-cli.config.json-Datei.

swa init --config-name myApp

Parameters

--yes, -y

Antwortet auf alle Eingabeaufforderungen mit „yes“ (Ja), wodurch der interaktive Modus deaktiviert wird. Der Standardwert ist false.

Global Parameters

swa build

Erstellt die Anwendung. Wenn Sie über eine Node.js Anwendung verfügen, werden zuerst Abhängigkeiten installiert.

Häufige Anwendungsfälle sind: Installieren von Abhängigkeiten für die Front-End-App und api und Ausführen der Buildbefehle für beides, nur beim Erstellen des Front-End- oder API-Projekts, wenn der andere keinen Buildschritt hat.

Syntax

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

Examples

Beispiel 1: Erstellen Sie die App, und installieren Sie optional Abhängigkeiten.

swa build

Beispiel 2: Erkennen, wie Sie Ihre App erstellen und Buildbefehle nach der Installation von Abhängigkeiten ausführen.

swa build --auto

Beispiel 3: Installieren von Abhängigkeiten für die Front-End-Anwendung.

swa build --app-location ./client

Beispiel 4: Verwenden Sie die in swa-cli.config.json genannte myApp Konfiguration, um Ihre Front-End-Anwendung zu erstellen.

swa build myApp

Parameters

--app-location, -a

Der Ordner, der den Quellcode der Front-End-Anwendung enthält. Der Standardwert ist ..

--api-location, -i

Der Ordner, der den Quellcode der API-Anwendung enthält.

--output-location, -O

Der Ordner, der den generierten Code der Front-End-Anwendung enthält. Dieser Pfad ist relativ zu --app-location. Der Standardwert ist ..

--app-build-command, -A

Erstellt die Front-End-Anwendung.

--api-build-command, -I

Erstellt die API-Anwendung.

--auto

Erkennt automatisch, wie Sie Ihre Front-End- und API-Anwendungen erstellen. Der Standardwert ist false.

Global Parameters

swa start

Starten Sie den Azure Static Web Apps-Emulator aus einem Verzeichnis, oder binden Sie ihn an einen ausgeführten Entwicklungsserver.

Bereitstellen über einen Ordner

Die CLI wird standardmäßig gestartet und stellt statische Inhalte aus dem aktuellen Arbeitsverzeichnis ./ bereit:

swa start

Wenn sich der Artefaktordner Ihrer statischen App unter einem anderen Ordner (z. B. ./my-dist) befindet, führen Sie die CLI aus, und geben Sie diesen Ordner an:

swa start ./my-dist

Bereitstellen über einen Entwicklungsserver

Bei der lokalen Entwicklung Ihrer Front-End-App ist es häufig hilfreich, den Entwicklungsserver zu verwenden, der im Rahmen der CLI Ihres Front-End-Frameworks bereitgestellt wird. Mit der Framework-Befehlszeilenschnittstelle können Sie integrierte Features wie „livereload“ und HMR (Hot Module Replacement) verwenden.

Führen Sie die folgenden beiden Schritte aus, um die SWA-Befehlszeilenschnittstelle mit Ihrem lokalen Entwicklungsserver zu verwenden:

  1. Starten Sie den lokalen Entwicklungsserver wie gewohnt. Verwenden Sie bei Verwendung von Angular beispielsweise ng serve (oder npm start).

  2. Führen Sie in einem separaten Terminal swa start mit dem vom Entwicklungsserver bereitgestellten URI im folgenden Format aus:

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

Hier ist eine Liste der Standardports und Befehle, die von einigen beliebten Entwicklungsservern verwendet werden:

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 (Erstellen einer React-App) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Anstatt einen Entwicklungsserver separat zu starten, können Sie den Startbefehl für die CLI angeben.

# 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"

Greifen Sie dann über http://localhost:4280 auf die Anwendung mit den emulierten Diensten zu.

Bereitstellen der Front-End-App und der API

Wenn Ihr Projekt API-Funktionen enthält, überprüft die CLI, ob die Azure Functions Core Tools installiert und verfügbar sind. Andernfalls lädt die CLI die richtige Version der Azure Functions Core Tools herunter und installiert sie.

Automatisches Starten des API-Servers

Führen Sie die CLI aus, und geben Sie den Ordner an, der das API-Back-End enthält (ein gültiges Azure Functions-App-Projekt):

# 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

Manuelles Starten des API-Servers

Wenn Sie Ihr Back-End lokal entwickeln, ist es manchmal hilfreich, Azure Functions Core Tools separat auszuführen, um Ihre API bereitzustellen. Auf diese Weise können Sie integrierte Features wie Debuggen und Unterstützung für einen umfangreichen Editor verwenden.

Führen Sie die folgenden beiden Schritte aus, um die Befehlszeilenschnittstelle mit Ihrem lokalen Entwicklungsserver für das API-Back-End zu verwenden:

  1. Starten Sie Ihre API mithilfe von Azure Functions Core Tools (func host start), oder starten Sie das Debuggen in VS Code.

  2. Führen Sie in einem separaten Terminal die SWA-Befehlszeilenschnittstelle mit dem Flag --api-location und dem URI des lokalen API-Servers im folgenden Format aus:

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

Database connections

Um die Anwendung mit einer Datenbankverbindung zu starten, verwenden Sie den --data-api-location Parameter, und zeigen Sie auf den Ordner, der die staticwebapp.database.config.json Datei enthält.

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

Syntax

swa start

Examples

Beispiel 1: Starten Sie die Anwendung mit Standardeinstellungen.

swa start

Beispiel 2: Starten Sie die Anwendung mit einem Front-End-Entwicklungsserver.

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

Beispiel 3: Starten Sie die Anwendung mit einem Front-End- und Back-End-Entwicklungsserver.

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

Parameters

--app-location, -a <PATH>

Der Ordner, der den Quellcode der Front-End-Anwendung enthält. Der Standardwert ist ..

--api-location, -i <PATH>

Der Ordner, der den Quellcode der API-Anwendung enthält.

--output-location, -O <PATH>

Der Ordner, der den generierten Code der Front-End-Anwendung enthält. Der Pfad ist relativ zu --app-location. Der Standardwert ist ..

--data-api-location

Der Ordner, der die staticwebapp.database.config.json Datei enthält.

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

Stellen Sie unter dieser URL eine Verbindung mit dem App-Entwicklungsserver her, anstatt den Ausgabespeicherort zu verwenden.

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

Stellen Sie unter dieser URL eine Verbindung mit dem API-Server her, anstatt den Ausgabespeicherort zu verwenden.

--api-port, -j <API_PORT>

Der an func start übergebene API-Serverport. Der Standardwert ist 7071.

--host, -q <HOST>

Die Hostadresse, die für den CLI-Entwicklungsserver verwendet wird. Der Standardwert ist localhost.

--port, -p <PORT>

Der Portwert, der für den CLI-Entwicklungsserver verwendet wird. Standard-4280.

--ssl, -s

Stellen Sie die Front-End-Anwendung und die API über HTTPS bereit. Der Standardwert ist false.

--ssl-cert, -e <SSL_CERT_LOCATION>

Das SSL-Zertifikat (CRT), das beim Aktivieren von HTTPS verwendet wird.

--ssl-key, -k <SSL_KEY_LOCATION>

Der SSL-Schlüssel (.key), der beim Aktivieren von HTTPS verwendet wird.

--run, -r <STARTUP_SCRIPT>

Speicherort eines benutzerdefinierten Shellbefehls oder einer Skriptdatei, der bzw. die beim Start ausgeführt werden soll.

--devserver-timeout, -t <TIME>

Die Wartezeit (in Sekunden) beim Herstellen einer Verbindung mit dem Entwicklungsserver einer Front-End-Anwendung oder einem API-Server. Der Standardwert ist 60.

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

Verzeichnisspeicherort der Datei staticwebapp.config.json.

--open, -o

Öffnen Sie den Entwicklungsserver im Browser. Der Standardwert ist "false".

--func-args, -f <FUNCTION_ARGUMENTS>

Übergeben Sie zusätzliche Argumente an den Befehl func start.

Global Parameters

swa deploy

Stellen Sie das aktuelle Projekt in Azure Static Web Apps bereit.

Zu den gängigen Anwendungsfällen gehören:

  1. Bereitstellen einer Front-End-App ohne API

  2. Bereitstellen einer Front-End-App mit API

  3. Bereitstellen einer Blazor-App

Deployment token

Die SWA-Befehlszeilenschnittstelle unterstützt die Bereitstellung mithilfe eines Bereitstellungstokens. Dies ist häufig bei der Bereitstellung über eine CI/CD-Umgebung hilfreich. Sie haben verschiedene Möglichkeiten, ein Bereitstellungstoken abzurufen:

  • Das Azure-Portal: Home → Static Web App → Ihre Instanz → Übersicht → Verwalten des Bereitstellungstokens

  • Wenn Sie die Azure CLI verwenden, können Sie das Bereitstellungstoken Ihres Projekts mit dem folgenden Befehl abrufen:

az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
  • Wenn Sie die Azure Static Web Apps-Befehlszeilenschnittstelle verwenden, können Sie den folgenden Befehl verwenden:
swa deploy --print-token

Sie können diesen Wert dann mit --deployment-token <TOKEN> verwenden oder eine Umgebungsvariable namens SWA_CLI_DEPLOYMENT_TOKEN erstellen und auf das Bereitstellungstoken festlegen.

Important

Speichern Sie das Bereitstellungstoken nicht in einem öffentlichen Repository. Dieser Wert muss geheim bleiben.

Bereitstellen einer Front-End-App ohne API

Sie können eine Front-End-Anwendung ohne API in Azure Static Web Apps bereitstellen, indem Sie die folgenden Schritte ausführen:

  1. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

Option 1: Führen Sie im Buildordner, den Sie bereitstellen möchten, den Befehl "Bereitstellen" aus:

cd build/
swa deploy

Note

Der build Ordner muss den statischen Inhalt Ihrer App enthalten, die Sie bereitstellen möchten.

Option 2: Sie können auch einen bestimmten Ordner bereitstellen:

  1. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

  2. Stellen Sie Ihre App bereit:

swa deploy ./my-dist

Bereitstellen einer Front-End-App mit API

Führen Sie die folgenden Schritte aus, um sowohl die Front-End-App als auch eine API für Azure Static Web Apps bereitzustellen:

  1. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

  2. Stellen Sie sicher, dass die Version der API-Sprachlaufzeit in der Datei staticwebapp.config.json ordnungsgemäß festgelegt ist, z. B.:

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

Note

Wenn Ihr Projekt über keine staticwebapp.config.json Datei verfügt, fügen Sie eine unter Ihrem outputLocation Ordner hinzu.

  1. Stellen Sie Ihre App bereit:
swa deploy ./my-dist --api-location ./api

Bereitstellen einer Blazor-App

Führen Sie die folgenden Schritte aus, um eine Blazor-App mit einer optionalen API in Azure Static Web Apps bereitzustellen:

  1. Erstellen Sie Ihre Blazor-App im Releasemodus :
dotnet publish -c Release -o bin/publish
  1. Führen Sie im Stamm Ihres Projekts den deploy-Befehl aus:
swa deploy ./bin/publish/wwwroot --api-location ./Api

Bereitstellen unter Verwendung von swa-cli.config.json

Note

Der Pfad für outputLocation muss relativ zu appLocation sein.

Wenn Sie die Konfigurationsdatei swa-cli.config.json in Ihrem Projekt verwenden und über einen einzelnen Konfigurationseintrag verfügen, verwenden Sie eine Konfiguration wie die folgende:

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

Anschließend können Sie Ihre Anwendung bereitstellen, indem Sie die folgenden Schritte ausführen:

  1. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

  2. Stellen Sie Ihre App bereit:

swa deploy

Wenn Sie über mehrere Konfigurationseinträge verfügen, können Sie mithilfe der Eintrags-ID angeben, welcher verwendet werden soll:

swa deploy my-otherapp

Syntax

swa deploy
           [--yes]

Examples

Beispiel 1: Bereitstellen mithilfe eines Bereitstellungstokens.

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

Beispiel 2: Bereitstellen mithilfe eines Bereitstellungstokens aus den Umgebungsvariablen

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

Beispiel 3: Bereitstellen mit swa-cli.config.json Datei

swa deploy
swa deploy myconfig

Beispiel 4: Drucken des Bereitstellungstokens

swa deploy --print-token

Beispiel 5: Bereitstellen in einer bestimmten Umgebung

swa deploy --env production

Global Parameters

swa db

Generieren und bearbeiten Sie die Konfiguration der Static Web Apps-Datenbankverbindungen.

Wird verwendet swa db init , um einen Beispielordner für swa-db-connections zusammen mit einer staticwebapp.database.config.json Konfigurationsdatei zu generieren. Wenn Sie eine Cosmos DB für NoSQL-Datenbank verwenden, generiert dies auch eine Beispielschemadatei staticwebapp.database.schema.gql .

Syntax

swa db init --database-type <DATABASE_TYPE>

Examples

Beispiel 1: Generieren eines Konfigurationsordners für eine Beispieldatenbankverbindung für eine Azure SQL-Datenbank.

swa db init --database-type mssql

Parameters

--database-type, -t <DATABASE_TYPE>

(Erforderlich) Der Typ der Datenbank, mit der Sie eine Verbindung herstellen möchten (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Ein Ordnername zum Überschreiben des Konventionsnamen des Ordner für die Datenbankverbindungskonfiguraiton. (Stellen Sie sicher, dass Sie die CI/CD-Workflowdateien entsprechend aktualisieren.) Der Standardwert ist swa-db-connections.

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

Die Verbindungszeichenfolge der Datenbank, mit der Sie eine Verbindung herstellen möchten.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

Die Datenbank Ihres Cosmos DB-Kontos, das Sie verbinden möchten (nur erforderlich, wenn Sie den Datenbanktyp verwenden cosmosdb_nosql ).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Der Container Ihres Cosmos DB-Kontos, das Sie verbinden möchten.

--help, -h

Anzeigen der Hilfe für einen Befehl.

Global Parameters