Поделиться через


swa

Команды

Имя Описание Тип Состояние
swa login

Вход в Azure

SWA Core Общедоступная версия
swa build

Создает приложение. Если у вас есть приложение Node.js, сначала он установит зависимости.

SWA Core Общедоступная версия
swa start

Запустите эмулятор Статические веб-приложения Azure из каталога или привязать к работающему серверу разработки.

SWA Core Общедоступная версия
swa deploy

Разверните текущий проект в Статические веб-приложения Azure.

SWA Core Общедоступная версия
swa db

Создайте и измените конфигурацию Статические веб-приложения подключения к базе данных.

SWA Core Общедоступная версия

swa login

Вход в Azure

Проверка подлинности с помощью Azure для получения маркера развертывания для Статические веб-приложения Azure с помощью swa deploy команды.

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

Примеры

Интерактивный вход в Azure

swa login

Необязательные параметры

--subscription-id, -S

Идентификатор подписки Azure, используемый этим проектом. Значение по умолчанию — process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Имя группы ресурсов. Вы можете настроить расположение по умолчанию с помощью az configure --defaults group=<name>.

--tenant-id, -T

Идентификатор клиента Azure. Значение по умолчанию — process.env.AZURE_TENANT_ID.

--client-id, -C

Идентификатор клиента Azure.

--client-secret, -CS

Секрет клиента Azure.

--app-name, -n

Статические веб-приложения Azure имя приложения.

--clear-credentials -cc

Удалите сохраненные учетные данные перед входом. Значение по умолчанию — false.

--use-keychain, -u

Используйте собственную цепочку ключей операционной системы для постоянных учетных данных. Значение по умолчанию — true.

--no-use-keychain, -nu

Отключите использование собственной цепочки ключей операционной системы.

Глобальные параметры
--version, -v

Отображение номера версии.

--verbose, --V [level]

Включите подробные выходные данные. К значениям уровня относятся silly, ( infolog по умолчанию) и silent.

--config, -c [path]

Путь к файлу swa-cli.config.json.

--config-name, -cn

Конфигурация, используемая интерфейсом командной строки.

--print-config, -g

Печать всех разрешенных параметров. По умолчанию — false.

--help, -h

Отображение справки с учетом контекста.

swa init

Настраивает новый проект Статические веб-приложения Azure.

Настраивает новый проект Статические веб-приложения Azure с помощью интерфейса командной строки Статические веб-приложения. Интерактивный режим запрашивает имя конфигурации, определит параметры проекта и используемые платформы. После завершения создается новое статическое веб-приложение, а файл swa-cli.config.json создается в текущем каталоге. Для создания различных конфигураций для проекта можно выполнять swa init несколько раз. Это можно сделать, если вы работаете над monorepo и хотите настроить различные проекты. Созданный файл конфигурации используется в каждой команде, выполняемой с помощью интерфейса командной строки Статические веб-приложения. Если у вас несколько именованных конфигураций, можно использовать позиционный аргумент или --config-name параметр, чтобы указать нужную конфигурацию. Ниже приведен пример конфигурации, созданной командой init :

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

Примеры

Создайте новую конфигурацию в интерактивном режиме.

swa init

Создайте новую конфигурацию, используя значения по умолчанию для всех параметров.

swa init --yes

Инициализировать проект с помощью конфигурации с именем MyApp из файла swa-cli.config.json.

swa init --config-name myApp

Необязательные параметры

--yes, -y

Ответы "да" всем запросам, которые отключают интерактивный режим. По умолчанию — false.

Глобальные параметры
--version, -v

Отображение номера версии.

--verbose, --V [level]

Включите подробные выходные данные. К значениям уровня относятся silly, ( infolog по умолчанию) и silent.

--config, -c [path]

Путь к файлу swa-cli.config.json.

--config-name, -cn

Конфигурация, используемая интерфейсом командной строки.

--print-config, -g

Печать всех разрешенных параметров. По умолчанию — false.

--help, -h

Отображение справки с учетом контекста.

swa start

Запустите эмулятор Статические веб-приложения Azure из каталога или привязать к работающему серверу разработки.

Обслуживание из папки

