Tutorial: Bereitstellen einer Hello World-Anwendung - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tutorial: Bereitstellen einer Hello World-Anwendung

In diesem Handbuch können Sie eine Hello World-Beispielanwendung herunterladen, erstellen und bereitstellenAWS SAMaus. Anschließend testen Sie die Anwendung imAWSCloud und testen Sie es optional lokal auf Ihrem Entwicklungshost.

Diese Anwendung implementiert ein grundlegendes API-Backend. Es besteht aus einem Amazon API Gateway Gateway-Endpunkt und einemAWS LambdaFunktion. Wenn Sie eine GET-Anforderung an den API Gateway Gateway-Endpunkt senden, wird die Lambda-Funktion aufgerufen. Diese Funktion gibt einehello worldmessage.

Das folgende Diagramm zeigt die Komponenten dieser Anwendung:


      Ein Diagramm einer Lambda-Funktion, die aufgerufen wird, wenn Sie eine GET-Anforderung an den API Gateway Gateway-Endpunkt senden.

Wenn Sie Ihre Beispielanwendung initialisieren, haben Sie die Möglichkeit, einen Lambda-Bereitstellungspakettyp auszuwählen, entwederZipoderImageaus. Weitere Informationen zu Pakettypen finden Sie unterLambda-BereitstellungspaketeimAWS LambdaEntwicklerhandbuchaus.

Im Folgenden finden Sie eine Vorschau der Befehle, die Sie ausführen, um Ihre Hello World-Anwendung zu erstellen. Weitere Informationen zu den einzelnen Befehlen finden Sie in den Abschnitten weiter unten in diesem Tutorial.

#Step 1 - Download a sample application sam init #Step 2 - Build your application cd sam-app sam build #Step 3 - Deploy your application sam deploy --guided

Voraussetzungen

In diesem Handbuch wird davon ausgegangen, dass Sie die Schritte für Ihr Betriebssystem unterInstallieren der AWS SAM-CLIeinschließlich:

  1. Erstellen einesAWSKonto.

  2. KonfigurierenAWS Identity and Access Management(IAM) Berechtigungen.

  3. Installieren von Docker-Installation. Hinweis: Docker ist nur Voraussetzung, um Ihre Anwendung lokal zu testen.

  4. Installieren von Homebrew. Hinweis: Homebrew ist nur eine Voraussetzung für Linux und macOS.

  5. Installieren vonAWS SAMBefehlszeilenschnittstelle (CLI). Hinweis: Stellen Sie sicher, dass Sie Version 1.13.0 oder höher haben. Überprüfen Sie die Version, indem Sie diesam --versionbefehl.

Schritt 1: Laden Sie ein Beispiel herunterAWS SAMAnwendung

Auszuführender Befehl:

sam init

Folgen Sie den Anweisungen auf dem Bildschirm. Für dieses Tutorial wird empfohlen, dass SieAWS Quick Start Templates, derZipPakettyp, die Laufzeit Ihrer Wahl und derHello World Exampleaus.

Beispielausgabe:

   
 -----------------------
 Generating application:
 -----------------------
 Name: sam-app
 Runtime: python3.7
 Dependency Manager: pip
 Application Template: hello-world
 Output Directory: .

 Next steps can be found in the README file at ./sam-app/README.md
        

Was ist?AWS SAMVorgehensweise:

Mit diesem Befehl wird ein Verzeichnis mit dem Namen erstellt, den Sie als Projektname angegeben haben. Der Inhalt des Projektverzeichnisses ähnelt dem folgenden Beispiel:

 
 sam-app/
   ├── README.md
   ├── events/
   │   └── event.json
   ├── hello_world/
   │   ├── __init__.py
   │   ├── app.py            #Contains your AWS Lambda handler logic.
   │   └── requirements.txt  #Contains any Python dependencies the application requires, used for sam build
   ├── template.yaml         #Contains the AWS SAM template defining your application's AWS resources.
   └── tests/
       └── unit/
           ├── __init__.py
           └── test_handler.py
        
Anmerkung

Diese Projektverzeichnisinhalte werden erstellt, wenn Sie eine der Python-Laufzeitumgebungen undHello World Exampleaus.

Es gibt drei besonders wichtige Dateien:

  • template.yaml: Enthält dieAWS SAM-Vorlage, die die Ihrer Anwendung definiertAWSRessourcen schätzen.

  • hello_world/app.py: Enthält Ihre eigentliche Lambda-Handler-Logik.

  • hello_world/requirements.txt: Enthält alle Python-Abhängigkeiten, die die Anwendung benötigt und fürsam buildaus.

