Co obejmiemy?
W tym przewodniku zbadamy wdrożenie aplikacji AWS SAM.
Co to jest AWS Sam?
AWS Sam to usługa oparta na chmurze Amazon do tworzenia aplikacji bez serwera. Sam, jak i Sam Cli, to projekty typu open source. SAM definiuje zasoby używane w aplikacjach opartych na architekturze bez serwera. Ma krótkie składni do oznaczania interfejsów API, funkcji, baz danych i mapowania źródeł zdarzeń. Składniki SAM są przekształcane i rozszerzane na składni AWS Cloudformation. Aplikacje można modelować za pomocą YAML. W ten sposób aplikacje bez serwera można szybko budować.
„Sam wdrożenie” Komenda
Domyślnie, SAM wdrożenie polecenie bierze bieżący katalog jako katalog główny dla projektu. Po pierwsze, AWS Sam Cli szuka pliku szablonu o nazwie szablon.YAML wewnątrz podwodnego „.AWS-SAM”Został ustawiony przez uruchomienie SAM BULD Komenda.
Następnie szuka tego samego pliku (albo szablon.YAML lub szablon.yml) w bieżącym katalogu. Kiedy "-szablon„Opcja jest używana z poleceniem wdrażania, domyślna postawa AWS Sam Cli jest zastąpiona. Następnie wdroży tylko określony szablon AWS SAM i zasoby lokalne.
SAM wdrożenie Polecenie zapewnia również tryb interaktywny z przewodnikiem z „-prowadzony" opcja. W tym trybie użytkownik jest poproszony o różne parametry potrzebne do wdrożenia.
Ważne polecenia SAM CLI
Sam-init: Narzędzie SAM CLI może inicjować aplikacje bez serwera za pomocą szablonów infrastruktury AWS. Odbywa się to za pomocą „Sam-init" Komenda.
SAM BUILD: W ten sam sposób „SAM BUILD”Komenda służy do kompilacji, budowania i pakowania funkcji Lambda z danym środowiskiem wykonawczym.
Sam-local: W przypadku kontenerów Docker, polecenia „Sam lokalne” mogą lokalnie przetestować aplikację SAM, uruchamiając ją.
SAM SYNC: „SAM SYNC”Polecenie zapewnia funkcję synchronizacji i weryfikacji modyfikacji wykonanych w środowisku chmurowym.
SAM-DELOPOM: Wreszcie uruchom „SAM wdrożenie„Polecenie wdrażania aplikacji SAM.
Wdrażanie aplikacji Helloworld
Weźmy przykład wdrażania AWS SAM za pomocą przykładowej aplikacji Helloworld. W tym przykładzie aplikacja Helloworld używa podstawowego zaplecza interfejsu API. Zapoznaj się z następującym schematem komponentów użytych w tej aplikacji:
Funkcja Lambda jest wywoływana, gdy żądanie GET jest odbierane w punkcie końcowym API Gateway. W odpowiedzi komunikat Hello World zwraca funkcja Lambda.
Teraz wykonaj następujące kroki, aby wdrożyć tę aplikację:
Pobieranie przykładowej aplikacji
Najpierw uruchom następujące polecenie:
Sam Init
Na ekranie pojawi się seria podpowiedzi. W przypadku typu szablonu trzymamy się opcji szablonów AWS Quick Start, a następnie szablon Hello World:
Wybieramy domyślną opcję: Python Runtime i typ pakietu zip. Zachowaj również nazwę projektu jako domyślną: „SAM-App".
Po wykonaniu poprzednich ustawień zobaczysz podstawowe podsumowanie aplikacji:
Ten Sam-init Polecenie spowoduje utworzenie katalogu o tej samej nazwie, co wybrana dla nazwy projektu. Należy również zauważyć, że następujący katalog zawiera wiele podwodnych i plików:
$ Tree SAM-App
To są trzy najważniejsze pliki:
Budowanie aplikacji
Przed zbudowaniem aplikacji poruszaj się po katalogu projektu zawierającym szablon.plik YAML, a następnie uruchom polecenie kompilacji. Oto jak to zrobić w jednym kroku:
$ CD SAM-App && Sam Build
Notatka: Użyj wymaganej wersji Python. W przeciwnym razie polecenie może zawieść.
Wdrażanie aplikacji
Wreszcie, aby wdrożyć aplikację za pomocą interaktywnego kreatora, uruchom następujące polecenie:
$ Sam wdrożenie -kierowany
Uznaj pytanie, wprowadzając „Y” i naciśnij Enter, aby wybrać opcję domyślną.
Poproszony o wdrożenie zmian, wprowadź „Y”:
Po pewnym przetwarzaniu powinieneś zobaczyć udaną wiadomość:
Testowanie aplikacji
Użyj "Sam lokalny„Polecenie, aby przetestować aplikację Hello World z kontenerami Docker:
$ Sam lokalny start-api
Innym sposobem przetestowania aplikacji jest wywołanie funkcji Lambda z:
$ Sam Local wywołuje „HelloworldFunction” -e Events/Event.JSON
Wniosek
W tym przewodniku omówiliśmy, jak budować i wdrożyć aplikację AWS SAM za pomocą szablonu próbki AWS SAM. Następnie możesz spróbować opracować i wdrożyć własną aplikację AWS SAM. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i samouczków.