Cvičení – analýza omezení webové aplikace založené na dotazování
Než změníte prototyp, musíte ho spustit, abyste ověřili předpoklady. Prototyp je v úložišti zdrojového kódu na GitHubu.
Vytvoření zdrojů Azure
V samostatné kartě nebo okně prohlížeče vytvořte fork ukázkového úložiště na GitHubu pomocí následujícího odkazu: mslearn-advocates.azure-functions-and-signalr. To vám umožní nasdílit změny do vlastní verze zdrojového kódu. Toto je povinný krok pro pozdější nasazení zdrojového kódu do Azure.
V terminálu naklonujte úložiště. V následujícím příkazu nahraďte
MicrosoftDocs
svým účtem:git clone https://github.com/MicrosoftDocs/mslearn-advocates.azure-functions-and-signalr stock-prototype
Nainstalujte závislosti do složky setup-resources .
cd stock-prototype/setup-resources && npm install
Pokud se zobrazí upozornění,
EBADENGINE
můžete je ignorovat.Přihlaste se k Azure pomocí Azure CLI.
az login
Zobrazte si předplatná a nastavte výchozí předplatné Azure.
Zobrazte předplatná.
az account list --output json | jq -r '.[] | .name' | sort
Pokud chcete nastavit výchozí předplatné, nahraďte
YOUR-SUBSCRIPTION-ID
ID předplatného z předchozího výstupu Azure CLI.az account set --subscription <YOUR-SUBSCRIPTION-ID>
Toto výchozí předplatné slouží k vytvoření prostředků Azure.
Vytvořte prostředky Azure a nahrajte ukázková data do databáze. Dokončení procesu může trvat několik minut.
bash create-start-resources.sh "<YOUR-SUBSCRIPTION-NAME>"
Nezapomeňte název zabalit do dvojitých uvozovek. Pokud dojde k chybě skriptu s chybou o umístění, které nemá dostupné prostředky, upravte skript tak, aby změnil umístění:
LOCATION=<NEW LOCATION>
.Zkopírujte požadované informace, budete je potřebovat ke spuštění prototypu.
Typ prostředku Proměnná prostředí Azure Cosmos DB Označuje se jako COSMOSDB_CONNECTION_STRING Azure Storage Označuje se jako STORAGE_CONNECTION_STRING Skupina prostředků Označuje se jako RESOURCE_GROUP_NAME. Pomocí skriptu Node.js nahrajte ukázková data do databáze pomocí následujícího příkazu.
npm start
V terminálu přejděte do kořenové složky.
cd ..
Instalace závislostí a spuštění prototypu
Nainstalujte závislosti.
cd start/client && npm install && cd ../.. cd start/server && npm install && cd ../..
Pokud vás oznámení požádá o výběr aplikace Azure Functions pro pracovní prostor, vyberte
start/server
. Toto je aplikace funkcí, kterou použijete ke spuštění kódu na straně serveru.Pokud se zobrazí oznámení o instalaci nejnovějších nástrojů Azure Functions Core Tools, vyberte Nainstalovat.
Získání adres URL klienta a serveru
Při místním spuštění musí klientské a serverové aplikace vědět, kde se vzájemně najít. Adresy URL jsou:
- Klient: http://localhost:3000
- Server: http://localhost:7071
Aktualizace místního nastavení pro aplikaci Azure Functions
Přidejte připojovací řetězec do aplikace Azure Functions prototypu.
Vytvořte soubor ./start/server/local.settings.json a vložte následující. Tento soubor obsahuje nastavení konfigurace pro projekt místních funkcí.
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "<STORAGE_CONNECTION_STRING>", "FUNCTIONS_WORKER_RUNTIME": "node", "AzureWebJobsFeatureFlags": "EnableWorkerIndexing", "COSMOSDB_CONNECTION_STRING": "<COSMOSDB_CONNECTION_STRING>" }, "Host" : { "LocalHttpPort": 7071, "CORS": "http://localhost:3000", "CORSCredentials": true } }
Aktualizujte následující proměnné hodnotami, které jste zkopírovali výše.
Vlastnost Hodnota AzureWebJobsStorage Nahraďte připojovací řetězec úložiště. COSMOSDB_CONNECTION_STRING Nahraďte připojovací řetězec Cosmos DB. Aplikace Functions teď může přijímat žádosti od klienta a pak se připojit k databázi a správně spravovat trigger časovače.
Přidání místního nastavení pro klientskou aplikaci
Přidejte adresu URL serveru do klientské aplikace prototypu.
Otevřete soubor ./start/client a vytvořte .env
soubor s následujícím obsahem.
BACKEND_URL=http://localhost:7071
Spuštění serverové aplikace
V terminálu spusťte aplikaci Azure Functions.
cd start/server && npm start
Počkejte, až terminál zobrazí koncové body rozhraní API.
Functions: getStocks: [GET] http://localhost:7071/api/getStocks setPrice: timerTrigger
Spuštění klientské aplikace
V novém terminálu spusťte klientskou aplikaci.
cd start/client && npm start
Když se v oznámení zobrazí, že je aplikace spuštěná, vyberte Otevřít v prohlížeči a použijte prototyp.
Uspořádejte okna prohlížeče, abyste viděli terminál a prototyp cen akcií najednou.
V okně prototypu prohlížeče otevřete vývojářské nástroje prohlížeče. Všimněte si, že prohlížeč každých 5 sekund požaduje rozhraní API pro všechna data, i když se data nezměnila.
V okně prohlížeče sledujte výstup aplikace Azure Functions. Jedna cena akcií se mění každou minutu. Když se cena v rozhraní API změní, další klient načte všechna data, která se změní.
V terminálech start-client a start serveru zastavte aplikace pomocí ctrl + C nebo ukončete terminál výběrem ikony koše.
V této lekci jste spustili prototyp. I když se klient úspěšně spustí, není efektivní. I když si každý jednotlivý klient nemusí všimnout takového malého počtu akcií, který se změní, jak roste počet akcií a počet klientů načítá ze serveru. Prototyp je možné vylepšit. Pojďme se naučit, jak v další lekci.