

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.

# Stellen Sie eine Lambda-Funktion AWS SAM mithilfe von CodeBuild Lambda Java bereit
<a name="sample-lambda-sam-gradle"></a>

The AWS Serverless Application Model (AWS SAM) ist ein Open-Source-Framework für die Erstellung serverloser Anwendungen. Weitere Informationen finden Sie im [AWS Serverless Application Model Repository](https://github.com/aws/serverless-application-model) unter. GitHub Das folgende Java-Beispiel verwendet Gradle, um eine AWS Lambda Funktion zu erstellen und zu testen. Danach wird die AWS SAM CLI verwendet, um die CloudFormation Vorlage und das Bereitstellungspaket bereitzustellen. Durch die Verwendung von CodeBuild Lambda werden die Build-, Test- und Bereitstellungsschritte automatisch abgewickelt, sodass die Infrastruktur schnell aktualisiert werden kann, ohne dass in einem einzigen Build manuell eingegriffen werden muss.

## Richten Sie Ihr Repository AWS SAM ein
<a name="sample-lambda-sam-gradle.set-up-repo"></a>

Erstellen Sie ein AWS SAM `Hello World` Projekt mit der AWS SAM CLI.

**Um Ihr AWS SAM Projekt zu erstellen**

1. Folgen Sie den Anweisungen im *AWS Serverless Application Model Entwicklerhandbuch* zur [Installation der AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) auf Ihrem lokalen Computer.

1. Führen Sie die folgende Projektkonfiguration aus `sam init` und wählen Sie sie aus.

   ```
   Which template source would you like to use?: 1 - AWS Quick Start Templates
   Choose an AWS Quick Start application template: 1 - Hello World Example
   Use the most popular runtime and package type? (Python and zip) [y/N]: N
   Which runtime would you like to use?: 8 - java21
   What package type would you like to use?: 1 - Zip
   Which dependency manager would you like to use?: 1 - gradle
   Would you like to enable X-Ray tracing on the function(s) in your application? [y/N]: N
   Would you like to enable monitoring using CloudWatch Application Insights? [y/N]: N
   Would you like to set Structured Logging in JSON format on your Lambda functions? [y/N]:  N
   Project name [sam-app]: <insert project name>
   ```

1. Laden Sie den AWS SAM Projektordner in ein unterstütztes Quell-Repository hoch. Eine Liste der unterstützten Quelltypen finden Sie unter [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Erstellen Sie ein CodeBuild Lambda-Java-Projekt
<a name="sample-lambda-sam-gradle.create-project"></a>

Erstellen Sie ein AWS CodeBuild Lambda-Java-Projekt und richten Sie die für den Build erforderlichen IAM-Berechtigungen ein.

**So erstellen Sie Ihr CodeBuild Lambda-Java-Projekt**

1. Öffnen Sie die AWS CodeBuild Konsole unter [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Wenn eine CodeBuild Informationsseite angezeigt wird, wählen Sie Build-Projekt **erstellen**. Erweitern Sie andernfalls im Navigationsbereich **Build**, wählen Sie **Build projects** und dann **Create build project** aus. 

1. Geben Sie unter **Project name (Projektname)** einen Namen für dieses Build-Projekt ein. Die Namen von Build-Projekten müssen für jedes AWS Konto eindeutig sein. Sie können auch eine optionale Beschreibung des Build-Projekts hinzufügen, damit andere Benutzer verstehen, wofür dieses Projekt verwendet wird.

1. Wählen Sie unter **Quelle** das Quell-Repository aus, in dem sich Ihr AWS SAM Projekt befindet.

1. In **Environment** (Umgebung):
   + Wählen Sie für **Compute** die Option **Lambda** aus.
   + Wählen Sie für **Runtime (s)** **Java** aus.
   + Wählen Sie für **Image aws/codebuild/amazonlinux** **-x86\$164-lambda-standard:corretto21** aus.
   + **Lassen **Sie** für Servicerolle die Option Neue Servicerolle ausgewählt.** Notieren Sie sich den **Rollennamen**. Dies ist erforderlich, wenn Sie die IAM-Berechtigungen des Projekts später in diesem Beispiel aktualisieren.

1. Wählen Sie **Create build project (Build-Projekt erstellen)** aus.

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole. 

1. Wählen Sie im Navigationsbereich **Rollen** und dann die Ihrem Projekt zugeordnete Servicerolle aus. Sie finden Ihre Projektrolle in, CodeBuild indem Sie Ihr Build-Projekt auswählen, **Bearbeiten**, **Umgebung** und dann **Servicerolle** auswählen.

1. Wählen Sie die Registerkarte **Trust Relationships** (Vertrauensstellungen) und dann **Edit trust policy** (Vertrauensrichtlinie bearbeiten) aus.

1. Fügen Sie Ihrer IAM-Rolle die folgende Inline-Richtlinie hinzu. Dies wird später für die Bereitstellung Ihrer AWS SAM Infrastruktur verwendet. Informationen finden Sie im Abschnitt [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *-IAM-Benutzerhandbuch*.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Action": [
                   "cloudformation:*",
                   "lambda:*",
                   "iam:*",
                   "apigateway:*",
                   "s3:*"
               ],
               "Resource": "arn:aws:iam::*:role/Service*"
           }
       ]
   }
   ```

------

## Richten Sie das Projekt buildspec ein
<a name="sample-lambda-sam-gradle.set-up-buildspec"></a>

 CodeBuild Liest Build-Befehle aus einer Buildspec und führt sie aus, um Ihre Lambda-Funktion zu erstellen, zu testen und bereitzustellen.

**Um Ihr Projekt (Buildspec) einzurichten**

1. **Wählen Sie in der CodeBuild Konsole Ihr Build-Projekt und dann **Bearbeiten** und Buildspec aus.**

1. **Wählen Sie in **Buildspec** die Option **Build-Befehle einfügen** und dann Zum Editor wechseln aus.**

1. Löschen Sie die vorgefüllten Build-Befehle und fügen Sie die folgende Buildspec ein.

   ```
   version: 0.2
   env:
     variables:
       GRADLE_DIR: "HelloWorldFunction"
   phases:
     build:
       commands:
         - echo "Running unit tests..."
         - cd $GRADLE_DIR; gradle test; cd ..
         - echo "Running build..."
         - sam build --template-file template.yaml
         - echo "Running deploy..."
         - sam package --output-template-file packaged.yaml --resolve-s3 --template-file template.yaml
         - yes | sam deploy
   ```

1. Wählen Sie **Update buildspec (Buildspec aktualisieren)**.

## Stellen Sie Ihre AWS SAM Lambda-Infrastruktur bereit
<a name="sample-lambda-sam-gradle.deploy"></a>

Verwenden Sie CodeBuild Lambda, um Ihre Lambda-Infrastruktur automatisch bereitzustellen

**Um Ihre Lambda-Infrastruktur bereitzustellen**

1. Wählen Sie **Start build (Build starten)**. Dadurch wird Ihre AWS SAM Anwendung automatisch erstellt, getestet und bereitgestellt. AWS Lambda CloudFormation

1. Sobald der Build abgeschlossen ist, navigieren Sie zur AWS Lambda Konsole und suchen Sie unter dem AWS SAM Projektnamen nach Ihrer neuen Lambda-Funktion.

1. Testen Sie Ihre Lambda-Funktion, indem Sie unter der **Funktionsübersicht** **API Gateway** auswählen und dann auf die **API-Endpunkt-URL** klicken. Sie sollten eine Seite mit der Meldung `"message": "hello world"` geöffnet sehen.

## Säubern Sie Ihre Infrastruktur
<a name="sample-lambda-sam-gradle.clean-up"></a>

Um weitere Gebühren für Ressourcen zu vermeiden, die Sie in diesem Tutorial verwendet haben, löschen Sie die Ressourcen, die mit Ihrer AWS SAM Vorlage und erstellt wurden CodeBuild.

**Um Ihre Infrastruktur zu bereinigen**

1. Navigieren Sie zur CloudFormation Konsole und wählen Sie die`aws-sam-cli-managed-default`.

1. Leeren Sie unter **Ressourcen** den Bereitstellungs-Bucket`SamCliSourceBucket`.

1. Löschen Sie den `aws-sam-cli-managed-default` Stack.

1. Löschen Sie den CloudFormation Stapel, der Ihrem AWS SAM Projekt zugeordnet ist. Dieser Stapel sollte denselben Namen wie Ihr AWS SAM Projekt haben.

1. Navigieren Sie zur CloudWatch Konsole und löschen Sie die mit Ihrem CodeBuild Projekt verknüpften CloudWatch Protokollgruppen.

1. Navigieren Sie zur CodeBuild Konsole und löschen Sie Ihr CodeBuild Projekt, indem **Sie Build-Projekt löschen** wählen.