Tutorial: Criar um aplicativo de notificação sem servidor com o Azure Functions e o serviço Azure Web PubSub
Artigo
O serviço Azure Web PubSub ajuda você a criar aplicativos Web de mensagens em tempo real usando WebSockets. As Funções do Azure são uma plataforma sem servidor que lhe permite executar código sem ter de gerir qualquer infraestrutura. Neste tutorial, você aprenderá a usar o serviço Azure Web PubSub e o Azure Functions para criar um aplicativo sem servidor com mensagens em tempo real em cenários de notificação.
Neste tutorial, irá aprender a:
Criar um aplicativo de notificação sem servidor
Trabalhar com ligações de entrada e saída da função Web PubSub
Seu aplicativo se conectará a uma instância de serviço Web PubSub no Azure.
Selecione o botão Novo, no canto superior esquerdo do portal do Azure. Na tela Novo, digite Web PubSub na caixa de pesquisa e pressione enter. (Você também pode pesquisar o Azure Web PubSub na Web categoria.)
Selecione Web PubSub nos resultados da pesquisa e, em seguida, selecione Criar.
Introduza as seguintes definições.
Definição
Valor sugerido
Description
Nome do recurso
Nome globalmente exclusivo
O Nome globalmente exclusivo que identifica sua nova instância de serviço Web PubSub. Os caracteres válidos são a-z, , A-Z0-9, e -.
Subscrição
a sua subscrição
A assinatura do Azure sob a qual essa nova instância de serviço Web PubSub é criada.
A contagem de unidades especifica quantas conexões sua instância de serviço Web PubSub pode aceitar. Cada unidade suporta no máximo 1.000 conexões simultâneas. Pode configurar apenas no escalão Standard.
Selecione Criar para iniciar a implantação da instância do serviço Web PubSub.
Criar e executar as funções localmente
Certifique-se de que tem as Ferramentas Principais do Azure Functions instaladas. Agora, crie um diretório vazio para o projeto. Execute o comando neste diretório de trabalho. Use uma das opções fornecidas abaixo.
Confirme ou atualize host.jsono extensionBundle para a versão 4.* ou posterior para obter suporte ao Web PubSub. Para atualizar o , abra o host.jsonarquivo no editor e, em seguida, substitua a versão existente extensionBundle para a versão 4.* ou posterior.
Confirme ou atualize host.jsono extensionBundle para a versão 3.3.0 ou posterior para obter suporte ao Web PubSub. Para atualizar o , abra o host.jsonarquivo no editor e, em seguida, substitua a versão existente extensionBundle para a versão 3.3.0 ou posterior.
Atualize host.jsono extensionBundle para a versão 3.3.0 ou posterior para obter suporte a Web PubSub. Para atualizar o , abra o host.jsonarquivo no editor e, em seguida, substitua a versão existente extensionBundle para a versão 3.3.0 ou posterior.
Como o projeto C# compila arquivos para uma pasta de saída diferente, você precisa atualizar o seu *.csproj para fazer com que a página de conteúdo vá com ele.
Como o projeto C# compila arquivos para uma pasta de saída diferente, você precisa atualizar o seu *.csproj para fazer com que a página de conteúdo vá com ele.
Configurar e executar a aplicação Funções do Azure
No navegador, abra o portal do Azure e confirme se a instância do Serviço Web PubSub implantada anteriormente foi criada com êxito. Navegue até a instância.
Selecione Chaves e copie a cadeia de conexão.
Execute o comando na pasta de função para definir a cadeia de conexão de serviço. Substitua <connection-string> pelo seu valor conforme necessário.
TimerTrigger usado no exemplo tem dependência do Armazenamento do Azure, mas você pode usar o emulador de armazenamento local quando a Função estiver sendo executada localmente. Se você tiver algum erro como There was an error performing a read operation on the Blob Storage Secret Repository. Please ensure the 'AzureWebJobsStorage' connection string is valid., você precisará baixar e ativar o emulador de armazenamento.
Agora você pode executar sua função local por comando.
func start --port 7071
E verificando os logs em execução, você pode visitar sua página estática do host local visitando: http://localhost:7071/api/index.
Nota
Alguns browers redirecionam automaticamente para https que leva a url errado. Sugira usar Edge e verifique novamente a url se a renderização não for bem-sucedida.
Implantar o aplicativo Function no Azure
Antes de implantar seu código de função no Azure, você precisa criar três recursos:
Um grupo de recursos, que é um contêiner lógico para recursos relacionados.
Uma conta de armazenamento, que é usada para manter o estado e outras informações sobre suas funções.
Um aplicativo de função, que fornece o ambiente para executar seu código de função. Um aplicativo de função mapeia para seu projeto de função local e permite agrupar funções como uma unidade lógica para facilitar o gerenciamento, a implantação e o compartilhamento de recursos.
Use os comandos a seguir para criar esses itens.
Entre no Azure:
az login
Crie um grupo de recursos ou você pode ignorar reutilizando o do serviço Azure Web PubSub:
az group create -n WebPubSubFunction -l <REGION>
Crie uma conta de armazenamento de uso geral em seu grupo de recursos e região:
az storage account create -n <STORAGE_NAME> -l <REGION> -g WebPubSubFunction
az functionapp create --resource-group WebPubSubFunction --consumption-plan-location <REGION> --runtime python --runtime-version 3.9 --functions-version 4 --name <FUNCIONAPP_NAME> --os-type linux --storage-account <STORAGE_NAME>
Implante o projeto de função no Azure:
Depois de criar seu aplicativo de função no Azure, você está pronto para implantar seu projeto de funções locais usando o comando func azure functionapp publishing .
Aqui estamos implantando configurações locais juntamente com o local.settings.json parâmetro --publish-local-settingsde comando. Se você estiver usando o Emulador de Armazenamento do Microsoft Azure, poderá digitar no para ignorar a substituição desse valor no Azure seguindo a mensagem de prompt: App setting AzureWebJobsStorage is different between azure and local.settings.json, Would you like to overwrite value in azure? [yes/no/show]. Além disso, você pode atualizar as configurações do Aplicativo de Função no Portal do Azure -Settings ->>Configuration.
Agora você pode verificar seu site no Aplicativo de Função do Azure navegando até URL: https://<FUNCIONAPP_NAME>.azurewebsites.net/api/index.
Clean up resources (Limpar recursos)
Se você não vai continuar a usar este aplicativo, exclua todos os recursos criados por este documento com as seguintes etapas para não incorrer em nenhum custo:
No portal do Azure, selecione Grupos de recursos à esquerda e, em seguida, selecione o grupo de recursos que criou. Em vez disso, use a caixa de pesquisa para localizar o grupo de recursos pelo nome.
Na janela que se abre, selecione o grupo de recursos e, em seguida, selecione Eliminar grupo de recursos.
Na nova janela, digite o nome do grupo de recursos a ser excluído e selecione Excluir.
Próximos passos
Neste início rápido, você aprendeu como executar um aplicativo de chat sem servidor. Agora, você pode começar a criar seu próprio aplicativo.