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
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.
Themen
Aktivierung SnapStart (Konsole)
Zur Aktivierung SnapStart für eine Funktion
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie den Namen einer Funktion aus.
-
Wählen Sie Configuration (Konfiguration) und dann General configuration (Allgemeine Konfiguration).
-
Wählen Sie im Bereich General configuration (Allgemeine Konfiguration) die Option Edit (Bearbeiten) aus.
-
Wählen Sie auf der Seite Grundeinstellungen bearbeiten für die SnapStartOption Veröffentlichte Versionen aus.
-
Wählen Sie Save (Speichern) aus.
-
Veröffentlichen einer Funktionsversion. Lambda initialisiert Ihren Code, erstellt einen Snapshot der initialisierten Ausführungsumgebung und speichert den Snapshot im Cache für einen Zugriff mit geringer Latenz.
SnapStart Aktiviert (AWS CLI)
Zur Aktivierung SnapStart für eine bestehende Funktion
-
Aktualisieren Sie die Funktionskonfiguration, indem update-function-configuration
Sie den Befehl mit der --snap-start Option ausführen. aws lambda update-function-configuration \ --function-name my-function \ --snap-start ApplyOn=PublishedVersions
-
Veröffentlichen Sie eine Funktionsversion mit dem publish-version
-Befehl. aws lambda publish-version \ --function-name my-function
-
Bestätigen Sie, dass sie für die Funktionsversion aktiviert SnapStart ist, indem Sie den get-function-configuration
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 OptimizationStatuswird, dass dies der Fall ist
On
und der Status SnapStart lautetActive
, dann ist aktiviert und ein Snapshot ist für die angegebene Funktionsversion verfügbar."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Rufen Sie die Funktionsversion auf, indem Sie den Aufruf
-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.jsonDie 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 im AWS Command Line Interface -Benutzerhandbuch für Version 2.
Zur Aktivierung SnapStart , wenn Sie eine neue Funktion erstellen
-
Erstellen Sie eine Funktion, indem Sie den create-function
-Befehl mit der --snap-start-Option ausführen. Geben Sie für --role den Amazon-Ressourcennamen (ARN) Ihrer Ausführungsrolle an. aws lambda create-function \ --function-name
my-function
\ --runtime "java21
" \ --zip-file fileb://my-function.zip \ --handler my-function.handler \ --rolearn:aws:iam::111122223333:role/lambda-ex
\ --snap-start ApplyOn=PublishedVersions -
Erstellen Sie eine Version mit dem publish-version
-Befehl. aws lambda publish-version \ --function-name
my-function
-
Bestätigen Sie, dass sie für die Funktionsversion aktiviert SnapStart ist, indem Sie den get-function-configuration
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 OptimizationStatuswird, dass dies der Fall ist
On
und der Status SnapStart lautetActive
, dann ist aktiviert und ein Snapshot ist für die angegebene Funktionsversion verfügbar."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Rufen Sie die Funktionsversion auf, indem Sie den Aufruf
-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.jsonDie 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 im AWS Command Line Interface -Benutzerhandbuch für Version 2.
Aktivierung SnapStart (API)
Um zu aktivieren SnapStart
-
Führen Sie eine der folgenden Aktionen aus:
-
Erstellen Sie eine neue Funktion mit SnapStart aktiviertem Wert, indem Sie die CreateFunctionAPI-Aktion mit dem SnapStartParameter verwenden.
-
Aktivieren Sie sie SnapStart für eine vorhandene Funktion, indem Sie die UpdateFunctionConfigurationAktion mit dem SnapStartParameter verwenden.
-
-
Veröffentlichen Sie eine Funktionsversion mit der PublishVersionAktion. Lambda initialisiert Ihren Code, erstellt einen Snapshot der initialisierten Ausführungsumgebung und speichert den Snapshot im Cache für einen Zugriff mit geringer Latenz.
-
Bestätigen Sie mithilfe der GetFunctionConfigurationAktion, 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 OptimizationStatuswird, dass dies der Fall ist
On
und der Status SnapStart lautetActive
, dann ist aktiviert und ein Snapshot ist für die angegebene Funktionsversion verfügbar."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Rufen Sie die Funktionsversion mit der Aufruf-Aktion auf.
Lambda SnapStart und Funktionszustände
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 ($LATEST).
- Inaktiv
-
Der
Inactive
Status kann auftreten, wenn Lambda regelmäßig Funktions-Snapshots regeneriert, um Softwareupdates anzuwenden. In diesem Fall kann Ihre Funktion in einenInactive
-Zustand übergehen, wenn sie nicht initialisiert werden kann.Für 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 denActive
-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
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
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
undAWS_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 AWS CloudFormationAWS SAM, und AWS CDK
-
AWS CloudFormation: Deklarieren Sie die SnapStartEntität in Ihrer Vorlage.
-
AWS Serverless Application Model (AWS SAM): Deklarieren Sie die SnapStartEigenschaft in Ihrer Vorlage.
-
AWS Cloud Development Kit (AWS CDK): Verwenden Sie den SnapStartPropertyTyp.
Löschen von Snapshots
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 ü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 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).