Schritt 2: Erstellen Sie Ihre Anwendung

Auszuführender Befehl:

Wechseln Sie zuerst in das Projektverzeichnis, in dem dietemplate.yaml-Datei für die Beispielanwendung befindet sich. (Standardmäßig ist dieses Verzeichnissam-app.) Führen Sie dann diesen Befehl aus:

sam build

Beispielausgabe:

  
 Build Succeeded

 Built Artifacts  : .aws-sam/build
 Built Template   : .aws-sam/build/template.yaml

 Commands you can use next
 =========================
 [*] Invoke Function: sam local invoke
 [*] Deploy: sam deploy --guided
       

Was ist?AWS SAMVorgehensweise:

DieAWS SAMDie -CLI enthält Abstraktionen für eine Reihe von Lambda-Laufzeitumgebungen, um Ihre Abhängigkeiten zu erstellen, und kopiert den Quellcode in Stagingordner, so dass alles bereit ist, verpackt und bereitgestellt zu werden. Diesam build-Befehl erstellt alle Abhängigkeiten Ihrer Anwendung und kopiert Ihren Anwendungs-Quellcode in Ordner unter.aws-sam/buildum gezippt und auf Lambda hochgeladen zu werden.

Unter sehen Sie die folgende Top-Level-Baumstruktur.aws-sam:

 
 .aws-sam/
   └── build/
       ├── HelloWorldFunction/
       └── template.yaml
            

HelloWorldFunctionist ein Verzeichnis, das Ihre enthältapp.pysowie Abhängigkeiten von Drittanbietern, die Ihre Anwendung verwendet.

Schritt 3: Stellen Sie Ihre Anwendung inAWSCloud

Auszuführender Befehl:

sam deploy --guided

Folgen Sie den Anweisungen auf dem Bildschirm. Um die Standardoptionen des interaktiven Erlebnisses zu akzeptieren, antworten Sie mitEnteraus.

Anmerkung

Zur AufforderungHelloWorldFunction may not have authorization defined, Is this okay? [y/N],AWS SAMinformiert Sie darüber, dass die Beispielanwendung eine API-Gateway-API ohne Autorisierung konfiguriert. Wenn Sie die Beispielanwendung bereitstellen,AWS SAMerstellt eine öffentlich zugängliche URL.

Sie können diese Benachrichtigung bestätigen, indem Sie auf die Eingabeaufforderung mit „Y“ antworten. Weitere Informationen zum Konfigurieren der Autorisierung finden Sie unterSteuern des Zugriffs auf API Gatewayaus.

Beispielausgabe:

 
    Deploying with following values
    ===============================
    Stack name                 : sam-app
    Region                     : us-east-1
    Confirm changeset          : False
    Deployment s3 bucket       : sam-bucket
    Capabilities               : ["CAPABILITY_IAM"]
    Parameter overrides        : {}

 Initiating deployment
 =====================

 Waiting for changeset to be created..

 CloudFormation stack changeset
 ---------------------------------------------------------------------------------------------------------------------------------------------------
 Operation                                         LogicalResourceId                                 ResourceType
 ---------------------------------------------------------------------------------------------------------------------------------------------------
 + Add                                             HelloWorldFunctionHelloWorldPermissionProd        AWS::Lambda::Permission
 + Add                                             ServerlessRestApiDeployment47fc2d5f9d             AWS::ApiGateway::Deployment
 + Add                                             ServerlessRestApiProdStage                        AWS::ApiGateway::Stage
 + Add                                             ServerlessRestApi                                 AWS::ApiGateway::RestApi
 * Modify                                          HelloWorldFunctionRole                            AWS::IAM::Role
 * Modify                                          HelloWorldFunction                                AWS::Lambda::Function
 ---------------------------------------------------------------------------------------------------------------------------------------------------

 2019-11-21 14:33:24 - Waiting for stack create/update to complete

 CloudFormation events from changeset
 -------------------------------------------------------------------------------------------------------------------------------------------------
 ResourceStatus                       ResourceType                         LogicalResourceId                    ResourceStatusReason
 -------------------------------------------------------------------------------------------------------------------------------------------------
 UPDATE_IN_PROGRESS                   AWS::IAM::Role                       HelloWorldFunctionRole               -
 UPDATE_COMPLETE                      AWS::IAM::Role                       HelloWorldFunctionRole               -
 UPDATE_IN_PROGRESS                   AWS::Lambda::Function                HelloWorldFunction                   -
 UPDATE_COMPLETE                      AWS::Lambda::Function                HelloWorldFunction                   -
 CREATE_IN_PROGRESS                   AWS::ApiGateway::RestApi             ServerlessRestApi                    -
 CREATE_COMPLETE                      AWS::ApiGateway::RestApi             ServerlessRestApi                    -
 CREATE_IN_PROGRESS                   AWS::ApiGateway::RestApi             ServerlessRestApi                    Resource creation Initiated
 CREATE_IN_PROGRESS                   AWS::ApiGateway::Deployment          ServerlessRestApiDeployment47fc2d5   Resource creation Initiated
                                                                          f9d
 CREATE_IN_PROGRESS                   AWS::Lambda::Permission              HelloWorldFunctionHelloWorldPermis   Resource creation Initiated
                                                                          sionProd
 CREATE_IN_PROGRESS                   AWS::Lambda::Permission              HelloWorldFunctionHelloWorldPermis   -
                                                                          sionProd
 CREATE_IN_PROGRESS                   AWS::ApiGateway::Deployment          ServerlessRestApiDeployment47fc2d5   -
                                                                          f9d