По умолчанию интерфейс командной строки запускает и обслуживает любое статическое содержимое из текущего рабочего каталога ./:

swa start

Если папка артефакта статического приложения находится под другой папкой (например, ./my-dist), запустите интерфейс командной строки и укажите следующую папку:

swa start ./my-dist

Обслуживание с сервера разработки

При разработке интерфейсного приложения локально рекомендуется использовать сервер разработки, который поставляется с интерфейсом командной строки интерфейсной платформы. С помощью интерфейса командной строки платформы можно использовать встроенные функции, такие как "печеньегруз" и HMR (горячая замена модуля). Чтобы использовать SWA CLI с локальным сервером разработки, сделайте следующее:

  1. Запустите локальный сервер разработки как обычно. Например, если вы используете Angular: ng serve (или npm start).
  2. В отдельном терминале запустите swa start URI, предоставленный сервером разработки, в следующем формате:
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Ниже приведен список портов и команд по умолчанию, используемых некоторыми популярными серверами разработки:

Средство Порт Команда
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 (создание приложения React) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Вместо запуска сервера разработки отдельно можно указать команду запуска в ИНТЕРФЕЙС командной строки.

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

Затем получите доступ к приложению с эмулированными службами из http://localhost:4280

Обслуживание интерфейсного приложения и API

Если проект включает функции API, интерфейс командной строки проверяет, установлены ли и доступны Функции Azure Core Tools. Если нет, интерфейс командной строки скачивает и устанавливает правильную версию Функции Azure Core Tools.

Автоматический запуск сервера API

Запустите интерфейс командной строки и укажите папку, содержащую серверную часть API (допустимый проект приложения Функции Azure):

# 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

Запуск сервера API вручную

При разработке серверной части локально иногда полезно запускать Функции Azure Core Tools отдельно для обслуживания API. Это позволяет использовать встроенные функции, такие как отладка и поддержка расширенных редакторов. Чтобы использовать ИНТЕРФЕЙС командной строки с локальным сервером разработки API, выполните следующие два действия.

  1. Запустите API с помощью Функции Azure основных средств: func host start или начать отладку в VS Code.
  2. В отдельном терминале запустите интерфейс командной строки SWA с флагом --api-location и универсальным кодом ресурса (URI) локального сервера API в следующем формате:
swa start ./my-dist --api-location http://localhost:7071

Подключения к базе данных

Чтобы запустить приложение с подключением к базе данных, используйте --data-api-location параметр и наведите указатель на папку, содержащую файл staticwebapp.database.config.json.

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

Примеры

Запустите приложение с значениями по умолчанию.

swa start

Запустите приложение с сервером разработки переднего плана.

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

Запустите приложение с сервером разработки внешнего интерфейса и сервером серверной части.

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

Необязательные параметры

--app-location, -a <PATH>

Папка, содержащая исходный код интерфейсного приложения. По умолчанию — ..

--api-location, -i <PATH>

Папка, содержащая исходный код приложения API.

--output-location, -O <PATH>

Папка, содержащая встроенный источник интерфейсного приложения. Путь относительно --app-location. По умолчанию — ..

--data-api-location

Папка, содержащая файл staticwebapp.database.config.json .

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

Подключитесь к серверу разработки приложений по этому URL-адресу вместо использования выходного расположения.

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

Подключитесь к серверу API по этому URL-адресу вместо использования выходного расположения.

--api-port, -j <API_PORT>

Порт сервера API, переданный в func start. Значение по умолчанию — 7071.

--host, -q <HOST>

Адрес узла, используемый для сервера разработки CLI. По умолчанию — localhost.

--port, -p <PORT>

Значение порта, используемое для сервера разработки CLI. Значение по умолчанию: 4280.

--ssl, -s

Обслуживают интерфейсное приложение и API по протоколу HTTPS. По умолчанию — false.

--ssl-cert, -e <SSL_CERT_LOCATION>

SSL-сертификат (CRT), используемый при включении HTTPS.

--ssl-key, -k <SSL_KEY_LOCATION>

SSL-ключ (.key), используемый при включении HTTPS.

--run, -r <STARTUP_SCRIPT>

