Ćwiczenie — publikowanie funkcji na platformie Azure przy użyciu narzędzi Core Tools
W tym ćwiczeniu utworzysz aplikację funkcji na platformie Azure i opublikujesz nasz projekt.
Tworzenie aplikacji funkcji
Ważne
Procedury w tej lekcji zależą od pracy wykonanej w lekcji 3. Piaskownica dla tego modułu musi być aktywna. Piaskownica zapewnia bezpłatny, tymczasowy dostęp do platformy Azure i interfejsu wiersza polecenia platformy Azure.
Usługa Azure Cloud Shell powinna być już zalogowana na koncie i skonfigurowana. Jeśli piaskownica nie jest aktywna, utracisz wymagany dostęp, zasoby i dane wyjściowe. Wróć i ukończ jednostkę 3.
Przed opublikowaniem kodu w aplikacji funkcji przy użyciu narzędzi Core Tools należy utworzyć aplikację na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure z poziomu usługi Cloud Shell.
Aby utworzyć aplikację funkcji na platformie Azure, uruchom następujące polecenia w usłudze Azure Cloud Shell.
RESOURCEGROUP="<rgn>[sandbox resource group]</rgn>"
STORAGEACCT=learnstorage$(openssl rand -hex 5)
FUNCTIONAPP=learnfunctions$(openssl rand -hex 5)
az storage account create \
--resource-group "$RESOURCEGROUP" \
--name "$STORAGEACCT" \
--kind StorageV2 \
--location centralus
az functionapp create \
--resource-group "$RESOURCEGROUP" \
--name "$FUNCTIONAPP" \
--storage-account "$STORAGEACCT" \
--runtime node \
--consumption-plan-location centralus \
--functions-version 4
Te polecenia działają w następujący sposób:
Pierwsze trzy wiersze u góry tworzą zmienne powłoki z wartościami, których używamy wielokrotnie w poniższych poleceniach.
- W przypadku grupy zasobów określ grupę utworzoną dla Ciebie przez piaskownicę. Ta wartość powinna być już prawidłowa na podstawie bieżącej piaskownicy.
- Nazwy kont magazynu i aplikacji funkcji obejmują
$(openssl rand -hex 5)
ciąg , który generuje losowy ciąg pięcioznaczny, aby upewnić się, że nazwy spełniają wymagania dotyczące globalnego unikatowości, a także innych wymagań dotyczących nazewnictwa usług.
az storage account create
tworzy konto usługi Azure Storage używane przez aplikację funkcji. Konto magazynu to oddzielny zasób platformy Azure, który należy utworzyć przed utworzeniem aplikacji funkcji.Polecenie
az functionapp create
tworzy aplikację funkcji. Nowa aplikacja używanode
środowiska uruchomieniowego (JavaScript), które uruchamia bezserwerowe w planie hostingu Zużycie.
Uwaga
Polecenie az functionapp create
próbuje również automatycznie utworzyć wystąpienie aplikacji Szczegółowe informacje na potrzeby monitorowania wykonań w aplikacji funkcji. Ponieważ zasoby Szczegółowe informacje aplikacji opartej na obszarze roboczym nie mogą być obecnie hostowane w piaskownicy, funkcje działają, ale dzienniki wykonywania nie są wysyłane do usługi Application Szczegółowe informacje.
Publikowanie na platformie Azure
Po utworzeniu aplikacji funkcji na platformie Azure możesz opublikować w nim projekt za pomocą narzędzi Core Tools.
Uruchom następujące polecenia w usłudze Cloud Shell, aby opublikować. Uruchom najpierw polecenie cd
, aby upewnić się, że nadal znajdujesz się w folderze projektu functions przed opublikowaniem.
cd ~/loan-wizard
func azure functionapp publish "$FUNCTIONAPP" --force
Uwaga
Jeśli to polecenie wyświetla błąd, że nie może znaleźć aplikacji, zaczekaj dwie minuty i spróbuj ponownie. Po utworzeniu nowej aplikacji funkcji trzeba poczekać kilka sekund, zanim będzie ona widoczna dla narzędzi Core Tools.
Ponadto dołączasz polecenie --force
w celu zaktualizowania niezgodności wersji aplikacji funkcji.
W przeciwieństwie do poprzedniego ćwiczenia, w którym tymczasowo hostujesz funkcję lokalnie z narzędzi Core Tools, funkcja jest teraz aktywna w Internecie. Pozostaje ona dostępna globalnie do momentu wygaśnięcia piaskownicy dla tego samouczka. Ponieważ punkt końcowy HTTP został zdefiniowany z anonymous
poziomem autoryzacji, może uzyskać do niego dostęp każdy w Internecie.
Uruchamianie funkcji
Funkcja jest teraz publikowana na platformie Azure i może być wywoływana z dowolnego miejsca. Jako funkcja wyzwalana przez protokół HTTP, która odpowiada na żądania GET, może być uruchamiana z dowolnej przeglądarki.
Uruchom następujące polecenie, aby uzyskać adres URL żądania:
func azure functionapp list-functions "$FUNCTIONAPP" --show-keys
Wklej adres URL z danych wyjściowych do nowej karty przeglądarki. Zobaczysz te same dane wyjściowe, które zaobserwowano podczas uruchamiania funkcji lokalnie bez podawania odpowiednich parametrów ciągu zapytania. Podczas korzystania z poziomu autoryzacji żadne klucze nie są uwzględniane w danych wyjściowych
anonymous
.Dodaj
?principal=5000&rate=.035&term=36
na końcu adresu URL i wybierz klawisz Enter. Upewnij się, że parametr jest zachowanycode
, jeśli jest obecny. Zwrócony wynik to6300.000000000001
, zgodnie z oczekiwaniami.