CREATE_COMPLETE                      AWS::ApiGateway::Deployment          ServerlessRestApiDeployment47fc2d5   -
                                                                          f9d
 CREATE_IN_PROGRESS                   AWS::ApiGateway::Stage               ServerlessRestApiProdStage           -
 CREATE_IN_PROGRESS                   AWS::ApiGateway::Stage               ServerlessRestApiProdStage           Resource creation Initiated
 CREATE_COMPLETE                      AWS::ApiGateway::Stage               ServerlessRestApiProdStage           -
 CREATE_COMPLETE                      AWS::Lambda::Permission              HelloWorldFunctionHelloWorldPermis   -
                                                                          sionProd
 UPDATE_COMPLETE_CLEANUP_IN_PROGRES   AWS::CloudFormation::Stack           sam-app                              -
 S
 UPDATE_COMPLETE                      AWS::CloudFormation::Stack           sam-app                              -
 -------------------------------------------------------------------------------------------------------------------------------------------------

 Stack sam-app outputs:
 ---------------------------------------------------------------------------------------------------------------------------------------------------
 OutputKey-Description                                                     OutputValue
 ---------------------------------------------------------------------------------------------------------------------------------------------------
 HelloWorldFunctionIamRole - Implicit IAM Role created for Hello World     arn:aws:iam::123456789012:role/sam-app-
 function                                                                  HelloWorldFunctionRole-104VTJ0TST7M0
 HelloWorldApi - API Gateway endpoint URL for Prod stage for Hello World   https://0ks2zue0zh.execute-api.us-east-1.amazonaws.com/Prod/hello/
 function
 HelloWorldFunction - Hello World Lambda Function ARN                      arn:aws:lambda:us-east-1:123456789012:function:sam-app-
                                                                          HelloWorldFunction-1TY92MJX0BXU5
 ---------------------------------------------------------------------------------------------------------------------------------------------------

 Successfully created/updated stack - sam-app in us-east-1
        

Was ist?AWS SAMVorgehensweise:

Mit diesem Befehl wird Ihre AnwendungAWSCloud. Es braucht die Deployment-Artefakte, die Sie mit demsam build-Befehl, verpackt und lädt sie in einen Amazon-Simple-Storage-Service Simple Storage Service (Amazon S3) -Bucket hoch, denAWS SAMCLI erstellt und implementiert die Anwendung mitAWS CloudFormationaus. In der Ausgabe dessam deploy-Befehl sehen, können Sie die Änderungen sehen, die an IhremAWS CloudFormationstapeln.

Wenn Ihre Anwendung einen HTTP-Endpunkt erstellt hat, werden die Ausgabensam deploygeneriert zeigt Ihnen auch die Endpunkt-URL für Ihre Testanwendung an. Sie können es verwendencurlum eine Anfrage über diese Endpunkt-URL an Ihre Anwendung zu senden. Beispiel:

curl https://<restapiid>.execute-api.us-east-1.amazonaws.com/Prod/hello/

Nach dem erfolgreichen Bereitstellen Ihrer Anwendung wird die Ausgabe wie folgt angezeigt:

 
 {"message": "hello world"}
        