Расположение пользовательской команды оболочки или файла скрипта для запуска.

--devserver-timeout, -t <TIME>

Время ожидания (в секундах) при подключении к серверу разработки внешнего приложения или серверу API. Значение по умолчанию — 60.

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

Расположение staticwebapp.config.json каталога файла.

--open, -o

Откройте браузер на сервере разработки. По умолчанию — false.

--func-args, -f <FUNCTION_ARGUMENTS>

Передайте дополнительные аргументы команде func start .

Глобальные параметры
--version, -v

Отображение номера версии.

--verbose, --V [level]

Включите подробные выходные данные. К значениям уровня относятся silly, ( infolog по умолчанию) и silent.

--config, -c [path]

Путь к файлу swa-cli.config.json.

--config-name, -cn

Конфигурация, используемая интерфейсом командной строки.

--print-config, -g

Печать всех разрешенных параметров. По умолчанию — false.

--help, -h

Отображение справки с учетом контекста.

swa build

Создает приложение. Если у вас есть приложение Node.js, сначала он установит зависимости.

Распространенные варианты использования включают: установка зависимостей для интерфейсного приложения и API и выполнение команд сборки для обоих, только создание проекта внешнего интерфейса или API, если другой не имеет шага сборки.

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

Примеры

Создайте приложение и при необходимости установите зависимости.

swa build

Определите, как создать приложение и выполнить команды сборки после установки зависимостей.

swa build --auto

Установите зависимости для интерфейсного приложения.

swa build --app-location ./client

Используйте конфигурацию с именем MyApp в *swa-cli.config.json*, чтобы создать интерфейсное приложение.

swa build myApp

Необязательные параметры

--app-location, -a

Папка, содержащая исходный код интерфейсного приложения. По умолчанию — ..

--api-location, -i

Папка, содержащая исходный код приложения API.

--output-location, -O

Папка, содержащая встроенный источник интерфейсного приложения. Этот путь относительно --app-location. По умолчанию — ..

--app-build-command, -A

Создает интерфейсное приложение.

--api-build-command, -I

Создает приложение API.

--auto

Автоматически определяет, как создавать интерфейсные приложения и приложения API. По умолчанию — false.

Глобальные параметры
--version, -v

Отображение номера версии.

--verbose, --V [level]

Включите подробные выходные данные. К значениям уровня относятся silly, ( infolog по умолчанию) и silent.

--config, -c [path]

Путь к файлу swa-cli.config.json.

--config-name, -cn

Конфигурация, используемая интерфейсом командной строки.

--print-config, -g

Печать всех разрешенных параметров. По умолчанию — false.

--help, -h

Отображение справки с учетом контекста.

swa deploy

Разверните текущий проект в Статические веб-приложения Azure.

Типичные примеры такой ситуации:

  1. Развертывание интерфейсного приложения без API
  2. Развертывание интерфейсного приложения с помощью API
  3. Развертывание приложения Blazor

Маркер развертывания

Интерфейс командной строки SWA поддерживает развертывание с помощью маркера развертывания. Это часто полезно при развертывании из среды CI/CD. Вы можете получить маркер развертывания из следующих способов:

  • Портал Azure: домашняя → статических веб-приложений → экземпляр → обзор → управление маркером развертывания

  • Если вы используете Azure CLI, вы можете получить маркер развертывания проекта с помощью следующей команды:

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Если вы используете интерфейс командной строки Статические веб-приложения Azure, можно использовать следующую команду:

    swa deploy --print-token
    

    Затем можно использовать это значение с --deployment-token <TOKEN> именем или создать переменную среды, вызываемую SWA_CLI_DEPLOYMENT_TOKEN и задать ее маркеру развертывания.

    Важно. Не сохраняйте маркер развертывания в общедоступный репозиторий. Это значение должно оставаться секретом.

Развертывание интерфейсного приложения без API

Вы можете развернуть интерфейсное приложение без API для Статические веб-приложения Azure, выполнив следующие действия.

  1. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.

    Вариант 1. Из папки сборки, которой вы хотите развернуть, выполните команду развертывания:
cd build/
swa deploy

