Freigeben über


swa

Befehle

Name Beschreibung Typ Status
swa login

Anmelden an Azure

SWA Core Allgemein verfügbar
swa build

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

SWA Core Allgemein verfügbar
swa start

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

SWA Core Allgemein verfügbar
swa deploy

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

SWA Core Allgemein verfügbar
swa db

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

SWA Core Allgemein verfügbar

swa login

Anmelden an Azure

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

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

Beispiele

Interaktive Anmeldung bei Azure

swa login

Optionale Parameter

--subscription-id, -S

Azure-Abonnement-ID, die von diesem Projekt verwendet wird. Der Standardwert ist 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 ist 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 ist false.

--use-keychain, -u

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

--no-use-keychain, -nu

Deaktivieren Sie die Verwendung der nativen Keychain des Betriebssystems.

Globale Parameter
--version, -v

Anzeigen der Versionsnummer.

--verbose, --V [level]

Aktivieren der ausführlichen Ausgabe. Ebenenwerte sind silly, info, log (Standard) und silent.

--config, -c [path]

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 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 und erkennt Ihre Projekteinstellungen und die verwendeten Frameworks. Nach Abschluss wird eine neue statische Web-App erstellt und eine Datei vom Typ „swa-cli.config.json“ 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"
    }
  }
} ```
swa init
          [--yes]

Beispiele

Erstellen Sie interaktiv eine neue Konfiguration.

swa init

Erstellen Sie eine neue Konfiguration mit Standardwerten für alle Optionen.

swa init --yes

Initialisieren Sie das Projekt mithilfe der Konfiguration mit dem Namen „myApp“ aus der Datei „swa-cli.config.json“.

swa init --config-name myApp

Optionale Parameter

--yes, -y

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

Globale Parameter
--version, -v

Anzeigen der Versionsnummer.

--verbose, --V [level]

Aktivieren der ausführlichen Ausgabe. Ebenenwerte sind silly, info, log (Standard) und silent.

--config, -c [path]

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 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 Get-Help
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 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

Datenbankverbindungen

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

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

Beispiele

Starten Sie die Anwendung mit Standardeinstellungen:

swa start

Starten Sie die Anwendung mit einem Front-End-Entwicklungsserver:

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

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

Optionale Parameter

--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 Datei staticwebapp.database.config.json 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. Standardwert: 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. Standardwert ist „falsch“.

--func-args, -f <FUNCTION_ARGUMENTS>

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

Globale Parameter
--version, -v

Anzeigen der Versionsnummer.

--verbose, --V [level]

Aktivieren der ausführlichen Ausgabe. Ebenenwerte sind silly, info, log (Standard) und silent.

--config, -c [path]

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 build

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

Häufige Anwendungsfälle: Installieren von Abhängigkeiten für die Front-End-App und API und Ausführen der Buildbefehle für beide, reine Erstellung des Front-End- oder API-Projekts, wenn das andere keinen Buildschritt umfasst.

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

Beispiele

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

swa build

Ermitteln Sie, wie Sie Ihre App erstellen, und führen Sie Buildbefehle nach der Installation von Abhängigkeiten aus:

swa build --auto

Installieren Sie Abhängigkeiten für die Front-End-Anwendung.

swa build --app-location ./client

Verwenden Sie die Konfiguration mit dem Namen „myApp“ in *swa-cli.config.json* zum Erstellen Ihrer Front-End-Anwendung:

swa build myApp

Optionale Parameter

--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.

Globale Parameter
--version, -v

Anzeigen der Versionsnummer.

--verbose, --V [level]

Aktivieren der ausführlichen Ausgabe. Ebenenwerte sind silly, info, log (Standard) und silent.

--config, -c [path]

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 deploy

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

Gängige Anwendungsfälle:

  1. Bereitstellen einer Front-End-App ohne API
  2. Bereitstellen einer Front-End-App mit API
  3. Bereitstellen einer Blazor-App

Bereitstellungstoken

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:

  • Über das Azure-Portal: Start → Statische Web-App → Ihre Instanz → Übersicht → Bereitstellungstoken verwalten

  • 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.

    Wichtig: 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 Bereitstellungsbefehl aus:
cd build/
swa deploy

Hinweis: Der Ordner build 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"
  }
}

Hinweis: Wenn Ihr Projekt nicht über eine Datei vom Typ staticwebapp.config.json verfügt, fügen Sie eine im Ordner outputLocation 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

Hinweis: 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
swa deploy
          [--yes]

Beispiele

Führen Sie die Bereitstellung mithilfe eines Bereitstellungstokens aus:

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

Führen Sie die Bereitstellung mithilfe eines Bereitstellungstokens aus den Umgebungsvariablen aus:

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

Führen Sie die Bereitstellung mithilfe der Datei „swa-cli.config.json“ aus:

swa deploy swa deploy myconfig

Geben Sie das Bereitstellungstoken aus:

swa deploy --print-token

Führen Sie die Bereitstellung in einer bestimmten Umgebung aus:

swa deploy --env production
Globale Parameter
--version, -v

Anzeigen der Versionsnummer.

--verbose, --V [level]

Aktivieren der ausführlichen Ausgabe. Ebenenwerte sind silly, info, log (Standard) und silent.

--config, -c [path]

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 db

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

Verwenden Sie swa db init, um den Beispielordner swa-db-connections zusammen mit einer Konfigurationsdatei vom Typ staticwebapp.database.config.json zu generieren. Wenn Sie eine Cosmos DB for NoSQL-Datenbank verwenden, generiert dies auch die Beispielschemadatei staticwebapp.database.schema.gql.

swa db init --database-type <DATABASE_TYPE>

Beispiele

Generieren Sie einen Beispielordner für die Datenbankverbindungskonfiguration für eine Azure SQL-Datenbank:

swa db init --database-type mssql

Optionale Parameter

--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, mit dem Sie eine Verbindung herstellen möchten (nur erforderlich, wenn Sie den Datenbanktyp „cosmosdb_nosql“ verwenden).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Der Container Ihres cosmosdb-Kontos, mit dem Sie eine Verbindung herstellen möchten.

--help, -h

Anzeigen der Hilfe für einen Befehl.

Globale Parameter
--version, -v

Anzeigen der Versionsnummer.

--verbose, --V [level]

Aktivieren der ausführlichen Ausgabe. Ebenenwerte sind silly, info, log (Standard) und silent.

--config, -c [path]

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.