Självstudie: Skapa en serverlös meddelandeapp med Azure Functions och Azure Web PubSub-tjänsten
Artikel
Tjänsten Azure Web PubSub hjälper dig att skapa webbprogram för meddelanden i realtid med hjälp av WebSockets. Azure Functions är en serverlös plattform som gör att du kan köra din kod utan att behöva hantera någon infrastruktur. I den här självstudien lär du dig hur du använder Tjänsten Azure Web PubSub och Azure Functions för att skapa ett serverlöst program med meddelanden i realtid under meddelandescenarier.
I den här självstudien lär du dig att:
Skapa en serverlös meddelandeapp
Arbeta med indata- och utdatabindningar för Web PubSub-funktioner
Ditt program ansluter till en Web PubSub-tjänstinstans i Azure.
Välj knappen Nytt högst upp till vänster i Azure-portalen. På skärmen Nytt skriver du Web PubSub i sökrutan och trycker på Retur. (Du kan också söka i Azure Web PubSub från Web kategorin.)
Välj Web PubSub i sökresultatet och välj sedan Skapa.
Ange följande inställningar.
Inställning
Föreslaget värde
beskrivning
Resursnamn
Globalt unikt namn
Det globalt unika namn som identifierar din nya Web PubSub-tjänstinstans. Giltiga tecken är a-z, A-Z, 0-9och -.
Abonnemang
Din prenumeration
Den Azure-prenumeration under vilken den här nya Web PubSub-tjänstinstansen skapas.
Antal enheter anger hur många anslutningar din Web PubSub-tjänstinstans kan acceptera. Varje enhet stöder högst 1 000 samtidiga anslutningar. Det kan bara konfigureras på Standard-nivån.
Välj Skapa för att börja distribuera instansen av Web PubSub-tjänsten.
Skapa och köra funktionerna lokalt
Kontrollera att du har Azure Functions Core Tools installerat. Skapa nu en tom katalog för projektet. Kör kommandot under den här arbetskatalogen. Använd något av de angivna alternativen nedan.
Bekräfta eller uppdatera host.jsontilläggetBundle till version 4.* eller senare för att få support för Web PubSub. Om du vill uppdatera host.jsonöppnar du filen i redigeraren och ersätter sedan det befintliga versionstilläggetBundle till version 4.* eller senare.
Bekräfta eller uppdatera host.jsontilläggetBundle till version 3.3.0 eller senare för att få support för Web PubSub. Om du vill uppdatera host.jsonöppnar du filen i redigeraren och ersätter sedan det befintliga versionstilläggetBundle till version 3.3.0 eller senare.
Uppdatera host.jsontilläggetBundle till version 3.3.0 eller senare för att få support för Web PubSub. Om du vill uppdatera host.jsonöppnar du filen i redigeraren och ersätter sedan det befintliga versionstilläggetBundle till version 3.3.0 eller senare.
TimerTrigger som används i exemplet är beroende av Azure Storage, men du kan använda den lokala lagringsemulatorn när funktionen körs lokalt. Om du får ett felmeddelande som There was an error performing a read operation on the Blob Storage Secret Repository. Please ensure the 'AzureWebJobsStorage' connection string is valid.måste du ladda ned och aktivera Lagringsemulatorn.
Nu kan du köra din lokala funktion med kommando.
func start --port 7071
Och genom att kontrollera loggarna som körs kan du besöka den lokala värdens statiska sida genom att besöka: http://localhost:7071/api/index.
Kommentar
Vissa browers omdirigeras automatiskt till https som leder till fel URL. Föreslå att du använder Edge och dubbelkollar URL:en om renderingen inte lyckas.
Distribuera funktionsapp till Azure
Innan du kan distribuera funktionskoden till Azure måste du skapa tre resurser:
En resursgrupp, som är en logisk container för relaterade resurser.
Ett lagringskonto som används för att underhålla tillstånd och annan information om dina funktioner.
En funktionsapp som tillhandahåller miljön för att köra funktionskoden. En funktionsapp mappar till ditt lokala funktionsprojekt och låter dig gruppera funktioner som en logisk enhet för enklare hantering, distribution och delning av resurser.
Använd följande kommandon för att skapa dessa objekt.
Logga in på Azure:
az login
Skapa en resursgrupp eller så kan du hoppa över genom att återanvända en av Azure Web PubSub-tjänsten:
az group create -n WebPubSubFunction -l <REGION>
Skapa ett allmänt lagringskonto i din resursgrupp och region:
az storage account create -n <STORAGE_NAME> -l <REGION> -g WebPubSubFunction
Här distribuerar vi lokala inställningar local.settings.json tillsammans med kommandoparametern --publish-local-settings. Om du använder Microsoft Azure Storage-emulatorn kan du skriva no för att hoppa över att skriva över det här värdet i Azure genom att följa promptmeddelandet: App setting AzureWebJobsStorage is different between azure and local.settings.json, Would you like to overwrite value in azure? [yes/no/show]. Dessutom kan du uppdatera inställningarna för funktionsappen i Azure Portal ->Inställningar ->Configuration.
Nu kan du kontrollera din webbplats från Azure-funktionsappen genom att gå till URL: https://<FUNCIONAPP_NAME>.azurewebsites.net/api/index.
Rensa resurser
Om du inte kommer att fortsätta att använda den här appen tar du bort alla resurser som skapats av det här dokumentet med följande steg så att du inte debiteras några avgifter:
Välj Resursgrupper i Azure Portal längst till vänster och välj sedan den resursgrupp du skapat. Använd sökrutan för att hitta resursgruppen efter dess namn i stället.
I fönstret som öppnas väljer du resursgruppen och väljer sedan Ta bort resursgrupp.
I det nya fönstret skriver du namnet på resursgruppen som ska tas bort och väljer sedan Ta bort.
Nästa steg
I den här snabbstarten har du lärt dig hur du kör ett serverlöst chattprogram. Nu kan du börja skapa ett eget program.