Wenn du siehst{"message": "hello world"}nach Ausführung descurl, haben Sie Ihre serverlose Anwendung erfolgreich bereitgestelltAWS, und du rufst deine Live-Lambda-Funktion auf. Lesen Sie andernfalls dieFehlerbehebungAbschnitt später in diesem Tutorial.

Schritt 4: (Optional) Lokale Testen

Wenn Sie Ihre Anwendung entwickeln, ist es möglicherweise nützlich, lokal zu testen. DieAWS SAMCLI bietet diesam localBefehl zum Ausführen Ihrer Anwendung mit Docker-Containern, die die Ausführungsumgebung von Lambda simulieren. Dazu gibt es zwei Möglichkeiten:

  • Hosten Sie Ihre API lokal

  • Rufen Sie Ihre Lambda-Funktion direkt auf

Dieser Schritt beschreibt beide Optionen.

Hosten Sie Ihre API lokal

Auszuführender Befehl:

sam local start-api

Beispielausgabe:

 
 2019-07-12 15:27:58 Mounting HelloWorldFunction at http://127.0.0.1:3000/hello [GET]
 2019-07-12 15:27:58 You can now browse to the above endpoints to invoke your functions. You do not need to restart/reload SAM CLI while working on your functions, changes will be reflected instantly/automatically. You only need to restart SAM CLI if you update your AWS SAM template
 2019-07-12 15:27:58  * Running on http://127.0.0.1:3000/ (Press CTRL+C to quit)

 Fetching lambci/lambda:python3.7 Docker container image......................................................................................................................................................................................
 2019-07-12 15:28:56 Mounting /<working-development-path>/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
 START RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 Version: $LATEST
 END RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72
 REPORT RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72  Duration: 4.42 ms       Billed Duration: 100 ms Memory Size: 128 MB     Max Memory Used: 22 MB
 2019-07-12 15:28:58 No Content-Type given. Defaulting to 'application/json'.
 2019-07-12 15:28:58 127.0.0.1 - - [12/Jul/2019 15:28:58] "GET /hello HTTP/1.1" 200 -
            

Es kann eine Weile dauern, bis das Docker-Image geladen wird. Nachdem es geladen wurde, kannst ducurlum eine Anfrage an Ihre Anwendung zu senden, die auf Ihrem lokalen Host ausgeführt wird:

curl http://127.0.0.1:3000/hello

Beispielausgabe:

 
 2019-07-12 15:29:57 Invoking app.lambda_handler (python3.7)
 2019-07-12 15:29:57 Found credentials in shared credentials file: ~/.aws/credentials

 Fetching lambci/lambda:python3.7 Docker container image......
 2019-07-12 15:29:58 Mounting /<working-development-path>/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
 START RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 Version: $LATEST
 END RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72
 REPORT RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72  Duration: 7.92 ms       Billed Duration: 100 ms Memory Size: 128 MB     Max Memory Used: 22 MB
 {"statusCode":200,"body":"{\"message\": \"hello world\"}"}
            

Was ist?AWS SAMVorgehensweise:

Diestart-apistartet einen lokalen Endpunkt, der Ihren REST-API-Endpunkt repliziert. Es lädt einen Ausführungscontainer herunter, in dem Sie Ihre Funktion lokal ausführen können. Das Endergebnis ist die gleiche Ausgabe, die Sie gesehen haben, als Sie Ihre Funktion imAWSCloud.

Rufen Sie Ihre Lambda-Funktion direkt auf

Auszuführender Befehl:

sam local invoke "HelloWorldFunction" -e events/event.json

Beispielausgabe:

 
 2019-07-01 14:08:42 Found credentials in shared credentials file: ~/.aws/credentials
 2019-07-01 14:08:42 Invoking app.lambda_handler (python3.7)

 Fetching lambci/lambda:python3.7 Docker container image...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 2019-07-01 14:09:39 Mounting /<working-development-path>/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
 START RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 Version: $LATEST
 END RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72
 REPORT RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72    Duration: 3.51 ms    Billed Duration: 100 ms    Memory Size: 128 MB    Max Memory Used: 22 MB    
 {"statusCode":200,"body":"{\"message\": \"hello world\"}"}
            

Was ist?AWS SAMVorgehensweise:

Dieinvokeruft direkt Ihre Lambda-Funktionen auf und kann von Ihnen bereitgestellte Eingabeereignis-Payloads übergeben. Mit diesem Befehl übergeben Sie die Ereignis-Payload in der Dateievent.jsonWas die Beispielanwendung bereitstellt.

