Wprowadzenie do języka Python na platformie Azure

Użyj tego dokumentu jako listy kontrolnej i przewodnika podczas tworzenia aplikacji języka Python, które będą hostowane w chmurze lub korzystają z usług w chmurze. Jeśli postępujesz zgodnie z linkami i instrukcjami w tym dokumencie, wykonasz następujące czynności:

  • masz podstawową wiedzę na temat tego, czym jest chmura i jak projektujesz aplikację z myślą o chmurze.
  • skonfiguruj lokalne środowisko programistyczne, w tym narzędzia i biblioteki, które należy utworzyć w chmurze.
  • informacje o przepływie pracy podczas tworzenia aplikacji opartych na chmurze.

Faza 1. Pojęcia dotyczące nauki

Jeśli dopiero zaczynasz programować aplikacje dla chmury, ta krótka seria artykułów z filmami wideo pomoże Ci szybko przyspieszyć.

Po zapoznaniu się z podstawami tworzenia aplikacji dla chmury należy skonfigurować środowisko deweloperskie i postępować zgodnie z przewodnikiem Szybki start lub Samouczkiem, aby utworzyć pierwszą aplikację.

Faza 2. Konfigurowanie lokalnego środowiska języka Python na potrzeby programowania na platformie Azure

Aby tworzyć aplikacje w języku Python przy użyciu platformy Azure, najpierw chcesz skonfigurować lokalne środowisko deweloperskie. Konfiguracja obejmuje tworzenie konta platformy Azure, instalowanie narzędzi do programowania na platformie Azure i łączenie tych narzędzi z kontem platformy Azure.

Programowanie na platformie Azure wymaga języka Python w wersji 3.8 lub nowszej. Aby sprawdzić wersję języka Python na stacji roboczej, w oknie konsoli wpisz polecenie python3 --version dla systemu macOS/Linux lub py --version windows.

Tworzenie konta platformy Azure

Aby tworzyć aplikacje w języku Python za pomocą platformy Azure, potrzebne jest konto platformy Azure. Twoje konto platformy Azure to poświadczenia, których używasz do logowania się na platformie Azure przy użyciu usługi i których używasz do tworzenia zasobów platformy Azure.

Jeśli korzystasz z platformy Azure w pracy, skontaktuj się z administratorem chmury twojej firmy, aby uzyskać poświadczenia używane do logowania się na platformie Azure.

W przeciwnym razie możesz bezpłatnie utworzyć konto platformy Azure i otrzymać bezpłatnie 12 miesięcy popularnych usług oraz środki w wysokości 200 USD na eksplorowanie platformy Azure przez 30 dni.

Korzystanie z witryny Azure Portal

Po utworzeniu poświadczeń możesz zalogować się do witryny Azure Portal pod adresem https://portal.azure.com. Witryna Azure Portal jest zwykle najprostszym sposobem rozpoczęcia pracy z platformą Azure, zwłaszcza jeśli dopiero zaczynasz pracę z platformą Azure i programowaniem w chmurze. W witrynie Azure Portal można wykonywać różne zadania zarządzania, takie jak tworzenie i usuwanie zasobów.

Jeśli masz już doświadczenie w tworzeniu rozwiązań na platformie Azure i w chmurze, prawdopodobnie zaczniesz korzystać z narzędzi, a także takich jak program Visual Studio Code i interfejs wiersza polecenia platformy Azure. Artykuły w centrum deweloperów języka Python pokazują, jak pracować z witryną Azure Portal, programem Visual Studio Code i interfejsem wiersza polecenia platformy Azure.

Używanie programu Visual Studio Code

Możesz użyć dowolnego edytora lub środowiska IDE do pisania kodu w języku Python podczas tworzenia aplikacji na platformie Azure. Warto jednak rozważyć użycie programu Visual Studio Code dla platformy Azure i programowania w języku Python. Program Visual Studio Code udostępnia wiele rozszerzeń i dostosowań dla platformy Azure i języka Python, co ułatwia cykl programowania i wdrażanie ze środowiska lokalnego na platformę Azure.

W przypadku programowania w języku Python przy użyciu programu Visual Studio Code zainstaluj:

  • Rozszerzenie języka Python. To rozszerzenie obejmuje funkcję IntelliSense (Pylance), linting, debugowanie (wielowątkowe, zdalne), notesy Jupyter Notebook, formatowanie kodu, refaktoryzacja, testy jednostkowe i inne.

  • Pakiet rozszerzeń narzędzi platformy Azure. Pakiet rozszerzeń zawiera rozszerzenia do pracy z usługami aplikacja systemu Azure, Azure Functions, Azure Storage, Azure Cosmos DB i Azure Virtual Machines w jednym wygodnym pakiecie. Rozszerzenia platformy Azure ułatwiają odnajdywanie i interakcję z platformą Azure.

