Uważam, że do programowania bezserwerowego potrzebna jest możliwość uruchamiania i debugowania poszczególnych funkcji lokalnie.
Serverless Framework ma przydatną funkcję właśnie do tego celu: invoke local command .
Problem, który znalazłem, polega na tym, że podczas pracy z funkcjami Node.js nigdy nie byłem w stanie serverless invoke localpracować z doskonałymi narzędziami do debugowania Pythona VSCode .
Istnieje kilka świetnych przewodników dotyczących konfigurowania VSCode do debugowania funkcji Node.js Lambda zarządzanych przez Serverless Framework, ale nie widziałem wielu dla Pythona, prawdopodobnie ze względu na możliwość tworzenia konfiguracji debugowania, która używa skryptu Node.js do wywoływania środowisko uruchomieniowe Pythona.
W tym przewodniku wyjaśniono, jak lokalnie uruchamiam i debuguję moje funkcje Lambda Pythona. Moje rozwiązanie korzysta z AWS SAM i AWS Toolkit dla VSCode .
Dlaczego więc po prostu nie użyć AWS SAM zamiast Serverless Framework ( SF ), słyszę, jak niektórzy z was pytają? Cóż, po pierwsze, używam SF w swojej pracy. SF też wyrósł na mnie. W tym momencie jest to dojrzała, przetestowana w boju platforma, a jej ekosystem wtyczek zapewnia wszelkiego rodzaju dodatkowe funkcje dla wielu różnych przypadków użycia, które nie są wyraźnie obsługiwane od razu. Jestem w stanie wykorzystać razem najlepsze części SF i AWS SAM.
Ta konfiguracja pozwala mi na poprawne lokalne debugowanie moich funkcji Lambda krok po kroku przez ustawianie punktów przerwania, sprawdzanie zmiennych i wykonywanie kodu funkcji po jednym wierszu na raz, jednocześnie komunikując się z rzeczywistym, wdrożonym zasobem AWS — tak jak robi to funkcja w prawdziwe wezwanie.
Zakładam, że masz już zainstalowany Serverless Framework , używasz go do zarządzania i wdrażania funkcji Python Lambda w AWS oraz używasz VSCode z rozszerzeniem Python .
.vscode/launch.json.requirements.txt folderu w twoim obszarze roboczym . Używam Poetry do zarządzania zależnościami projektu, więc mam preLaunchTask(pokazany poniżej), który generuje go automatycznie przed debugowaniem. Możesz nawet dodać postDebugTask. Przeczytaj więcej o zadaniach VSCode tutaj .awspolu.environmentVariablesi payloads można również łatwo dostosować.
Jakakolwiek informacja zwrotna? Czy wiesz, jak dobrze sls invoke localbawić się z debugowaniem Pythona i VSCode? Masz alternatywne rozwiązanie lub po prostu uważasz, że to kompletnie głupie? Dajcie znać w komentarzach!
Na pewno słyszałeś o wszystkich nowych, potężnych wtyczkach ChatGPT, takich jak przeglądarka, interpreter kodu itp. Ale jest problem, dostęp do wtyczek jest ograniczony do listy oczekujących, przez co wielu nie ma do nich dostępu.
W tym tygodniu otrzymałem wiadomość e-mail od członka codziennej listy e-mailowej. Chcieli wiedzieć: Jakie zasoby odwiedzasz codziennie, co tydzień i co miesiąc? Świetne pytanie! Cieszę się, że mogę podzielić się spostrzeżeniami na temat mojego przepływu pracy i najlepszych zasobów, z których korzystam.
Wczoraj zamknęliśmy drzwi tegorocznego Konkursu Piosenki Eurowizji błyskotliwym, chaotycznym wielkim finałem, w którym szwedzka piosenkarka Loreen zabrała do domu trofeum, stając się pierwszą kobietą, która wygrała dwa razy i przywracając koronę Szwecji 50 lat po tym, jak ABBA wygrała konkurs z „Waterloo”. Stali się jednym z największych zespołów w kanonie muzyki pop.
Jeśli chcemy dalej prosperować na tej planecie, będziemy musieli prowadzić niebezpieczne rozmowy. Takie, które rzucają wyzwanie temu, co zrobiliśmy, co robimy i co obecnie zamierzamy robić (lub planujemy robić).
Przejście do nowej kariery może być niezwykle trudne, jeśli spróbujesz zrobić to sam. Ważne jest, aby znaleźć odpowiedzialnych partnerów, którzy są na tym samym poziomie uczenia się co ty, którzy mają podobne cele, wytrwałość i motywację.
Było już po północy, kiedy Hayden odwiózł Katie do jej akademika po wspólnym wieczorze. Miała wcześnie rano zajęcia i nie miała kolejnej zmiany ubrania po tym, jak spędziła z nim noc wcześniej.