

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.

# Lambda aktivieren und verwalten SnapStart
<a name="snapstart-activate"></a>

Um es zu verwenden SnapStart, aktivieren Sie es SnapStart auf einer neuen oder vorhandenen Lambda-Funktion. Veröffentlichen und rufen Sie dann eine Funktionsversion auf.

**Topics**
+ [Aktivierung SnapStart (Konsole)](#snapshot-console)
+ [SnapStart Aktiviert (AWS CLI)](#snapshot-cli)
+ [Aktivierung SnapStart (API)](#snapshot-api)
+ [Lambda SnapStart und Funktionszustände](#snapstart-function-states)
+ [Aktualisieren eines Snapshots](#update-snapshot)
+ [SnapStart Verwenden mit AWS SDKs](#snapstart-credentials)
+ [Verwenden Sie SnapStart mit CloudFormation AWS SAM, und AWS CDK](#snapstart-cfn-sam)
+ [Löschen von Snapshots](#snapshot-delete)

## Aktivierung SnapStart (Konsole)
<a name="snapshot-console"></a>

**Zur Aktivierung SnapStart für eine Funktion**

1. Öffnen Sie die Seite [Funktionen](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole.

1. Wählen Sie den Namen einer Funktion aus.

1. Wählen Sie **Configuration** (Konfiguration) und dann **General configuration** (Allgemeine Konfiguration).

1. Wählen Sie im Bereich **General configuration** (Allgemeine Konfiguration) die Option **Edit** (Bearbeiten) aus.

1. Wählen Sie auf der Seite **Grundeinstellungen bearbeiten** für die **SnapStart**Option **Veröffentlichte Versionen** aus.

1. Wählen Sie **Speichern**.

1. [Veröffentlichen einer Funktionsversion](configuration-versions.md#configuration-versions-config). Lambda initialisiert Ihren Code, erstellt einen Snapshot der initialisierten Ausführungsumgebung und speichert den Snapshot im Cache für einen Zugriff mit geringer Latenz.

1. [Rufen Sie die Funktionsversion auf](configuration-versions.md#versioning-versions-using).

## SnapStart Aktiviert (AWS CLI)
<a name="snapshot-cli"></a>

**Zur Aktivierung SnapStart für eine bestehende Funktion**

1. Aktualisieren Sie die Funktionskonfiguration, indem [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html)Sie den Befehl mit der **--snap-start** Option ausführen.

   ```
   aws lambda update-function-configuration \
     --function-name my-function \
     --snap-start ApplyOn=PublishedVersions
   ```

1. Veröffentlichen Sie eine Funktionsversion mit dem [publish-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/publish-version.html)-Befehl.

   ```
   aws lambda publish-version \
     --function-name my-function
   ```

1. Bestätigen Sie, dass sie für die Funktionsversion aktiviert SnapStart ist, indem Sie den [get-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/get-function-configuration.html)Befehl ausführen und die Versionsnummer angeben. Das folgende Beispiel legt Version 1 fest.

   ```
   aws lambda get-function-configuration \
     --function-name my-function:1
   ```

   Wenn in der Antwort angezeigt [OptimizationStatus](https://docs.aws.amazon.com/lambda/latest/api/API_SnapStartResponse.html)wird, dass dies der [Fall ist `On` und der Status](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html#lambda-GetFunctionConfiguration-response-State) SnapStart lautet`Active`, dann ist aktiviert und ein Snapshot ist für die angegebene Funktionsversion verfügbar.

   ```
   "SnapStart": { 
       "ApplyOn": "PublishedVersions",
       "OptimizationStatus": "On"
    },
    "State": "Active",
   ```

1. Rufen Sie die Funktionsversion auf, indem Sie den [Aufruf](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/invoke.html)-Befehl ausführen und die Version angeben. Das folgende Beispiel ruft Version 1 auf.

   ```
   aws lambda invoke \
     --cli-binary-format raw-in-base64-out \
     --function-name my-function:1 \
     --payload '{ "name": "Bob" }' \
     response.json
   ```

   Die **cli-binary-format** Option ist erforderlich, wenn Sie AWS CLI Version 2 verwenden. Um dies zur Standardeinstellung zu machen, führen Sie `aws configure set cli-binary-format raw-in-base64-out` aus. Weitere Informationen finden Sie unter [Von AWS CLI unterstützte globale Befehlszeilenoptionen](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html#cli-configure-options-list) im *AWS Command Line Interface -Benutzerhandbuch für Version 2*.

**Zur Aktivierung SnapStart , wenn Sie eine neue Funktion erstellen**

1. Erstellen Sie eine Funktion, indem Sie den [create-function](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html)-Befehl mit der **--snap-start**-Option ausführen. Geben Sie für **--role** den Amazon-Ressourcennamen (ARN) Ihrer [Ausführungsrolle](lambda-intro-execution-role.md) an.

   ```
   aws lambda create-function \
     --function-name my-function \
     --runtime "java25" \
     --zip-file fileb://my-function.zip \
     --handler my-function.handler \
     --role arn:aws:iam::111122223333:role/lambda-ex \
     --snap-start ApplyOn=PublishedVersions
   ```

1. Erstellen Sie eine Version mit dem [publish-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/publish-version.html)-Befehl.

   ```
   aws lambda publish-version \
     --function-name my-function
   ```

1. Bestätigen Sie, dass sie für die Funktionsversion aktiviert SnapStart ist, indem Sie den [get-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/get-function-configuration.html)Befehl ausführen und die Versionsnummer angeben. Das folgende Beispiel legt Version 1 fest.

   ```
   aws lambda get-function-configuration \
     --function-name my-function:1
   ```

   Wenn in der Antwort angezeigt [OptimizationStatus](https://docs.aws.amazon.com/lambda/latest/api/API_SnapStartResponse.html)wird, dass dies der [Fall ist `On` und der Status](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html#lambda-GetFunctionConfiguration-response-State) SnapStart lautet`Active`, dann ist aktiviert und ein Snapshot ist für die angegebene Funktionsversion verfügbar.

   ```
   "SnapStart": { 
        "ApplyOn": "PublishedVersions",
        "OptimizationStatus": "On"
     },
     "State": "Active",
   ```

1. Rufen Sie die Funktionsversion auf, indem Sie den [Aufruf](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/invoke.html)-Befehl ausführen und die Version angeben. Das folgende Beispiel ruft Version 1 auf.

   ```
   aws lambda invoke \
     --cli-binary-format raw-in-base64-out \
     --function-name my-function:1 \
     --payload '{ "name": "Bob" }' \
     response.json
   ```

   Die **cli-binary-format** Option ist erforderlich, wenn Sie AWS CLI Version 2 verwenden. Um dies zur Standardeinstellung zu machen, führen Sie `aws configure set cli-binary-format raw-in-base64-out` aus. Weitere Informationen finden Sie unter [Von AWS CLI unterstützte globale Befehlszeilenoptionen](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html#cli-configure-options-list) im *AWS Command Line Interface -Benutzerhandbuch für Version 2*.

## Aktivierung SnapStart (API)
<a name="snapshot-api"></a>

**Um zu aktivieren SnapStart**

1. Führen Sie eine der folgenden Aktionen aus:
   + Erstellen Sie eine neue Funktion mit SnapStart aktiviertem Wert, indem Sie die [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html)API-Aktion mit dem [SnapStart](https://docs.aws.amazon.com/lambda/latest/api/API_SnapStart.html)Parameter verwenden.
   + Aktivieren Sie sie SnapStart für eine vorhandene Funktion, indem Sie die [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)Aktion mit dem [SnapStart](https://docs.aws.amazon.com/lambda/latest/api/API_SnapStart.html)Parameter verwenden.

1. Veröffentlichen Sie eine Funktionsversion mit der [PublishVersion](https://docs.aws.amazon.com/lambda/latest/api/API_PublishVersion.html)Aktion. Lambda initialisiert Ihren Code, erstellt einen Snapshot der initialisierten Ausführungsumgebung und speichert den Snapshot im Cache für einen Zugriff mit geringer Latenz.

1. Bestätigen Sie mithilfe der [GetFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html)Aktion, dass sie für die Funktionsversion aktiviert SnapStart ist. Geben Sie eine Versionsnummer an, um zu bestätigen, dass die Version für diese Version aktiviert SnapStart ist. Wenn in der Antwort angezeigt [OptimizationStatus](https://docs.aws.amazon.com/lambda/latest/api/API_SnapStartResponse.html)wird, dass dies der [Fall ist `On` und der Status](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html#lambda-GetFunctionConfiguration-response-State) SnapStart lautet`Active`, dann ist aktiviert und ein Snapshot ist für die angegebene Funktionsversion verfügbar.

   ```
   "SnapStart": { 
           "ApplyOn": "PublishedVersions",
           "OptimizationStatus": "On"
        },
        "State": "Active",
   ```

1. Rufen Sie die Funktionsversion mit der [Aufruf](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html)-Aktion auf.

## Lambda SnapStart und Funktionszustände
<a name="snapstart-function-states"></a>

Die folgenden Funktionszustände können auftreten, wenn Sie verwenden SnapStart.

**Ausstehend**  
Lambda initialisiert Ihren Code und erstellt einen Snapshot der initialisierten Ausführungsumgebung. Alle Aufrufe oder andere API-Aktionen, die auf der Funktionsversion ausgeführt werden, schlagen fehl.

**Aktiv**  
Die Snapshot-Erstellung ist abgeschlossen und Sie können die Funktion aufrufen. Zur Verwendung SnapStart müssen Sie die veröffentlichte Funktionsversion aufrufen, nicht die unveröffentlichte Version (\$1LATEST).

**Inaktiv**  
Der Status `Inactive` kann auftreten, wenn Lambda regelmäßig Funktions-Snapshots neu generiert, um Software-Updates anzuwenden. In diesem Fall kann Ihre Funktion in einen `Inactive`-Zustand übergehen, wenn sie nicht initialisiert werden kann.  
Bei Funktionen, die eine Java-Laufzeit verwenden, löscht Lambda Snapshots nach 14 Tagen ohne Aufruf. Wenn Sie die Funktionsversion nach 14 Tagen aufrufen, gibt Lambda eine `SnapStartNotReadyException`-Antwort zurück und beginnt mit der Initialisierung eines neuen Snapshots. Warten Sie, bis die Funktionsversion den `Active`-Status erreicht hat, und rufen Sie es dann erneut auf.

**Fehlgeschlagen**  
Lambda hat beim Ausführen des Initialisierungscodes oder beim Erstellen des Snapshots einen Fehler festgestellt.

## Aktualisieren eines Snapshots
<a name="update-snapshot"></a>

Lambda erstellt für jede veröffentlichte Funktionsversion einen Snapshot. Um einen Snapshot zu aktualisieren, veröffentlichen Sie eine neue Funktionsversion.

## SnapStart Verwenden mit AWS SDKs
<a name="snapstart-credentials"></a>

Um AWS SDK-Aufrufe von Ihrer Funktion aus durchzuführen, generiert Lambda einen kurzlebigen Satz von Anmeldeinformationen, indem es die Ausführungsrolle Ihrer Funktion übernimmt. Diese Anmeldeinformationen sind während des Aufrufs Ihrer Funktion als Umgebungsvariablen verfügbar. Sie müssen keine Anmeldeinformationen für das SDK direkt im Code bereitstellen. Standardmäßig überprüft die Kette der Anbieter von Anmeldeinformationen nacheinander jeden Ort, an dem Sie Anmeldeinformationen festlegen können, und wählt die erste verfügbare aus – in der Regel die Umgebungsvariablen (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` und `AWS_SESSION_TOKEN`).

**Anmerkung**  
Wenn SnapStart aktiviert, verwendet die Lambda-Laufzeit automatisch die Container-Anmeldeinformationen (`AWS_CONTAINER_CREDENTIALS_FULL_URI`und`AWS_CONTAINER_AUTHORIZATION_TOKEN`) anstelle der Umgebungsvariablen für die Zugriffsschlüssel. Dadurch wird verhindert, dass Anmeldeinformationen ablaufen, bevor die Funktion wiederhergestellt wird.

## Verwenden Sie SnapStart mit CloudFormation AWS SAM, und AWS CDK
<a name="snapstart-cfn-sam"></a>
+ **AWS CloudFormation:** Deklarieren Sie die [SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)Entität in Ihrer Vorlage.
+ **AWS Serverless Application Model (AWS SAM):** Deklarieren Sie die [SnapStart](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-snapstart)Eigenschaft in Ihrer Vorlage.
+ **AWS Cloud Development Kit (AWS CDK):** Verwenden Sie den [SnapStartProperty](https://docs.aws.amazon.com/cdk/api/v2/java/software/amazon/awscdk/services/lambda/CfnFunction.SnapStartProperty.html)Typ.

## Löschen von Snapshots
<a name="snapshot-delete"></a>

Lambda löscht Snapshots, wenn:
+ Sie die Funktion oder Funktionsversion löschen.
+ **Nur Java-Laufzeiten** – Sie die Funktionsversion 14 Tage lang nicht aufrufen. Wenn nach 14 Tagen ohne Aufruf die Funktionsversion in den Status [Inaktiv](#snapstart-function-states) übergeht. Wenn Sie die Funktionsversion nach 14 Tagen aufrufen, gibt Lambda eine `SnapStartNotReadyException`-Antwort zurück und beginnt mit der Initialisierung eines neuen Snapshots. Warten Sie, bis die Funktionsversion den Status [Aktiv](#snapstart-function-states) erreicht hat, und rufen Sie es dann erneut auf.

Lambda entfernt alle Ressourcen, die mit gelöschten Snapshots verknüpft sind, gemäß der Allgemeinen Datenschutzverordnung (DSGVO).