Aby zainstalować rozszerzenia z programu Visual Studio Code:

  1. Naciśnij klawisze Ctrl+Shift+X , aby otworzyć okno Rozszerzenia .
  2. Wyszukaj rozszerzenie Azure Tools.
  3. Wybierz przycisk Zainstaluj.

Screenshot of the Visual Studio Code showing extensions panel searching for the Azure Tools extension pack.

Aby dowiedzieć się więcej na temat instalowania rozszerzeń w programie Visual Studio Code, zapoznaj się z dokumentem Extension Marketplace w witrynie internetowej programu Visual Studio Code.

Po zainstalowaniu rozszerzenia Azure Tools zaloguj się przy użyciu konta platformy Azure. Na panelu po lewej stronie zobaczysz ikonę platformy Azure. Wybierz tę ikonę, a zostanie wyświetlony panel sterowania dla usług platformy Azure. Wybierz pozycję Zaloguj się do platformy Azure... aby ukończyć proces uwierzytelniania.

Screenshot of the Visual Studio Code showing how to sign-in the Azure tools to Azure.

Uwaga

Jeśli zostanie wyświetlony błąd "Nie można odnaleźć subskrypcji o nazwie [identyfikator subskrypcji]", może to być spowodowane tym, że znajdujesz się za serwerem proxy i nie możesz uzyskać dostępu do interfejsu API platformy Azure. Skonfiguruj HTTP_PROXY zmienne środowiskowe i HTTPS_PROXY przy użyciu informacji o serwerze proxy w terminalu:

# Windows
set HTTPS_PROXY=https://username:password@proxy:8080
set HTTP_PROXY=http://username:password@proxy:8080
# macOS/Linux
export HTTPS_PROXY=https://username:password@proxy:8080
export HTTP_PROXY=http://username:password@proxy:8080

Korzystanie z interfejsu wiersza polecenia platformy Azure

Oprócz witryny Azure Portal i programu Visual Studio Code platforma Azure oferuje również narzędzie wiersza polecenia interfejsu wiersza polecenia platformy Azure do tworzenia zasobów platformy Azure i zarządzania nimi. Interfejs wiersza polecenia platformy Azure oferuje zalety wydajności, powtarzalności i możliwości wykonywania skryptów zadań cyklicznych. W praktyce większość deweloperów korzysta zarówno z witryny Azure Portal, jak i interfejsu wiersza polecenia platformy Azure.

Po zainstalowaniu interfejsu wiersza polecenia platformy Azure zaloguj się do konta platformy Azure z poziomu interfejsu wiersza polecenia platformy Azure, wpisując polecenie az login w oknie terminalu na stacji roboczej.

az login

Interfejs wiersza polecenia platformy Azure otworzy domyślną przeglądarkę, aby ukończyć proces logowania.

Konfigurowanie środowiska wirtualnego języka Python

Podczas tworzenia aplikacji języka Python dla platformy Azure zaleca się utworzenie środowiska wirtualnego dla każdej aplikacji. Środowisko wirtualne to samodzielny katalog dla określonej wersji języka Python oraz inne pakiety potrzebne dla tej aplikacji.

Aby utworzyć środowisko wirtualne, wykonaj następujące kroki.

  1. Otwórz terminal lub wiersz polecenia.

  2. Utwórz folder dla projektu.

  3. Utwórz środowisko wirtualne:

    # py -3 uses the global python interpreter. You can also use python3 -m venv .venv.
    py -3 -m venv .venv
    

    To polecenie uruchamia moduł języka Python venv i tworzy środowisko wirtualne w folderze ".venv". Zazwyczaj pliki .gitignore mają wpis ".venv", aby środowisko wirtualne nie zostało zaewidencjonowane przy użyciu ewidencjonowania kodu.

  4. Aktywuj środowisko wirtualne:

    .venv\Scripts\activate
    

    Uwaga

    Jeśli używasz powłoki poleceń systemu Windows, aktywuj środowisko wirtualne za pomocą polecenia .venv\Scripts\activate. Jeśli używasz powłoki Git Bash w programie Visual Studio Code w systemie Windows, zamiast tego użyj polecenia source .venv/Scripts/activate .

