Szybki start: tworzenie funkcji Języka Go lub Rust na platformie Azure przy użyciu programu Visual Studio Code
W tym artykule użyjesz programu Visual Studio Code do utworzenia niestandardowej funkcji obsługi , która odpowiada na żądania HTTP. Po przetestowaniu kodu lokalnie należy wdrożyć go w środowisku bezserwerowym usługi Azure Functions.
Niestandardowe programy obsługi mogą służyć do tworzenia funkcji w dowolnym języku lub środowisku uruchomieniowym, uruchamiając proces serwera HTTP. Ten artykuł obsługuje zarówno język Go, jak i Rust.
Ukończenie tego przewodnika Szybki start wiąże się z naliczeniem niewielkiej opłaty w wysokości kilku centów USD lub mniej na koncie platformy Azure.
Konfigurowanie środowiska
Przed rozpoczęciem upewnij się, że zostały spełnione następujące wymagania:
Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
Program Visual Studio Code na jednej z obsługiwanych platform.
Rozszerzenie obsługujące usługę Azure Functions dla programu Visual Studio Code.
Przejdź do najnowszej zalecanej wersji. Użyj polecenia ,
go version
aby sprawdzić wersję.
Instalowanie lub aktualizowanie narzędzi Core Tools
Rozszerzenie usługi Azure Functions dla programu Visual Studio Code integruje się z narzędziami Azure Functions Core Tools, dzięki czemu można uruchamiać i debugować funkcje lokalnie w programie Visual Studio Code przy użyciu środowiska uruchomieniowego usługi Azure Functions. Przed rozpoczęciem warto zainstalować narzędzia Core Tools lokalnie lub zaktualizować istniejącą instalację, aby korzystać z najnowszej wersji.
W programie Visual Studio Code wybierz F1, aby otworzyć paletę poleceń, a następnie wyszukaj i uruchom polecenie Azure Functions: Install or Update Core Tools.
To polecenie próbuje uruchomić instalację opartą na pakiecie najnowszej wersji narzędzi Core Tools lub zaktualizować istniejącą instalację opartą na pakietach. Jeśli na komputerze lokalnym nie zainstalowano programu npm ani oprogramowania Homebrew, należy ręcznie zainstalować lub zaktualizować narzędzia Core Tools.
Tworzenie projektu lokalnego
W tej sekcji użyjesz programu Visual Studio Code do utworzenia lokalnego projektu niestandardowych programów obsługi usługi Azure Functions. W dalszej części tego artykułu opublikujesz kod funkcji na platformie Azure.
W programie Visual Studio Code naciśnij F1 , aby otworzyć paletę poleceń i wyszukać i uruchomić polecenie
Azure Functions: Create New Project...
.Wybierz lokalizację katalogu dla obszaru roboczego projektu i wybierz pozycję Wybierz. Należy utworzyć nowy folder lub wybrać pusty folder dla obszaru roboczego projektu. Nie wybieraj folderu projektu, który jest już częścią obszaru roboczego.
Podaj następujące informacje po wyświetleniu monitów:
Monit Wybór Wybieranie języka projektu funkcji Wybierz plik Custom Handler
.Wybieranie szablonu dla pierwszej funkcji projektu Wybierz plik HTTP trigger
.Podaj nazwę funkcji Wpisz HttpExample
.Poziom autoryzacji Wybierz Anonymous
pozycję , która umożliwia każdemu wywoływanie punktu końcowego funkcji. Aby uzyskać więcej informacji, zobacz Poziom autoryzacji.Wybierz sposób otwierania projektu Wybierz plik Open in current window
.Korzystając z tych informacji, program Visual Studio Code generuje projekt usługi Azure Functions z wyzwalaczem HTTP. Pliki lokalnego projektu można wyświetlić w Eksploratorze.
Tworzenie i tworzenie funkcji
Plik function.json w folderze HttpExample deklaruje funkcję wyzwalacza HTTP. Wykonasz tę funkcję, dodając procedurę obsługi i kompilując ją do pliku wykonywalnego.
Naciśnij Ctrl + N (Cmd + N w systemie macOS), aby utworzyć nowy plik. Zapisz go jako plik handler.go w katalogu głównym aplikacji funkcji (w tym samym folderze co host.json).
W pliku handler.go dodaj następujący kod i zapisz plik. Jest to niestandardowa procedura obsługi języka Go.
package main import ( "fmt" "log" "net/http" "os" ) func helloHandler(w http.ResponseWriter, r *http.Request) { message := "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response.\n" name := r.URL.Query().Get("name") if name != "" { message = fmt.Sprintf("Hello, %s. This HTTP triggered function executed successfully.\n", name) } fmt.Fprint(w, message) } func main() { listenAddr := ":8080" if val, ok := os.LookupEnv("FUNCTIONS_CUSTOMHANDLER_PORT"); ok { listenAddr = ":" + val } http.HandleFunc("/api/HttpExample", helloHandler) log.Printf("About to listen on %s. Go to https://127.0.0.1%s/", listenAddr, listenAddr) log.Fatal(http.ListenAndServe(listenAddr, nil)) }
Naciśnij Ctrl + Shift + ' lub wybierz pozycję Nowy terminal z menu Terminal , aby otworzyć nowy zintegrowany terminal w programie VS Code.
Skompiluj niestandardową procedurę obsługi przy użyciu następującego polecenia. Plik wykonywalny o nazwie
handler
(handler.exe
w systemie Windows) jest danymi wyjściowymi w folderze głównym aplikacji funkcji.go build handler.go
Konfigurowanie aplikacji funkcji
Host funkcji musi być skonfigurowany do uruchamiania niestandardowego pliku binarnego programu obsługi.
Otwórz host.json.
customHandler.description
W sekcji ustaw wartośćdefaultExecutablePath
nahandler
(w systemie Windows ustaw ją na wartośćhandler.exe
).customHandler
W sekcji dodaj właściwość o nazwieenableForwardingHttpRequest
i ustaw jej wartość natrue
. W przypadku funkcji składających się tylko z wyzwalacza HTTP to ustawienie upraszcza programowanie, umożliwiając pracę z typowym żądaniem HTTP zamiast ładunku żądania niestandardowego programu obsługi.Upewnij się,
customHandler
że sekcja wygląda podobnie do tego przykładu. Zapisz plik."customHandler": { "description": { "defaultExecutablePath": "handler", "workingDirectory": "", "arguments": [] }, "enableForwardingHttpRequest": true }
Aplikacja funkcji jest skonfigurowana do uruchamiania niestandardowego pliku wykonywalnego programu obsługi.
Lokalne uruchamianie funkcji
Ten projekt można uruchomić na lokalnym komputerze deweloperów przed opublikowaniem na platformie Azure.
W zintegrowanym terminalu uruchom aplikację funkcji przy użyciu narzędzi Azure Functions Core Tools.
func start
Po uruchomieniu narzędzi Core Tools przejdź do następującego adresu URL, aby wykonać żądanie GET, które zawiera
?name=Functions
ciąg zapytania.http://localhost:7071/api/HttpExample?name=Functions
Zostanie zwrócona odpowiedź, która wygląda następująco w przeglądarce:
Informacje o żądaniu są wyświetlane na panelu terminalu .
Naciśnij Ctrl + C , aby zatrzymać narzędzia Core Tools.
Po sprawdzeniu, czy funkcja działa poprawnie na komputerze lokalnym, nadszedł czas, aby opublikować projekt bezpośrednio na platformie Azure przy użyciu programu Visual Studio Code.
Logowanie się do platformy Azure
Aby można było utworzyć zasoby platformy Azure lub opublikować aplikację, musisz zalogować się na platformie Azure.
Jeśli jeszcze nie zalogowałeś się, na pasku Działania wybierz ikonę platformy Azure. Następnie w obszarze Zasoby wybierz pozycję Zaloguj się na platformie Azure.
Jeśli już się zalogowałeś i widzisz istniejące subskrypcje, przejdź do następnej sekcji. Jeśli nie masz jeszcze konta platformy Azure, wybierz pozycję Utwórz konto platformy Azure. Uczniowie mogą wybrać pozycję Utwórz konto platformy Azure for Students.
Po wyświetleniu monitu w przeglądarce wybierz swoje konto platformy Azure i zaloguj się przy użyciu poświadczeń konta platformy Azure. Jeśli tworzysz nowe konto, możesz zalogować się po utworzeniu konta.
Po pomyślnym zalogowaniu można zamknąć nowe okno przeglądarki. Subskrypcje należące do konta platformy Azure są wyświetlane na pasku bocznym.
Kompilowanie niestandardowej procedury obsługi dla platformy Azure
W tej sekcji opublikujesz projekt na platformie Azure w aplikacji funkcji z systemem Linux. W większości przypadków należy ponownie skompilować dane binarne i dostosować konfigurację tak, aby była zgodna z platformą docelową przed opublikowaniem jej na platformie Azure.
W zintegrowanym terminalu skompiluj program obsługi do systemu Linux/x64. Plik binarny o nazwie
handler
jest tworzony w katalogu głównym aplikacji funkcji.
Tworzenie aplikacji funkcji na platformie Azure
W tej sekcji utworzysz aplikację funkcji i powiązane zasoby w ramach subskrypcji platformy Azure.
Wybierz ikonę platformy Azure na pasku działania. Następnie w obszarze Zasoby wybierz ikonę + i wybierz opcję Utwórz aplikację funkcji na platformie Azure .
Podaj następujące informacje po wyświetleniu monitów:
Monit Wybór Wybierz subskrypcję Wybierz subskrypcję, która ma zostać użyta. Ta opcja nie będzie widoczna, jeśli w obszarze Zasoby jest widoczna tylko jedna subskrypcja. Wprowadź globalnie unikatową nazwę aplikacji funkcji Wpisz nazwę prawidłową w ścieżce adresu URL. Typ nazwy jest weryfikowany, aby upewnić się, że jest on unikatowy w usłudze Azure Functions. Wybieranie stosu środowiska uruchomieniowego Wybierz pozycję Niestandardowa procedura obsługi. Wybieranie lokalizacji dla nowych zasobów Aby uzyskać lepszą wydajność, wybierz region blisko Ciebie. Rozszerzenie pokazuje stan poszczególnych zasobów podczas ich tworzenia na platformie Azure w panelu Azure: Dziennik aktywności.
Po zakończeniu tworzenia następujące zasoby platformy Azure są tworzone w ramach subskrypcji. Zasoby są nazwane na podstawie nazwy aplikacji funkcji:
- Grupa zasobów, która jest kontenerem logicznym dla powiązanych zasobów.
- Standardowe konto usługi Azure Storage, które zachowuje stan i inne informacje o projektach.
- Aplikacja funkcji, która udostępnia środowisko do wykonywania kodu funkcji. Aplikacja funkcji umożliwia grupowanie funkcji jako jednostki logicznej w celu łatwiejszego zarządzania, wdrażania i udostępniania zasobów w ramach tego samego planu hostingu.
- Plan usługi aplikacja systemu Azure, który definiuje podstawowy host aplikacji funkcji.
- Wystąpienie usługi Application Insights połączone z aplikacją funkcji, które śledzi korzystanie z funkcji w aplikacji.
Po utworzeniu aplikacji funkcji i zastosowaniu pakietu wdrożeniowego zostanie wyświetlone powiadomienie.
Napiwek
Domyślnie zasoby platformy Azure wymagane przez aplikację funkcji są tworzone na podstawie nazwy wprowadzonej dla aplikacji funkcji. Domyślnie zasoby są tworzone za pomocą aplikacji funkcji w tej samej, nowej grupie zasobów. Jeśli chcesz dostosować nazwy skojarzonych zasobów lub ponownie użyć istniejących zasobów, opublikuj projekt przy użyciu zaawansowanych opcji tworzenia.
Wdrażanie projektu na platformie Azure
Ważne
Wdrażanie w istniejącej aplikacji funkcji zawsze zastępuje zawartość tej aplikacji na platformie Azure.
W palecie poleceń wprowadź i wybierz pozycję Azure Functions: Deploy to Function App (Azure Functions: Wdróż w aplikacji funkcji).
Wybierz właśnie utworzoną aplikację funkcji. Po wyświetleniu monitu o zastąpienie poprzednich wdrożeń wybierz pozycję Wdróż , aby wdrożyć kod funkcji w nowym zasobie aplikacji funkcji.
Po zakończeniu wdrażania wybierz pozycję Wyświetl dane wyjściowe , aby wyświetlić wyniki tworzenia i wdrażania, w tym utworzone zasoby platformy Azure. Jeśli przegapisz powiadomienie, wybierz ikonę dzwonka w prawym dolnym rogu, aby zobaczyć je ponownie.
Uruchamianie funkcji na platformie Azure
Naciśnij F1 , aby wyświetlić paletę poleceń, a następnie wyszukaj i uruchom polecenie
Azure Functions:Execute Function Now...
. Jeśli zostanie wyświetlony monit, wybierz subskrypcję.Wybierz nowy zasób aplikacji funkcji i
HttpExample
jako funkcję.W polu Wprowadź typ
{ "name": "Azure" }
treści żądania naciśnij Enter, aby wysłać ten komunikat żądania do funkcji.Po wykonaniu funkcji na platformie Azure odpowiedź jest wyświetlana w obszarze powiadomień. Rozwiń powiadomienie, aby przejrzeć pełną odpowiedź.
Czyszczenie zasobów
Gdy przejdziesz do następnego kroku i dodasz powiązanie kolejki usługi Azure Storage z funkcją, musisz zachować wszystkie zasoby na miejscu, aby opierać się na tym, co zostało już zrobione.
W przeciwnym razie możesz użyć poniższych kroków, aby usunąć aplikację funkcji i powiązane z nią zasoby, aby uniknąć ponoszenia dodatkowych kosztów.
W programie Visual Studio Code naciśnij F1 , aby otworzyć paletę poleceń. W palecie poleceń wyszukaj i wybierz pozycję
Azure: Open in portal
.Wybierz aplikację funkcji i naciśnij Enter. Strona aplikacji funkcji zostanie otwarta w witrynie Azure Portal.
Na karcie Przegląd wybierz nazwany link obok pozycji Grupa zasobów.
Na stronie Grupa zasobów przejrzyj listę uwzględnionych zasobów i sprawdź, czy są to te, które chcesz usunąć.
Wybierz pozycję Usuń grupę zasobów, a następnie postępuj zgodnie z instrukcjami.
Usuwanie może potrwać kilka minut. Po jego zakończeniu przez kilka sekund będzie widoczne powiadomienie. Możesz również wybrać ikonę dzwonka w górnej części strony, aby wyświetlić powiadomienie.
Aby uzyskać więcej informacji na temat kosztów usługi Functions, zobacz Szacowanie kosztów planu zużycia.