Partilhar via


swa

Comandos

Name Description Tipo Status
swa login

Iniciar sessão no Azure

Núcleo SWA GA
swa build

Cria o aplicativo. Se você tiver um aplicativo Node.js, ele instalará as dependências primeiro.

Núcleo SWA GA
swa start

Inicie o emulador de Aplicativos Web Estáticos do Azure a partir de um diretório ou associe-se a um servidor de desenvolvimento em execução.

Núcleo SWA GA
swa deploy

Implante o projeto atual nos Aplicativos Web Estáticos do Azure.

Núcleo SWA GA
swa db

Gere e edite a configuração de conexões de banco de dados de aplicativos Web estáticos.

Núcleo SWA GA

swa login

Iniciar sessão no Azure

Autentique-se com o Azure para obter um token de implantação para Aplicativos Web Estáticos do Azure, usando o swa deploy comando.

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

Exemplos

Iniciar sessão interativo no Azure

swa login

Parâmetros Opcionais

--subscription-id, -S

ID de assinatura do Azure usada por este projeto. A predefinição é process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

o nome do grupo de recursos. Você pode configurar o grupo padrão usando az configure --defaults group=<name>.

--tenant-id, -T

ID do locatário do Azure. A predefinição é process.env.AZURE_TENANT_ID.

--client-id, -C

ID do cliente do Azure.

--client-secret, -CS

Segredo do cliente do Azure.

--app-name, -n

Nome do aplicativo Aplicativos Web Estáticos do Azure.

--clear-credentials -cc

Limpe as credenciais persistentes antes do login. A predefinição é false.

--use-keychain, -u

Use as chaves nativas do sistema operacional para credenciais persistentes. A predefinição é true.

--no-use-keychain, -nu

Desative o uso das chaves nativas do sistema operacional.

Parâmetros de Globais
--version, -v

Exiba o número da versão.

--verbose, --V [level]

Habilite a saída detalhada. Os valores de nível incluem silly, info, log (padrão) e silent.

--config, -c [path]

Caminho para o arquivo swa-cli.config.json.

--config-name, -cn

Configuração usada pela CLI.

--print-config, -g

Imprima todas as opções resolvidas. A predefinição é false.

--help, -h

Mostrar ajuda contextual.

swa init

Configura um novo projeto de Aplicativos Web Estáticos do Azure.