Po aktywowaniu tego środowiska (które program Visual Studio Code wykonuje automatycznie), uruchomienie pip install programu instaluje bibliotekę tylko w tym środowisku. Kod języka Python uruchomiony w środowisku wirtualnym używa określonych wersji pakietów zainstalowanych w tym środowisku wirtualnym. Korzystanie z różnych środowisk wirtualnych umożliwia różnym aplikacjom korzystanie z różnych wersji pakietu, co czasami jest wymagane. Aby dowiedzieć się więcej na temat środowisk wirtualnych, zobacz Virtual Environments and Packages (Środowiska wirtualne i pakiety ) w dokumentacji języka Python.

Jeśli na przykład wymagania znajdują się w pliku requirements.txt, możesz zainstalować je w aktywowanym środowisku wirtualnym:

pip install -r requirements.txt

Faza 3. Omówienie przepływu pracy tworzenia aplikacji na platformie Azure

Poprzedni artykuł: aprowizowanie, uzyskiwanie dostępu do zasobów i zarządzanie nimi

Teraz, gdy rozumiesz model usług i zasobów platformy Azure, możesz zrozumieć ogólny przepływ tworzenia aplikacji w chmurze za pomocą platformy Azure: aprowizacja, kod, testowanie, wdrażanie i zarządzanie.

Krok Podstawowe narzędzia Działania
Inicjowanie Interfejs wiersza polecenia platformy Azure, witryna Azure Portal, rozszerzenia narzędzi platformy Azure programu VS Code, usługa Cloud Shell, skrypty języka Python przy użyciu bibliotek zarządzania zestawu Azure SDK Utwórz grupy zasobów i utwórz zasoby w tych grupach; skonfiguruj zasoby, które mają być gotowe do użycia z kodu aplikacji i/lub gotowe do odbierania kodu w języku Python we wdrożeniach.
Kod Edytor kodu (np. Visual Studio Code i PyCharm), biblioteki klienta zestawu Azure SDK, dokumentacja referencyjna Pisanie kodu w języku Python przy użyciu bibliotek klienckich zestawu Azure SDK w celu interakcji z aprowizowanymi zasobami.
Przetestuj Środowisko uruchomieniowe języka Python, debuger Uruchamianie kodu w języku Python lokalnie względem aktywnych zasobów w chmurze (zazwyczaj tworzenie lub testowanie zasobów, a nie zasobów produkcyjnych). Sam kod nie jest jeszcze hostowany na platformie Azure, co ułatwia debugowanie i szybkie iterowanie.
Wdrażaj VS Code, interfejs wiersza polecenia platformy Azure, funkcja GitHub Actions, usługa Azure Pipelines Po przetestowaniu kodu lokalnie wdróż go w odpowiedniej usłudze hostingu platformy Azure, w której sam kod może działać w chmurze. Wdrożony kod zwykle działa w odniesieniu do zasobów przejściowych lub produkcyjnych.
Zarządzanie Interfejs wiersza polecenia platformy Azure, witryna Azure Portal, program VS Code, skrypty języka Python, usługa Azure Monitor Monitorowanie wydajności i czasu odpowiedzi aplikacji, wprowadzanie korekt w środowisku produkcyjnym, migrowanie ulepszeń do środowiska deweloperskiego w następnej rundzie aprowizacji i programowania.

Krok 1. Aprowizuj i konfiguruj zasoby

Jak opisano w poprzednim artykule z tej serii, pierwszym krokiem podczas tworzenia dowolnej aplikacji jest aprowizowania i konfigurowania zasobów tworzących środowisko docelowe dla aplikacji.

Aprowizowanie rozpoczyna się od utworzenia grupy zasobów w odpowiednim regionie świadczenia usługi Azure. Grupę zasobów można utworzyć za pomocą witryny Azure Portal, programu VS Code z rozszerzeniami narzędzi platformy Azure, interfejsem wiersza polecenia platformy Azure lub za pomocą niestandardowego skryptu korzystającego z bibliotek zarządzania zestawu Azure SDK (lub interfejsu API REST).

W ramach tej grupy zasobów należy aprowizować i konfigurować potrzebne zasoby, ponownie przy użyciu portalu, programu VS Code, interfejsu wiersza polecenia lub zestawu Azure SDK. (Ponownie przejrzyj Przewodnik dewelopera platformy Azure dotyczący przeglądu dostępnych typów zasobów).

Konfiguracja obejmuje ustawianie zasad dostępu, które kontrolują, jakie tożsamości (jednostki usługi i/lub identyfikatory aplikacji) mogą uzyskiwać dostęp do tych zasobów. Zasady dostępu są zarządzane za pośrednictwem kontroli dostępu opartej na rolach (RBAC) platformy Azure. Niektóre usługi mają również bardziej szczegółowe mechanizmy kontroli dostępu. Jako deweloper chmury pracujący z platformą Azure zapoznaj się z kontrolą dostępu opartą na rolach platformy Azure, ponieważ używasz go z niemal dowolnym zasobem, który ma obawy dotyczące zabezpieczeń.