Примечание. Папка build должна содержать статическое содержимое приложения, которое требуется развернуть. Вариант 2. Вы также можете развернуть определенную папку:

  1. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.
  2. Развертывание приложения:
swa deploy ./my-dist

Развертывание интерфейсного приложения с помощью API

Чтобы развернуть интерфейсное приложение и API для Статические веб-приложения Azure, выполните следующие действия.

  1. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.
  2. Убедитесь, что версия среды выполнения языка API в staticwebapp.config.json файле задана правильно, например:
{
  "platform": {
    "apiRuntime": "node:16"
  }
}

Примечание. Если у проекта нет staticwebapp.config.json файла, добавьте его в outputLocation папку.

  1. Развертывание приложения:
swa deploy ./my-dist --api-location ./api

Развертывание приложения Blazor

Чтобы развернуть приложение Blazor с необязательным API для Статические веб-приложения Azure, выполните следующие действия.

  1. Создайте приложение Blazor в режиме выпуска :
dotnet publish -c Release -o bin/publish
  1. В корневом каталоге проекта выполните deploy команду:
swa deploy ./bin/publish/wwwroot --api-location ./Api

Развертывание с помощью swa-cli.config.json

Примечание. Путь outputLocation к нему должен быть относительным appLocation. Если вы используете swa-cli.config.json файл конфигурации в проекте и имеете одну запись конфигурации, используйте такую конфигурацию:

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

Затем вы можете развернуть приложение, выполнив следующие действия:

  1. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.
  2. Развертывание приложения:
swa deploy

Если у вас несколько записей конфигурации, можно указать идентификатор записи, чтобы указать, какой из них следует использовать:

swa deploy my-otherapp
swa deploy
          [--yes]

Примеры

Развертывание с помощью маркера развертывания.

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

Развертывание с помощью маркера развертывания из переменных среды

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

Развертывание с помощью файла swa-cli.config.json

swa deploy swa deploy myconfig

Печать маркера развертывания

swa deploy --print-token

Развертывание в определенной среде

swa deploy --env production
Глобальные параметры
--version, -v

Отображение номера версии.

--verbose, --V [level]

Включите подробные выходные данные. К значениям уровня относятся silly, ( infolog по умолчанию) и silent.

--config, -c [path]

Путь к файлу swa-cli.config.json.

--config-name, -cn

Конфигурация, используемая интерфейсом командной строки.

--print-config, -g

Печать всех разрешенных параметров. По умолчанию — false.

--help, -h

Отображение справки с учетом контекста.

swa db

Создайте и измените конфигурацию Статические веб-приложения подключения к базе данных.

Используется swa db init для создания примера папки swa-db-connections , а также файла конфигурации staticwebapp.database.config.json . Если вы используете базу данных Cosmos DB для NoSQL, это также создаст пример файла схемы staticwebapp.database.schema.gql .

swa db init --database-type <DATABASE_TYPE>

Примеры

Создайте образец папки конфигурации подключения базы данных для базы данных SQL Azure.

swa db init --database-type mssql

Необязательные параметры

--database-type, -t <DATABASE_TYPE>

(обязательно) Тип базы данных, которую требуется подключить (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Имя папки для переопределения имени папки конфигурации подключения к базе данных соглашения (убедитесь, что вы обновляете файлы рабочих процессов CI/CD соответствующим образом). Значение по умолчанию — swa-db-connections.

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

Строка подключения базы данных, которую требуется подключить.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

База данных учетной записи Cosmos DB, которую требуется подключить (только при использовании типа базы данных cosmosdb_nosql).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Контейнер учетной записи Cosmosdb, которую требуется подключить.

--help, -h

Отображение справки по команде.

Глобальные параметры
--version, -v

Отображение номера версии.

--verbose, --V [level]

Включите подробные выходные данные. К значениям уровня относятся silly, ( infolog по умолчанию) и silent.

--config, -c [path]

Путь к файлу swa-cli.config.json.

--config-name, -cn

Конфигурация, используемая интерфейсом командной строки.

--print-config, -g

Печать всех разрешенных параметров. По умолчанию — false.

--help, -h

Отображение справки с учетом контекста.