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 środowisko wykonania podobne do Lambda do budowania, testowania i debugowania aplikacji dostarczanych przez szablony SAM. Ponadto za pomocą AWS SAM CLI możemy wdrożyć aplikację SAM na AWS.
Co obejmiemy?
W tym przewodniku zbadamy szablon AWS SAM.
Co to jest AWS Sam?
AWS SAM jest używany do tworzenia aplikacji bez serwera w AWS. Zarówno Sam, jak i Sam Cli są pod licencją open source. SAM definiuje zasoby używane w aplikacjach 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ć.
Funkcje AWS Sam
SAM AWS może być zintegrowany z innymi usługami AWS, a zatem ma kilka korzyści z tworzenia aplikacji bez serwera:
Patrząc na szablon SAM
Szablon SAM AWS jest bardzo podobny do szablonu AWS Cloudformation, jednak istnieją pewne poważne różnice między nimi pod względem następujących sekcji szablonów:
Pozostałe sekcje szablonów…
Oprócz wyżej wymienionych sekcji pozostałe sekcje idą z sekcją pliku szablonu CloudFormation z odpowiednią nazwą. Szablon AWS SAM wymaga tylko Sekcje transformacji i zasobów jako obowiązkowy. Możemy jednak również dodać inne sekcje. Oprócz powyższej sekcji możemy również mieć poniższą sekcję w szablonie AWS SAM:
Sekcje szablonów omówione powyżej można dodać w dowolnej kolejności. Jednak należy trzymać się logicznego zamówienia. AWS SAM CLI ma plik konfiguracyjny formatu pliku TOML. Ten plik, nazwany jako SamConfig.toml, trzyma domyślne parametry dla poleceń SAM CLI.
Aby zweryfikować szablon SAM AWS, użyj formatu polecenia:
Sam poproś [opcje]
Przykład szablonu SAM
Oto przykładowe szablony AWS SAM zawierające określone sekcje i odpowiednie podpowiedzi próbki, które pojawiają się z 'SAM Wdrożenie -Druged' Komenda:
Sekcja parametrów:
Parametry:
Ourpar:
Typ: String
Domyślnie: Ourpalval
Przykładowy monit wyjściowy:
Parametr OurPar [OurParval]:
Sekcja zasobów:
Zasoby:
Witaj świecie:
Typ: AWS :: Serverless :: Funkcja
Nieruchomości:
CODEURI: hello_world/
Handler: App.lambda_handler
Czas wykonawczy: Python3.7
CodesigningConfigarn: ARN: AWS: Lambda: US-East-1: XXXXXXXXXXX: Code-Signing-Config: CSC-12E12345DB1234567
Przykładowy monit wyjściowy:
#Konfiguracje podpisywania kodu w definicjach funkcji
Chcesz podpisać swój kod? [T/N]:
#Prosimy podać szczegóły profilu podpisywania następujących funkcji i warstw
#Signing Detale profilu dla funkcji „Helloworld”
Podpisanie nazwy profilu:
Podpisanie ID konta właściciela profilu (opcjonalnie):
#Signing Details dla warstwy „mylayer”, która jest używana przez funkcje „helloworld”
Podpisanie nazwy profilu:
Podpisanie ID konta właściciela profilu (opcjonalnie):
Wniosek
W tym przewodniku zbadaliśmy szablon AWS SAM. Następną rzeczą, którą możesz spróbować, jest wdrożenie prostej aplikacji Hello World Server Bez serwera zawierającego plik szablonu AWS SAM.