Partilhar via


Criar um Serviço SignalR com um Serviço de Aplicações

Este script de exemplo cria um novo recurso do Serviço Azure SignalR, utilizado para efetuar atualizações push de conteúdo em tempo real nos clientes. Este script também adiciona um novo plano do Serviço de Aplicações e Aplicação Web para alojar a sua Aplicação Web ASP.NET Core que utilize o Serviço SignalR. A aplicação Web está configurada com uma Definição de Aplicação denominada AzureSignalRConnectionString para ligar ao novo recurso do serviço SignalR.

Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Importante

As cadeias de conexão brutas aparecem neste artigo apenas para fins de demonstração.

Uma cadeia de conexão inclui as informações de autorização necessárias para seu aplicativo acessar o Serviço Azure SignalR. A chave de acesso dentro da cadeia de conexão é semelhante a uma senha de root para o seu serviço. Em ambientes de produção, proteja sempre as suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua cadeia de conexão usando a ID do Microsoft Entra e autorizar o acesso com a ID do Microsoft Entra.

Evite distribuir chaves de acesso para outros usuários, codificá-las ou salvá-las em qualquer lugar em texto simples acessível a outras pessoas. Rode as chaves se acreditar que podem ter sido comprometidas.

Script de exemplo

Iniciar o Azure Cloud Shell

O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com.

Quando o Cloud Shell abrir, verifique se o Bash está selecionado para o seu ambiente. As sessões subsequentes usarão a CLI do Azure em um ambiente Bash, selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e pressione Enter para executá-lo.

Iniciar sessão no Azure

O Cloud Shell é autenticado automaticamente na conta inicial com a qual entrou conectado. Use o script a seguir para entrar usando uma assinatura diferente, substituindo subscriptionId pela sua ID de assinatura do Azure.

Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

Para obter mais informações, consulte definir assinatura ativa ou fazer login interativamente.

Executar o script

As cadeias de conexão brutas aparecem neste artigo apenas para fins de demonstração. Em ambientes de produção, proteja sempre as suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua cadeia de conexão usando a ID do Microsoft Entra e autorizar o acesso com a ID do Microsoft Entra.

# Create a SignalR Service with an App Service

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azure-signalr-rg-$randomIdentifier"
tag="create-signal-service-with-app-service"
signalRSvc="msdocs-signalr-svc-$randomIdentifier"
webApp="msdocs-web-app-signalr-$randomIdentifier"
appSvcPlan="msdocs-app-svc-plan-$randomIdentifier"
signalRSku="Standard_S1"
unitCount="1"
serviceMode="Default"
planSku="Free"

# Create a resource group
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag

# Create the Azure SignalR Service resource
echo "Creating $signalRSvc"
az signalr create \
  --name $signalRSvc \
  --resource-group $resourceGroup \
  --sku $signalRSku \
  --unit-count $unitCount \
  --service-mode $serviceMode

# Create an App Service plan.
echo "Creating $appSvcPlan"
az appservice plan create --name $appSvcPlan --resource-group $resourceGroup --sku $planSku

# Create the Web App
echo "Creating $webApp"
az webapp create --name $webApp --resource-group $resourceGroup --plan $appSvcPlan

# Get the SignalR primary connection string
primaryConnectionString=$(az signalr key list --name $signalRSvc \
  --resource-group $resourceGroup --query primaryConnectionString -o tsv)
echo $primaryConnectionString

# Add an app setting to the web app for the SignalR connection
az webapp config appsettings set --name $webApp --resource-group $resourceGroup \
  --settings "AzureSignalRConnectionString=$primaryConnectionString"

Clean up resources (Limpar recursos)

Use o comando a seguir para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete - a menos que você tenha uma necessidade contínua desses recursos. Alguns desses recursos podem demorar um pouco para criar, bem como para excluir.

az group delete --name $resourceGroup

Referência de exemplo

Cada comando na tabela liga à documentação específica do comando. Este script utiliza os seguintes comandos:

Comando Notas
az group create (comando para criar um grupo no Azure CLI) Cria um grupo de recursos no qual todos os recursos são armazenados.
az signalr criar Cria um recurso do Serviço Azure SignalR.
Lista de chaves do sinalizador AZ Lista as chaves, que serão utilizadas pela sua aplicação quando efetuar atualizações push de conteúdo em tempo real com o SignalR.
az appservice plan create (comando para criar um plano de serviço no Azure) Cria um Plano do Serviço de Aplicações do Azure para alojar aplicações Web.
az webapp criar Cria uma aplicação Web do Azure com o plano de alojamento do Serviço de Aplicações.
AZ WebApp Config AppSettings Conjunto Adiciona a nova definição de aplicação para a aplicação Web. Esta definição de aplicação é utilizada para armazenar a cadeia de ligação SignalR.

Próximos passos

Para obter mais informações sobre a CLI do Azure, veja Documentação da CLI do Azure.

Pode ver exemplos de script da CLI do Serviço Azure SignalR adicionais na documentação do Serviço Azure SignalR.