Ihre initialisierte Anwendungaws-proxy-Ereignis für API Gateway. Eine Reihe von Werten wird bereits für Sie eingetragen. In diesem Fall gibt das FeldHelloWorldFunctionkümmert sich nicht um die bestimmten Werte, daher ist eine Stubbed Request in Ordnung. Sie können eine Reihe von Werten angeben, die für die Anforderung ersetzt werden sollen, um zu simulieren, was Sie von einer tatsächlichen Anfrage erwarten würden. Im Folgenden finden Sie ein Beispiel für das Generieren eines eigenen Eingabeereignisses und den Vergleich der Ausgabe mit dem Standardwertevent.jsonObjekt:

sam local generate-event apigateway aws-proxy --body "" --path "hello" --method GET > api-event.json diff api-event.json events/event.json

Beispielausgabe:

 
 <   "body": "",
 ---
 >   "body": "{\"message\": \"hello world\"}",
 4,6c4,6
 <   "path": "/hello",
 <   "httpMethod": "GET",
 <   "isBase64Encoded": true,
 ---
 >   "path": "/path/to/resource",
 >   "httpMethod": "POST",
 >   "isBase64Encoded": false,
 11c11
 <     "proxy": "/hello"
 ---
 >     "proxy": "/path/to/resource"
 56c56
 <     "path": "/prod/hello",
 ---
 >     "path": "/prod/path/to/resource",
 58c58
 <     "httpMethod": "GET",
 ---
 >     "httpMethod": "POST",
            

Fehlerbehebung

AWS SAMCLI-Fehler: „Sicherheitseinschränkungen nicht erfüllt“

Beim Laufensam deploy --guided, werden Sie mit der Frage gefragtHelloWorldFunction may not have authorization defined, Is this okay? [y/N]aus. Wenn Sie auf diese Eingabeaufforderung mit antwortenN(Die Standardantwort) wird die folgende Fehlermeldung angezeigt:

 
Error: Security Constraints Not Satisfied
            

Die Aufforderung informiert Sie darüber, dass die Anwendung, die Sie bereitstellen möchten, möglicherweise eine Amazon API Gateway Gateway-API ohne Autorisierung konfiguriert hat. Indem Sie antwortenNzu dieser Aufforderung sagen Sie, dass dies nicht in Ordnung ist.

Um dies zu beheben, haben Sie die folgenden Optionen:

  • Konfigurieren Sie Ihre Anwendung. Weitere Informationen zum Konfigurieren der Autorisierung finden Sie unterSteuern des Zugriffs auf API Gatewayaus.

  • Beantworten Sie diese Frage mitYum anzugeben, dass Sie mit der Bereitstellung einer Anwendung einverstanden sind, bei der eine API-Gateway-API ohne Autorisierung konfiguriert ist.

AWS SAMCLI-Fehler: „keine solche Option: —app-template“

Bei der Ausführung von sam init wird der folgende Fehler angezeigt:

 
Error: no such option: --app-template
            

Dies bedeutet, dass Sie eine ältere Version der AWS SAM-CLI verwenden, die den Parameter --app-template nicht unterstützt. Um dies zu beheben, können Sie entweder Ihre Version von AWS SAM-CLI auf 0.33.0 oder höher aktualisieren oder den Parameter --app-template aus im Befehl sam init weglassen.

AWS SAMCommand CLI-Fehler: „keine solche Option: —guided“

Bei der Ausführung von sam deploy wird der folgende Fehler angezeigt:

 
Error: no such option: --guided
            

Dies bedeutet, dass Sie eine ältere Version der AWS SAM-CLI verwenden, die den Parameter --guided nicht unterstützt. Um dies zu beheben, können Sie entweder Ihre Version von AWS SAM-CLI auf 0.33.0 oder höher aktualisieren oder den Parameter --guided aus im Befehl sam deploy weglassen.

AWS SAMCLI-Fehler: „Fehler beim Erstellen verwalteter Ressourcen: Anmeldeinformationen konnten nicht gefunden werden“

Bei der Ausführung von sam deploy wird der folgende Fehler angezeigt:

 
Error: Failed to create managed resources: Unable to locate credentials
            

Dies bedeutet, dass Sie sich nicht eingerichtet habenAWSAnmeldeinformationen zum Aktivieren desAWS SAMZu erstellende CLIAWSService-Anrufe. Um dies zu beheben, müssen Sie die Einrichtung ausführenAWS-Anmeldeinformationen. Weitere Informationen finden Sie unter Einrichten vonAWSReferenzen .