Configura um novo projeto de Aplicativos Web Estáticos do Azure com a CLI de Aplicativos Web Estáticos. O modo interativo solicita um nome de configuração, detetará as configurações do projeto e as estruturas usadas. Depois de concluído, um novo aplicativo Web estático é criado e um arquivo swa-cli.config.json é gerado no diretório atual. Você pode executar swa init várias vezes para criar configurações diferentes para seu projeto. Você pode querer fazer isso se estiver trabalhando em um monorepo e quiser configurar projetos diferentes. O arquivo de configuração gerado é usado em todos os comandos executados com a CLI de aplicativos Web estáticos. Se você tiver várias configurações nomeadas, poderá usar o argumento posicional ou --config-name a opção para especificar qual configuração deseja usar. A seguir está um exemplo de init configuração gerada pelo 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"
    }
  }
} ```
swa init
          [--yes]

Exemplos

Crie uma nova configuração interativamente.

swa init

Crie uma nova configuração usando valores padrão para todas as opções.

swa init --yes

Inicialize o projeto usando a configuração chamada "myApp" do arquivo swa-cli.config.json.

swa init --config-name myApp

Parâmetros Opcionais

--yes, -y

Responde "sim" a todos os prompts, o que desativa o modo interativo. A predefinição é false.

Parâmetros de Globais
--version, -v

Exiba o número da versão.

--verbose, --V [level]

Habilite a saída detalhada. Os valores de nível incluem silly, info, log (padrão) e silent.

--config, -c [path]

Caminho para o arquivo swa-cli.config.json.

--config-name, -cn

Configuração usada pela CLI.

--print-config, -g

Imprima todas as opções resolvidas. A predefinição é false.

--help, -h

Mostrar ajuda contextual.

swa start

Inicie o emulador de Aplicativos Web Estáticos do Azure a partir de um diretório ou associe-se a um servidor de desenvolvimento em execução.

Servir a partir de uma pasta

Por padrão, a CLI inicia e serve qualquer conteúdo estático do diretório ./de trabalho atual:

swa start

Se a pasta de artefato do seu aplicativo estático estiver em uma pasta diferente (por exemplo, ./my-dist), execute a CLI e forneça essa pasta:

swa start ./my-dist

Servir a partir de um servidor de desenvolvimento

Ao desenvolver seu aplicativo front-end localmente, geralmente é útil usar o servidor de desenvolvimento que vem com a CLI da estrutura de front-end. O uso da CLI da estrutura permite que você use recursos integrados como "livereload" e HMR (hot module replacement). Para usar a CLI SWA com seu servidor de desenvolvimento local, siga estas duas etapas:

  1. Inicie seu servidor de desenvolvimento local como de costume. Por exemplo, se você estiver usando Angular: ng serve (ou npm start).
  2. Em um terminal separado, execute swa start com o URI fornecido pelo servidor de desenvolvimento, no seguinte formato:
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Aqui está uma lista das portas e comandos padrão usados por alguns servidores de desenvolvimento populares:

Ferramenta Porta Comando
Angular 4200 swa start http://localhost:4200
Blazor WebAssembly 5000 swa start http://localhost:5000
Gatsby 8000 swa start http://localhost:8000
Vitor 1313 swa start http://localhost:1313
Next.js 3000 swa start http://localhost:3000
React (Criar aplicativo React) 3000 swa start http://localhost:3000
Esbelta (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Em vez de iniciar um servidor de desenvolvimento separadamente, você pode fornecer o comando de inicialização para a CLI.

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

Em seguida, acesse o aplicativo com os serviços emulados de http://localhost:4280

Sirva o aplicativo front-end e a API

Se o seu projeto incluir funções de API, a CLI verificará se as Ferramentas Principais do Azure Functions estão instaladas e disponíveis. Caso contrário, a CLI baixará e instalará a versão correta das Ferramentas Principais do Azure Functions.

Inicie o servidor de API automaticamente

Execute a CLI e forneça a pasta que contém o back-end da API (um projeto válido do Aplicativo Azure Functions):

# 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

Iniciar o servidor de API manualmente

Ao desenvolver seu back-end localmente, às vezes é útil executar as Ferramentas Principais do Azure Functions separadamente para atender sua API. Isso permite que você use recursos internos, como depuração e suporte a editores avançados. Para usar a CLI com seu servidor de desenvolvimento de back-end de API local, siga estas duas etapas:

  1. Inicie sua API usando as Ferramentas Principais do Azure Functions: func host start ou inicie a depuração no VS Code.
  2. Em um terminal separado, execute a CLI SWA com o --api-location sinalizador e o URI do servidor de API local, no seguinte formato:
swa start ./my-dist --api-location http://localhost:7071

Conexões de banco de dados

Para iniciar seu aplicativo com uma conexão de banco de dados, use o --data-api-location parâmetro e aponte para a pasta que contém o arquivo staticwebapp.database.config.json .

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

Exemplos

Inicie o aplicativo com padrões.

swa start

Inicie o aplicativo com um servidor de desenvolvimento front-end.

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

Inicie o aplicativo com um servidor de desenvolvimento front-end e back-end.

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

Parâmetros Opcionais

--app-location, -a <PATH>

A pasta que contém o código-fonte do aplicativo front-end. A predefinição é ..

--api-location, -i <PATH>

A pasta que contém o código-fonte do aplicativo API.

--output-location, -O <PATH>

A pasta que contém a fonte construída do aplicativo front-end. O caminho é relativo a --app-location. A predefinição é ..

--data-api-location

A pasta que contém o arquivo staticwebapp.database.config.json .

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

Conecte-se ao servidor de desenvolvimento de aplicativos nesta URL em vez de usar o local de saída.

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

Conecte-se ao servidor de API nesta URL em vez de usar o local de saída.

--api-port, -j <API_PORT>

A porta do servidor de API passou para func start. O padrão é 7071.

--host, -q <HOST>

O endereço do host usado para o servidor de desenvolvimento da CLI. A predefinição é localhost.

--port, -p <PORT>

O valor da porta a ser usado para o servidor de desenvolvimento da CLI. Padrão 4280.

--ssl, -s

Sirva o aplicativo front-end e a API por HTTPS. A predefinição é false.

--ssl-cert, -e <SSL_CERT_LOCATION>

O certificado SSL (.crt) usado ao habilitar HTTPS.

--ssl-key, -k <SSL_KEY_LOCATION>

A chave SSL (.key) usada ao habilitar HTTPS.

--run, -r <STARTUP_SCRIPT>

Local de um comando shell personalizado ou arquivo de script a ser executado na inicialização.

--devserver-timeout, -t <TIME>

A quantidade de tempo de espera (em segundos) ao se conectar ao servidor de desenvolvimento de um aplicativo front-end ou a um servidor de API. O padrão é 60.

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

O local do diretório do staticwebapp.config.json arquivo.

--open, -o

Abra o navegador no servidor de desenvolvimento. A predefinição é falsa.

--func-args, -f <FUNCTION_ARGUMENTS>

Passe argumentos adicionais para o func start comando.

Parâmetros de Globais
--version, -v

Exiba o número da versão.

--verbose, --V [level]

Habilite a saída detalhada. Os valores de nível incluem silly, info, log (padrão) e silent.

--config, -c [path]

Caminho para o arquivo swa-cli.config.json.

--config-name, -cn

Configuração usada pela CLI.

--print-config, -g

Imprima todas as opções resolvidas. A predefinição é false.

--help, -h

Mostrar ajuda contextual.

swa build

Cria o aplicativo. Se você tiver um aplicativo Node.js, ele instalará as dependências primeiro.

Os casos de uso comuns incluem: instalar dependências para o aplicativo front-end e a API e executar os comandos build para ambos, criando apenas o front-end ou o projeto de API se o outro não tiver uma etapa de compilação.

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

Exemplos

Crie o aplicativo e, opcionalmente, instale dependências.

swa build

Detete como criar seu aplicativo e executar comandos de compilação depois de instalar dependências.

swa build --auto

Instale dependências para o aplicativo front-end.

swa build --app-location ./client

Use a configuração chamada 'myApp' em *swa-cli.config.json* para criar seu aplicativo front-end.

swa build myApp

Parâmetros Opcionais

--app-location, -a

A pasta que contém o código-fonte do aplicativo front-end. A predefinição é ..

--api-location, -i

A pasta que contém o código-fonte do aplicativo API.

--output-location, -O

A pasta que contém a fonte construída do aplicativo front-end. Este caminho é relativo a --app-location. A predefinição é ..

--app-build-command, -A

Cria o aplicativo front-end.

--api-build-command, -I

Cria o aplicativo de API.

--auto

Deteta automaticamente como criar seus aplicativos front-end e API. A predefinição é false.

Parâmetros de Globais
--version, -v

Exiba o número da versão.

--verbose, --V [level]

Habilite a saída detalhada. Os valores de nível incluem silly, info, log (padrão) e silent.

--config, -c [path]

Caminho para o arquivo swa-cli.config.json.

--config-name, -cn

Configuração usada pela CLI.

--print-config, -g

Imprima todas as opções resolvidas. A predefinição é false.

--help, -h

Mostrar ajuda contextual.

swa deploy

Implante o projeto atual nos Aplicativos Web Estáticos do Azure.

Os casos de uso comuns incluem:

  1. Implantar um aplicativo front-end sem uma API
  2. Implantar um aplicativo front-end com uma API
  3. Implantar um aplicativo Blazor

Token de implantação

A SWA CLI oferece suporte à implantação usando um token de implantação. Isso geralmente é útil ao implantar a partir de um ambiente de CI/CD. Você pode obter um token de implantação de:

  • O portal do Azure: Início → Aplicativo Web estático → sua instância → Visão geral → Gerenciar token de implantação

  • Se você estiver usando a CLI do Azure, poderá obter o token de implantação do seu projeto usando o seguinte comando:

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Se você estiver usando a CLI de Aplicativos Web Estáticos do Azure, poderá usar o seguinte comando:

    swa deploy --print-token
    

    Em seguida, você pode usar esse valor com o --deployment-token <TOKEN> ou pode criar uma variável de ambiente chamada SWA_CLI_DEPLOYMENT_TOKEN e defini-la como o token de implantação.

    Importante: não armazene o token de implantação em um repositório público. Este valor deve permanecer em segredo.

Implantar um aplicativo front-end sem uma API

Você pode implantar um aplicativo front-end sem uma API para os Aplicativos Web Estáticos do Azure executando as seguintes etapas:

  1. Se o aplicativo front-end exigir uma etapa de compilação, execute swa build ou consulte as instruções de compilação do aplicativo.

    Opção 1: Na pasta build que você gostaria de implantar, execute o comando deploy:
cd build/
swa deploy

Observação: a build pasta deve conter o conteúdo estático do aplicativo que você deseja implantar. Opção 2: Você também pode implantar uma pasta específica:

  1. Se o aplicativo front-end exigir uma etapa de compilação, execute swa build ou consulte as instruções de compilação do aplicativo.
  2. Implante seu aplicativo:
swa deploy ./my-dist

Implantar um aplicativo front-end com uma API

Para implantar o aplicativo front-end e uma API nos Aplicativos Web Estáticos do Azure, use as seguintes etapas:

  1. Se o aplicativo front-end exigir uma etapa de compilação, execute swa build ou consulte as instruções de compilação do aplicativo.
  2. Verifique se a versão do tempo de execução da staticwebapp.config.json linguagem da API no arquivo está definida corretamente, por exemplo:
{
  "platform": {
    "apiRuntime": "node:16"
  }
}

Nota: Se o seu projeto não tiver nenhum staticwebapp.config.json ficheiro, adicione um na sua outputLocation pasta.

  1. Implante seu aplicativo:
swa deploy ./my-dist --api-location ./api

Implantar um aplicativo Blazor

Para implantar um aplicativo Blazor com uma API opcional nos Aplicativos Web Estáticos do Azure, use as seguintes etapas:

  1. Crie seu aplicativo Blazor no modo Lançamento :
dotnet publish -c Release -o bin/publish
  1. A partir da raiz do seu projeto, execute o deploy comando:
swa deploy ./bin/publish/wwwroot --api-location ./Api

Implante usando o swa-cli.config.json

Nota: O caminho para outputLocation deve ser relativo ao appLocation. Se você estiver usando um arquivo de swa-cli.config.json configuração em seu projeto e tiver uma única entrada de configuração, use uma configuração como esta:

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

Em seguida, você pode implantar seu aplicativo executando as seguintes etapas:

  1. Se o aplicativo front-end exigir uma etapa de compilação, execute swa build ou consulte as instruções de compilação do aplicativo.
  2. Implante seu aplicativo:
swa deploy

Se você tiver várias entradas de configuração, poderá fornecer a ID de entrada para especificar qual delas usar:

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

Exemplos

Implante usando um token de implantação.

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

Implantar usando um token de implantação das variáveis de ambiente

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

Implantar usando o arquivo 'swa-cli.config.json'

swa deploy swa deploy myconfig

Imprimir o token de implantação

swa deploy --print-token

Implantar em um ambiente específico

swa deploy --env production
Parâmetros de Globais
--version, -v

Exiba o número da versão.

--verbose, --V [level]

Habilite a saída detalhada. Os valores de nível incluem silly, info, log (padrão) e silent.

--config, -c [path]

Caminho para o arquivo swa-cli.config.json.

--config-name, -cn

Configuração usada pela CLI.

--print-config, -g

Imprima todas as opções resolvidas. A predefinição é false.

--help, -h

Mostrar ajuda contextual.

swa db

Gere e edite a configuração de conexões de banco de dados de aplicativos Web estáticos.

Use swa db init para gerar uma pasta swa-db-connections de exemplo, juntamente com um arquivo de configuração staticwebapp.database.config.json. Se você estiver usando um banco de dados Cosmos DB para NoSQL, isso também gerará um arquivo de esquema staticwebapp.database.schema.gql de exemplo.

swa db init --database-type <DATABASE_TYPE>

Exemplos

Gere uma pasta de configuração de conexão de banco de dados de exemplo para um banco de dados SQL do Azure.

swa db init --database-type mssql

Parâmetros Opcionais

--database-type, -t <DATABASE_TYPE>

(Obrigatório) O tipo de banco de dados que você deseja conectar (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Um nome de pasta para substituir o nome da pasta de configuração de conexão de banco de dados convencional (certifique-se de atualizar seus arquivos de fluxo de trabalho CI/CD de acordo). O valor predefinido é swa-db-connections.

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

A cadeia de conexão do banco de dados que você deseja conectar.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

O banco de dados da sua conta do Cosmos DB que você deseja conectar (necessário apenas se estiver usando cosmosdb_nosql tipo de banco de dados).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

O contêiner da sua conta cosmosdb que você deseja conectar.

--help, -h

Exibir ajuda para comando.

Parâmetros de Globais
--version, -v

Exiba o número da versão.

--verbose, --V [level]

Habilite a saída detalhada. Os valores de nível incluem silly, info, log (padrão) e silent.

--config, -c [path]

Caminho para o arquivo swa-cli.config.json.

--config-name, -cn

Configuração usada pela CLI.

--print-config, -g

Imprima todas as opções resolvidas. A predefinição é false.

--help, -h

Mostrar ajuda contextual.