W przypadku większości scenariuszy aplikacji zazwyczaj tworzone są skrypty aprowizacji przy użyciu interfejsu wiersza polecenia platformy Azure i/lub kodu języka Python przy użyciu bibliotek zarządzania zestawu Azure SDK. Takie skrypty opisują łączność potrzeb związanych z zasobami aplikacji (zasadniczo definiujący niestandardowy komputer w chmurze, na którym wdrażasz aplikację). Skrypt umożliwia łatwe odtworzenie tego samego zestawu zasobów w różnych środowiskach, takich jak programowanie, testowanie, przemieszczanie i produkcja. Podczas automatyzowania można uniknąć ręcznego wykonywania wielu powtarzających się kroków w witrynie Azure Portal lub programie VS Code. Takie skrypty ułatwiają również aprowizację środowiska w innym regionie lub używanie różnych grup zasobów. Jeśli te skrypty są również obsługiwane w repozytoriach kontroli źródła, masz również pełną inspekcję i historię zmian.

Krok 2. Pisanie kodu aplikacji w celu korzystania z zasobów

Po aprowizacji zasobów potrzebnych dla aplikacji napiszesz kod aplikacji, aby pracować z aspektami czasu wykonywania tych zasobów.

Na przykład w kroku aprowizacji możesz utworzyć konto usługi Azure Storage, utworzyć kontener obiektów blob w ramach tego konta i ustawić zasady dostępu dla aplikacji w tym kontenerze. Ten proces aprowizacji przedstawiono w przykładzie — aprowizowanie usługi Azure Storage. Z poziomu kodu możesz następnie uwierzytelnić się przy użyciu tego konta magazynu, a następnie utworzyć, zaktualizować lub usunąć obiekty blob w tym kontenerze. Ten proces czasu wykonywania przedstawiono w przykładzie — użyj usługi Azure Storage. Podobnie możesz aprowizować bazę danych ze schematem i odpowiednimi uprawnieniami (jak pokazano w przykładzie — Aprowizuj bazę danych), aby kod aplikacji mógł nawiązać połączenie z bazą danych i wykonać zwykłe zapytania create-read-update-delete.

Kod aplikacji zwykle używa zmiennych środowiskowych do identyfikowania nazw i adresów URL zasobów do użycia. Zmienne środowiskowe umożliwiają łatwe przełączanie się między środowiskami chmury (tworzeniem, testowaniem, przemieszczaniem i produkcją) bez żadnych zmian w kodzie. Różne usługi platformy Azure, które hostują kod aplikacji, zapewniają metodę definiowania niezbędnych zmiennych. Na przykład w usłudze aplikacja systemu Azure Service (do hostowania aplikacji internetowych) i azure Functions (bezserwerowych obliczeń dla platformy Azure) ustawienia aplikacji są definiowane za pomocą witryny Azure Portal, programu VS Code lub interfejsu wiersza polecenia platformy Azure, która następnie jest wyświetlana jako zmienne środowiskowe.

Jako deweloper języka Python prawdopodobnie napiszesz kod aplikacji w języku Python przy użyciu bibliotek klienckich zestawu Azure SDK dla języka Python. Oznacza to, że każda niezależna część aplikacji w chmurze może być napisana w dowolnym obsługiwanym języku. Jeśli pracujesz nad zespołem przy użyciu wielu języków programowania, możliwe, że niektóre części aplikacji używają języka Python, niektórych języków JavaScript, niektórych Java i innych języka C#.

Kod aplikacji może używać bibliotek zarządzania zestawu Azure SDK do wykonywania operacji aprowizacji i zarządzania zgodnie z potrzebami. Podobnie skrypty aprowizacji mogą używać bibliotek klienckich zestawu SDK do inicjowania zasobów z określonymi danymi lub wykonywania zadań utrzymania zasobów w chmurze nawet wtedy, gdy te skrypty są uruchamiane lokalnie.

Krok 3. Testowanie i debugowanie kodu aplikacji lokalnie

Deweloperzy zwykle lubią testować kod aplikacji na lokalnych stacjach roboczych przed wdrożeniem tego kodu w chmurze. Testowanie kodu aplikacji lokalnie oznacza, że zazwyczaj uzyskujesz dostęp do innych zasobów, które zostały już aprowidowane w chmurze, takich jak magazyn, bazy danych itd. Różnica polega na tym, że nie uruchamiasz jeszcze kodu aplikacji w ramach usługi w chmurze.

