Ćwiczenie — publikowanie funkcji na platformie Azure przy użyciu narzędzi Core Tools

Ukończone

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żywa node ś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.

  1. Uruchom następujące polecenie, aby uzyskać adres URL żądania:

    func azure functionapp list-functions "$FUNCTIONAPP" --show-keys
    
  2. 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 .

  3. Dodaj ?principal=5000&rate=.035&term=36 na końcu adresu URL i wybierz klawisz Enter. Upewnij się, że parametr jest zachowany code , jeśli jest obecny. Zwrócony wynik to 6300.000000000001, zgodnie z oczekiwaniami.