AWS SAMCLI-Fehler: „LäuftAWSSAM-Projekte vor Ort benötigen Docker. Hast du es installiert?“

Bei der Ausführung von sam local start-api wird der folgende Fehler angezeigt:

 
Error: Running AWS SAM projects locally requires Docker. Have you got it installed?
            

Dies bedeutet, dass Sie Docker nicht richtig installiert haben. Um Ihre Anwendung lokal zu testen. Um dies zu beheben, befolgen Sie die Anweisungen zur Installation von Docker für Ihren Entwicklungshost. Wechseln Sie zuInstallieren der AWS SAM-CLI, wählen Sie die entsprechende Plattform aus und befolgen Sie dann die Anweisungen im Abschnitt mit dem TitelDocker-Installationaus.

Curl-Fehler: „Fehlendes Authentifizierungstoken“

Wenn Sie versuchen, den API Gateway Gateway-Endpunkt aufzurufen, wird die folgende Fehlermeldung angezeigt:

 
 {"message":"Missing Authentication Token"}
            

Dies bedeutet, dass Sie versucht haben, eine Anfrage an die richtige Domäne zu senden, der URI jedoch nicht erkennbar ist. Um dies zu beheben, überprüfen Sie die vollständige URL und aktualisieren Sie diecurlBefehl mit der richtigen URL.

Curl-Fehler: „curl: (6) Konnte nicht auflösen:...“

Wenn Sie versuchen, den API Gateway Gateway-Endpunkt aufzurufen, wird die folgende Fehlermeldung angezeigt:

 
 curl: (6) Could not resolve: endpointdomain (Domain name not found)
            

Dies bedeutet, dass Sie versucht haben, eine Anfrage an eine ungültige Domäne zu senden. Dies kann passieren, wenn Ihre serverlose Anwendung nicht erfolgreich bereitgestellt werden konnte oder wenn Sie einen Tippfehler in Ihremcurlbefehl. Stellen Sie sicher, dass die Anwendung erfolgreich bereitgestellt wurde, indem SieAWS CloudFormation-Konsole oder dieAWS CLIund vergewissern Sie sich, dass Ihrcurl-Befehl ist richtig.

Bereinigen

Wenn Sie dieAWSRessourcen, die Sie durch Ausführen dieses Tutorials erstellt haben, können Sie sie entfernen, indem SieAWS CloudFormationstapeln, den Sie bereitgestellt haben.

So löschen Sie dasAWS CloudFormationStapeln mit derAWS Management ConsoleGehen Sie folgendermaßen vor:

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie im linken Navigationsbereich Stack aus.

  3. Wählen Sie in der Liste der Stacks die Optionsam-App(oder der Name des Stacks, den Sie erstellt haben).

  4. Wählen Sie Delete (Löschen).

Wenn Sie fertig sind, ändert sich der Status des Stacks inDELETE_COMPLETEaus.

Alternativ können Sie dieAWS CloudFormationstapeln, indem Sie Folgendes ausführenAWS CLI-Befehl:

aws cloudformation delete-stack --stack-name sam-app --region region

Überprüfen Sie den gelöschten Stack

Für beide Methoden zum Löschen desAWS CloudFormationstapeln, können Sie überprüfen, ob es gelöscht wurde, indem Sie zumAWS CloudFormationKonsoleaus. Wählen Sie im linken NavigationsbereichStacks, und wählen Sie dann in der Dropdown-Liste neben dem SuchfeldDeleted (Gelöscht)aus. Sie sollten den Namen Ihres Stacks in der Liste der gelöschten Stacks sehen.

Schlussfolgerung

In diesem Tutorial haben Sie die folgenden Schritte ausgeführt:

  1. Eine serverlose Anwendung wurde erstellt, erstellt und bereitgestelltAWSunter Verwendung vonAWS SAMaus.

  2. Lokale Prüfung Ihrer AnwendungAWS SAMCLI und Docker.

  3. Löschte dasAWSRessourcen, die Sie nicht mehr benötigen.

Nächste Schritte

Sie können jetzt mit dem Erstellen Ihrer eigenen Anwendungen beginnenAWS SAMCLI.

Um Ihnen den Einstieg zu erleichtern, können Sie eine der Beispielanwendungen vonAWS Serverless Application RepositoryBeispiele-Repository auf GitHub.