Uruchamiając kod lokalnie, możesz również w pełni korzystać z funkcji debugowania oferowanych przez narzędzia, takie jak Visual Studio Code i zarządzać kodem w repozytorium kontroli źródła.

Nie musisz w ogóle modyfikować kodu na potrzeby testowania lokalnego: platforma Azure w pełni obsługuje lokalne programowanie i debugowanie przy użyciu tego samego kodu, który jest wdrażany w chmurze. Zmienne środowiskowe są ponownie kluczem: w chmurze kod może uzyskiwać dostęp do ustawień zasobu hostingu jako zmiennych środowiskowych. Podczas tworzenia tych samych zmiennych środowiskowych lokalnie ten sam kod jest uruchamiany bez modyfikacji. Ten wzorzec działa w przypadku poświadczeń uwierzytelniania, adresów URL zasobów, parametry połączenia i dowolnej liczby innych ustawień, co ułatwia korzystanie z zasobów w środowisku deweloperskim podczas lokalnego uruchamiania kodu i zasobów produkcyjnych po wdrożeniu kodu w chmurze.

Krok 4. Wdrażanie kodu aplikacji na platformie Azure

Po przetestowaniu kodu lokalnie możesz wdrożyć kod w zasobie platformy Azure, który został zaaprowizowany w celu jego hostowania. Jeśli na przykład piszesz aplikację internetową Django, wdrożysz ten kod na maszynie wirtualnej (w której podajesz własny serwer internetowy) lub do usługi aplikacja systemu Azure (która udostępnia serwer internetowy). Po wdrożeniu ten kod działa na serwerze, a nie na komputerze lokalnym i może uzyskać dostęp do wszystkich zasobów platformy Azure, dla których jest autoryzowany.

Jak wspomniano w poprzedniej sekcji, w typowych procesach programowania najpierw wdrażasz kod w zasobach aprowizowania w środowisku projektowym. Po zakończeniu testowania kod jest wdrażany w zasobach w środowisku przejściowym, udostępniając aplikację zespołowi testowemu i być może klientom w wersji zapoznawczej. Gdy wydajność aplikacji będzie satysfakcjonująca, możesz wdrożyć kod w środowisku produkcyjnym. Wszystkie te wdrożenia można również zautomatyzować za pomocą ciągłej integracji i ciągłego wdrażania przy użyciu usług Azure Pipelines i GitHub Actions.

Jednak po wdrożeniu kodu w chmurze naprawdę staje się aplikacją w chmurze działającą całkowicie na komputerach serwerowych w centrach danych platformy Azure.

Krok 5. Zarządzanie, monitorowanie i poprawianie

Po wdrożeniu chcesz upewnić się, że aplikacja działa zgodnie z potrzebami, odpowiadając na żądania klientów i efektywnie korzystając z zasobów (i przy najniższym koszcie). Możesz zarządzać tym, jak platforma Azure automatycznie skaluje wdrożenie zgodnie z potrzebami, oraz zbierać i monitorować dane wydajności za pomocą witryny Azure Portal, programu VS Code, interfejsu wiersza polecenia platformy Azure lub skryptów niestandardowych napisanych za pomocą bibliotek zestawu Azure SDK. Następnie możesz wprowadzić korekty w czasie rzeczywistym dla zaaprowizowanych zasobów, aby zoptymalizować wydajność, ponownie przy użyciu dowolnego z tych samych narzędzi.

Monitorowanie zapewnia szczegółowe informacje o sposobie restrukturyzacji aplikacji w chmurze. Na przykład może się okazać, że niektóre części aplikacji internetowej (takie jak grupa punktów końcowych interfejsu API) są używane tylko od czasu do czasu w porównaniu z podstawowymi częściami. Następnie możesz wdrożyć te interfejsy API oddzielnie jako bezserwerowe funkcje platformy Azure. Jako funkcje mają własne zasoby obliczeniowe, które nie konkurują z główną aplikacją, ale kosztują tylko grosze miesięcznie. Twoja główna aplikacja staje się wówczas bardziej elastyczna dla większej liczby klientów bez konieczności skalowania w górę do warstwy o wyższych kosztach.

Następne kroki

Znasz teraz podstawową strukturę platformy Azure i ogólny przepływ programowania: aprowizuj zasoby, napisz i przetestujesz kod, wdrożysz kod na platformie Azure, a następnie będziesz monitorować te zasoby i zarządzać nimi.