AWS Sam wdrożenie

AWS Sam wdrożenie
Aplikację bez serwera można budować przy użyciu usług dostarczanych przez AWS, takich jak AWS Serverless Model (SAM). AWS zapewnia AWS SAM CLI do opracowywania aplikacji opartych na SAM. Ułatwia także środowisko wykonawcze podobne do Lambda do budowania, testowania i debugowania aplikacji dostarczanych przez szablony SAM. Ponadto CLI może wdrożyć aplikację SAM w AWS za pomocą AWS SAM.

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:

  1. „„szablon.Yaml”Zawiera szablon AWS SAM, który opisuje zasoby AWS obejmujące aplikację.
  2. "App.py" w środku Witaj świecie Folder, który zawiera kod do obsługi funkcji Lambda.
  3. "wymagania.tekst" w środku Witaj świecie Folder, który obejmuje zależności wymagane przez aplikację.

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.