AWS::Serverless::Function - 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.

AWS::Serverless::Function

Erstellt eine AWS Lambda Funktion, eine AWS Identity and Access Management (IAM-) Ausführungsrolle und Zuordnungen von Ereignisquellen, die die Funktion auslösen.

Die AWS::Serverless::Function Ressource unterstützt auch das Metadata Ressourcenattribut, sodass Sie anweisen können, benutzerdefinierte Laufzeiten AWS SAM zu erstellen, die Ihre Anwendung benötigt. Weitere Informationen zum Erstellen benutzerdefinierter Laufzeiten finden Sie unter. Lambda-Funktionen mit benutzerdefinierten Laufzeiten erstellen

Anmerkung

Bei der Bereitstellung auf werden AWS CloudFormation Ihre AWS SAM Ressourcen in Ressourcen umgewandelt AWS CloudFormation . AWS SAM Weitere Informationen finden Sie unter Generierte AWS CloudFormation Ressourcen.

Syntax

Verwenden Sie die folgende Syntax, um diese Entität in Ihrer Vorlage AWS Serverless Application Model (AWS SAM) zu deklarieren.

Eigenschaften

Architectures

Die Befehlssatzarchitektur für die Funktion.

Weitere Informationen zu dieser Eigenschaft finden Sie unter Lambda-Befehlssatzarchitekturen im AWS Lambda Developer Guide.

Gültige Werte: Einer von oder x86_64 arm64

Typ: Liste

Required: No

Standardwert: x86_64

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Architectures Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

AssumeRolePolicyDocument

Fügt eine AssumeRolePolicyDocument für die Standardeinstellung hinzu, die Role für diese Funktion erstellt wurde. Wenn diese Eigenschaft nicht angegeben ist, wird eine Standardrolle für diese Funktion AWS SAM hinzugefügt.

Type: JSON

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der AssumeRolePolicyDocument Eigenschaft einer AWS::IAM::Role Ressource. AWS SAM fügt diese Eigenschaft der generierten IAM-Rolle für diese Funktion hinzu. Wenn der Amazon-Ressourcenname (ARN) einer Rolle für diese Funktion angegeben wird, hat diese Eigenschaft keine Wirkung.

AutoPublishAlias

Der Name des Lambda-Alias. Weitere Informationen zu Lambda-Aliasen finden Sie unter Lambda-Funktionsaliase im Developer Guide.AWS Lambda Beispiele, die diese Eigenschaft verwenden, finden Sie unter. Schrittweise Bereitstellung serverloser Anwendungen

AWS SAM generiert AWS::Lambda::Versionund verwendet AWS::Lambda::AliasRessourcen, wenn diese Eigenschaft festgelegt ist. Informationen zu diesem Szenario finden Sie unterAutoPublishAlias Eigenschaft ist angegeben. Allgemeine Informationen zu generierten AWS CloudFormation Ressourcen finden Sie unterGenerierte AWS CloudFormation Ressourcen.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

AutoPublishAliasAllProperties

Gibt an, wann eine neue erstellt AWS::Lambda::Versionwird. Wanntrue, eine neue Lambda-Version wird erstellt, wenn eine Eigenschaft in der Lambda-Funktion geändert wird. Wannfalse, eine neue Lambda-Version wird nur erstellt, wenn eine der folgenden Eigenschaften geändert wird:

  • Environment, MemorySize, oder SnapStart.

  • Jede Änderung, die zu einer Aktualisierung der Code Eigenschaft führt, z. B. CodeDictImageUri, oderInlineCode.

Diese Eigenschaft AutoPublishAlias muss definiert werden.

Wenn auch angegeben AutoPublishSha256 ist, hat ihr Verhalten Vorrang AutoPublishAliasAllProperties: true vor.

Typ: Boolesch

Required: No

Standardwert: false

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

AutoPublishCodeSha256

Wenn diese Zeichenfolge verwendet wird, bestimmt sie zusammen mit dem CodeUri Wert, ob eine neue Lambda-Version veröffentlicht werden muss. Diese Eigenschaft wird häufig verwendet, um das folgende Bereitstellungsproblem zu lösen: Ein Bereitstellungspaket wird an einem Amazon S3 S3-Standort gespeichert und durch ein neues Bereitstellungspaket mit aktualisiertem Lambda-Funktionscode ersetzt, aber die CodeUri Eigenschaft bleibt unverändert (im Gegensatz dazu, dass das neue Bereitstellungspaket an einen neuen Amazon S3 S3-Standort hochgeladen und dann an den neuen Speicherort geändert CodeUri wird).

Dieses Problem ist durch eine AWS SAM Vorlage gekennzeichnet, die die folgenden Merkmale aufweist:

  • Das DeploymentPreference Objekt ist für schrittweise Bereitstellungen konfiguriert (wie unter beschriebenSchrittweise Bereitstellung serverloser Anwendungen)

  • Die AutoPublishAlias Eigenschaft ist festgelegt und ändert sich zwischen den Bereitstellungen nicht

  • Die CodeUri Eigenschaft ist festgelegt und ändert sich zwischen den Bereitstellungen nicht.

In diesem Szenario AutoPublishCodeSha256 führt die Aktualisierung dazu, dass eine neue Lambda-Version erfolgreich erstellt wird. Neuer Funktionscode, der in Amazon S3 bereitgestellt wird, wird jedoch nicht erkannt. Um neuen Funktionscode zu erkennen, sollten Sie erwägen, die Versionierung in Ihrem Amazon S3 S3-Bucket zu verwenden. Geben Sie die Version Eigenschaft für Ihre Lambda-Funktion an und konfigurieren Sie Ihren Bucket so, dass er immer das neueste Bereitstellungspaket verwendet.

In diesem Szenario müssen Sie einen eindeutigen Wert für AutoPublishCodeSha256 angeben, um die schrittweise Bereitstellung erfolgreich auszulösen.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

CodeSigningConfigArn

Der ARN der AWS::Lambda::CodeSigningConfigRessource, der verwendet wird, um die Codesignatur für diese Funktion zu aktivieren. Weitere Informationen zur Codesignatur finden Sie unterRichten Sie die Codesignatur für Ihre AWS SAM Anwendung ein.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die CodeSigningConfigArn Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

CodeUri

Der Code für die Funktion. Zu den akzeptierten Werten gehören:

  • Die Amazon S3-URI der Funktion. z. B. s3://bucket-123456789/sam-app/1234567890abcdefg.

  • Der lokale Pfad zur Funktion. z. B. hello_world/.

  • Ein FunctionCode-Objekt.

Anmerkung

Wenn Sie die Amazon S3-URI oder das Amazon FunctionCode S3-Objekt einer Funktion angeben, müssen Sie auf ein gültiges Lambda-Bereitstellungspaket verweisen.

Wenn Sie einen lokalen Dateipfad angeben, verwenden Sie den, AWS SAMCLI um die lokale Datei bei der Bereitstellung hochzuladen. Weitere Informationen hierzu finden Sie unter So laden Sie lokale Dateien bei der Bereitstellung hoch mit AWS SAMCLI.

Wenn Sie systeminterne Funktionen in der CodeUri Eigenschaft verwenden, AWS SAM können die Werte nicht korrekt analysiert werden. Erwägen Sie stattdessen die Verwendung von AWS::LanguageExtensions transform.

Typ: [Zeichenfolge |FunctionCode]

Erforderlich: Bedingt. Wenn auf gesetzt PackageType istZip, InlineCode ist einer von CodeUri oder erforderlich.

AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der Code Eigenschaft einer AWS::Lambda::Function Ressource. Die verschachtelten Amazon S3 S3-Eigenschaften sind unterschiedlich benannt.

DeadLetterQueue

Konfiguriert ein Amazon Simple Notification Service (Amazon SNS) -Thema oder eine Amazon Simple Queue Service (Amazon SQS) -Warteschlange, in der Lambda Ereignisse sendet, die es nicht verarbeiten kann. Weitere Informationen zur Funktionalität von Warteschlangen für unzustellbare Briefe finden Sie unter Warteschlangen für unzustellbare Briefe im Entwicklerhandbuch.AWS Lambda

Anmerkung

Wenn die Ereignisquelle Ihrer Lambda-Funktion eine Amazon SQS SQS-Warteschlange ist, konfigurieren Sie eine Warteschlange mit unzustellbaren Buchstaben für die Quellwarteschlange, nicht für die Lambda-Funktion. Die Warteschlange mit unverschlüsselten Buchstaben, die Sie für eine Funktion konfigurieren, wird für die asynchrone Aufruf-Warteschlange der Funktion verwendet, nicht für Warteschlangen mit Ereignisquellen.

Typ: Map | DeadLetterQueue

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der DeadLetterConfig Eigenschaft einer AWS::Lambda::Function Ressource. In wird AWS CloudFormation der Typ von abgeleitetTargetArn, wohingegen AWS SAM Sie den Typ zusammen mit dem übergeben müssenTargetArn.

DeploymentPreference

Die Einstellungen zur Aktivierung schrittweiser Lambda-Bereitstellungen.

Wenn ein DeploymentPreference Objekt angegeben ist, wird ein AWS::CodeDeploy::Applicationaufgerufenes Objekt ServerlessDeploymentApplication (eines pro Stapel), ein aufgerufenes und ein AWS::CodeDeploy::DeploymentGroup<function-logical-id>DeploymentGroupaufgerufenes Objekt AWS SAM AWS::IAM::Roleerstellt. CodeDeployServiceRole

Typ: DeploymentPreference

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

Siehe auch: Weitere Informationen zu dieser Eigenschaft finden Sie unterSchrittweise Bereitstellung serverloser Anwendungen.

Description

Eine Beschreibung der Funktion.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Description Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

Environment

Die Konfiguration für die Laufzeitumgebung.

Typ: Umgebung

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Environment Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

EphemeralStorage

Ein Objekt, das den Festplattenspeicher in MB angibt, der Ihrer Lambda-Funktion in /tmp zur Verfügung steht.

Weitere Informationen zu dieser Eigenschaft finden Sie unter Lambda Execution Environment im AWS Lambda Developer Guide.

Typ: EphemeralStorage

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die EphemeralStorage Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

EventInvokeConfig

Das Objekt, das die Konfiguration des Ereignisaufrufs für eine Lambda-Funktion beschreibt.

Typ: EventInvokeConfiguration

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

Events

Gibt die Ereignisse an, die diese Funktion auslösen. Ereignisse bestehen aus einem Typ und einer Reihe von Eigenschaften, die vom Typ abhängen.

Typ: EventSource

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

FileSystemConfigs

Liste der FileSystemConfigObjekte, die die Verbindungseinstellungen für ein Amazon Elastic File System (Amazon EFS) -Dateisystem angeben.

Wenn Ihre Vorlage eine AWS::EFS::MountTargetRessource enthält, müssen Sie auch ein DependsOn Ressourcenattribut angeben, um sicherzustellen, dass das Mount-Ziel vor der Funktion erstellt oder aktualisiert wird.

Typ: Liste

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die FileSystemConfigs Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

FunctionName

Ein Name für die Funktion. Wenn Sie keinen Namen angeben, wird ein eindeutiger Name für Sie generiert.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die FunctionName Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

FunctionUrlConfig

Das Objekt, das eine Funktions-URL beschreibt. Eine Funktions-URL ist ein HTTPS-Endpunkt, mit dem Sie Ihre Funktion aufrufen können.

Weitere Informationen finden Sie unter Funktions-URLs im AWS Lambda Entwicklerhandbuch.

Geben Sie ein: FunctionUrlConfig

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

Handler

Die Funktion in Ihrem Code, die aufgerufen wird, um mit der Ausführung zu beginnen. Diese Eigenschaft ist nur erforderlich, wenn die PackageType Eigenschaft auf gesetzt istZip.

Typ: Zeichenfolge

Required: Conditional

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Handler Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

ImageConfig

Das Objekt, das zur Konfiguration der Lambda-Container-Image-Einstellungen verwendet wird. Weitere Informationen finden Sie unter Verwenden von Container-Images mit Lambda im AWS Lambda Entwicklerhandbuch.

Geben Sie ein: ImageConfig

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die ImageConfig Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

ImageUri

Die URI des Amazon Elastic Container Registry (Amazon ECR) -Repositorys für das Container-Image der Lambda-Funktion. Diese Eigenschaft gilt nur, wenn die PackageType Eigenschaft auf gesetzt istImage, andernfalls wird sie ignoriert. Weitere Informationen finden Sie unter Verwenden von Container-Images mit Lambda im AWS Lambda Entwicklerhandbuch.

Anmerkung

Wenn die PackageType Eigenschaft auf gesetzt istImage, ImageUri ist entweder eine Option erforderlich, oder Sie müssen Ihre Anwendung mit den erforderlichen Metadata Einträgen in der AWS SAM Vorlagendatei erstellen. Weitere Informationen finden Sie unter Standard-Build mit AWS SAM.

Das Erstellen Ihrer Anwendung mit den erforderlichen Metadata Einträgen hat Vorrang. Wenn Sie also beide angebenImageUri, ImageUri wird das ignoriert.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die ImageUri Eigenschaft des AWS::Lambda::Function Code Datentyps übergeben.

InlineCode

Der Lambda-Funktionscode, der direkt in die Vorlage geschrieben ist. Diese Eigenschaft gilt nur, wenn die PackageType Eigenschaft auf gesetzt istZip, andernfalls wird sie ignoriert.

Anmerkung

Wenn die PackageType Eigenschaft auf Zip (Standard) gesetzt ist, InlineCode ist einer von CodeUri oder erforderlich.

Typ: Zeichenfolge

Required: Conditional

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die ZipFile Eigenschaft des AWS::Lambda::Function Code Datentyps übergeben.

KmsKeyArn

Der ARN eines AWS Key Management Service (AWS KMS) -Schlüssels, den Lambda zum Verschlüsseln und Entschlüsseln der Umgebungsvariablen Ihrer Funktion verwendet.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die KmsKeyArn Eigenschaft einer Ressource übergeben. AWS::Lambda::Function

Layers

Die Liste der LayerVersion ARNs, die diese Funktion verwenden soll. Die hier angegebene Reihenfolge ist die Reihenfolge, in der sie importiert werden, wenn die Lambda-Funktion ausgeführt wird.

Typ: Liste

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Layers Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

LoggingConfig

Die Amazon CloudWatch Logs-Konfigurationseinstellungen der Funktion.

Typ: LoggingConfig

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die LoggingConfigEigenschaft einer AWS::Lambda::Function Ressource übergeben.

MemorySize

Die Größe des Speichers in MB, der pro Aufruf der Funktion zugewiesen wird.

Typ: Ganzzahl

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die MemorySize Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

PackageType

Der Bereitstellungspakettyp der Lambda-Funktion. Weitere Informationen finden Sie unter Lambda-Bereitstellungspakete im AWS Lambda Developer Guide.

Hinweise:

1. Wenn diese Eigenschaft auf Zip (Standard) gesetzt ist, InlineCode gilt entweder CodeUri oder und ImageUri wird ignoriert.

2. Wenn diese Eigenschaft auf gesetzt istImage, ImageUri gilt nur, CodeUri und beide InlineCode werden ignoriert. Das Amazon ECR-Repository, das zum Speichern des Container-Images der Funktion erforderlich ist, kann auto von der AWS SAMCLI erstellt werden. Weitere Informationen finden Sie unter sam deploy.

Zulässige Werte: Zip oder Image.

Typ: Zeichenfolge

Required: No

Standardwert: Zip

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die PackageType Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

PermissionsBoundary

Der ARN einer Berechtigungsgrenze, die für die Ausführungsrolle dieser Funktion verwendet werden soll. Diese Eigenschaft funktioniert nur, wenn die Rolle für Sie generiert wurde.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die PermissionsBoundary Eigenschaft einer AWS::IAM::Role Ressource übergeben.

Policies

Berechtigungsrichtlinien für diese Funktion. Richtlinien werden an die Standardausführungsrolle AWS Identity and Access Management (IAM) der Funktion angehängt.

Diese Eigenschaft akzeptiert einen einzelnen Wert oder eine Liste von Werten. Gültige Werte sind:

Anmerkung

Wenn Sie die Role Eigenschaft festlegen, wird diese Eigenschaft ignoriert.

Typ: Zeichenfolge | Liste | Karte

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der Policies Eigenschaft einer AWS::IAM::Role Ressource.

PropagateTags

Geben Sie an, ob Tags von der Tags Eigenschaft an Ihre AWS::Serverless::Function generierten Ressourcen übergeben werden sollen oder nicht. Geben Sie True an, dass Tags in Ihren generierten Ressourcen verbreitet werden sollen.

Typ: Boolesch

Required: No

Standardwert: False

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

ProvisionedConcurrencyConfig

Die bereitgestellte Parallelitätskonfiguration des Alias einer Funktion.

Anmerkung

ProvisionedConcurrencyConfigkann nur angegeben werden, wenn der gesetzt AutoPublishAlias ist. Andernfalls tritt ein Fehler auf.

Typ: ProvisionedConcurrencyConfig

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die ProvisionedConcurrencyConfig Eigenschaft einer AWS::Lambda::Alias Ressource übergeben.

ReservedConcurrentExecutions

Die maximale Anzahl gleichzeitiger Ausführungen, die Sie für die Funktion reservieren möchten.

Weitere Informationen zu dieser Eigenschaft finden Sie unter Lambda Function Scaling im AWS Lambda Developer Guide.

Typ: Ganzzahl

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die ReservedConcurrentExecutions Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

Role

Der ARN einer IAM-Rolle, die als Ausführungsrolle dieser Funktion verwendet werden soll.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der Role Eigenschaft einer AWS::Lambda::Function Ressource. Dies ist in erforderlich AWS CloudFormation , aber nicht in AWS SAM. Wenn keine Rolle angegeben ist, wird für Sie eine mit der logischen ID von erstellt<function-logical-id>Role.

RolePath

Der Pfad zur IAM-Ausführungsrolle der Funktion.

Verwenden Sie diese Eigenschaft, wenn die Rolle für Sie generiert wird. Nicht verwenden, wenn die Rolle mit der Role Eigenschaft angegeben ist.

Typ: Zeichenfolge

Required: Conditional

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Path Eigenschaft einer AWS::IAM::Role Ressource übergeben.

Runtime

Die ID der Laufzeit der Funktion. Diese Eigenschaft ist nur erforderlich, wenn die PackageType Eigenschaft auf gesetzt istZip.

Anmerkung

Wenn Sie den provided Bezeichner für diese Eigenschaft angeben, können Sie das Metadata Ressourcenattribut verwenden, um anzuweisen, die benutzerdefinierte Laufzeit AWS SAM zu erstellen, die für diese Funktion erforderlich ist. Weitere Informationen zum Erstellen benutzerdefinierter Laufzeiten finden Sie unter. Lambda-Funktionen mit benutzerdefinierten Laufzeiten erstellen

Typ: Zeichenfolge

Required: Conditional

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Runtime Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

RuntimeManagementConfig

Konfigurieren Sie Laufzeitverwaltungsoptionen für Ihre Lambda-Funktionen wie Updates der Laufzeitumgebung, Rollback-Verhalten und Auswahl einer bestimmten Laufzeitversion. Weitere Informationen finden Sie unter Lambda Runtime Updates im AWS Lambda Developer Guide.

Typ: RuntimeManagementConfig

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die RuntimeManagementConfig Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

SnapStart

Erstellen Sie einen Snapshot einer beliebigen neuen Lambda-Funktionsversion. Ein Snapshot ist ein zwischengespeicherter Status Ihrer initialisierten Funktion, einschließlich all ihrer Abhängigkeiten. Die Funktion wird nur einmal initialisiert und der zwischengespeicherte Status wird für alle future Aufrufe wiederverwendet, wodurch die Anwendungsleistung verbessert wird, indem die Häufigkeit, mit der Ihre Funktion initialisiert werden muss, reduziert wird. Weitere Informationen finden Sie unter Verbessern der Startleistung mit Lambda SnapStart im AWS Lambda Entwicklerhandbuch.

Typ: SnapStart

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die SnapStart Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

Tags

Eine Zuordnung (von Zeichenfolge zu Zeichenfolge), die die zu dieser Funktion hinzugefügten Tags angibt. Einzelheiten zu gültigen Schlüsseln und Werten für Tags finden Sie unter Anforderungen an Tagschlüssel und -werte im AWS Lambda Entwicklerhandbuch.

Wenn der Stack erstellt wird, fügt er dieser Lambda-Funktion und den Standardrollen, die für diese Funktion generiert werden, AWS SAM automatisch ein lambda:createdBy:SAM Tag hinzu.

Typ: Karte

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der Tags Eigenschaft einer AWS::Lambda::Function Ressource. Die Tags Eigenschaft in AWS SAM besteht aus Schlüssel-Wert-Paaren (wohingegen AWS CloudFormation diese Eigenschaft aus einer Liste von Tag Objekten besteht). Fügt dieser Lambda-Funktion und den Standardrollen, die für diese Funktion generiert werden, außerdem AWS SAM automatisch ein lambda:createdBy:SAM Tag hinzu.

Timeout

Die maximale Zeit in Sekunden, während der die Funktion ausgeführt werden kann, bevor sie beendet wird.

Typ: Ganzzahl

Required: No

Standard: 3

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Timeout Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

Tracing

Die Zeichenfolge, die den X-Ray-Tracing-Modus der Funktion angibt.

  • Active— Aktiviert die Röntgenverfolgung für die Funktion.

  • Disabled— Deaktiviert X-Ray für die Funktion.

  • PassThrough— Aktiviert die Röntgenverfolgung für die Funktion. Die Entscheidung über die Probenahme wird an die nachgelagerten Dienststellen delegiert.

Wenn als Active oder angegeben PassThrough und die Role Eigenschaft nicht festgelegt ist, wird die arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess Richtlinie der Lambda-Ausführungsrolle AWS SAM hinzugefügt, die sie für Sie erstellt.

Weitere Informationen zu X-Ray finden Sie unter AWS Lambda Using with AWS X-Ray im AWS Lambda Developer Guide.

Gültige Werte: [Active| Disabled |PassThrough]

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der TracingConfig Eigenschaft einer AWS::Lambda::Function Ressource.

VersionDescription

Gibt das Description Feld an, das der neuen Lambda-Versionsressource hinzugefügt wird.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Description Eigenschaft einer AWS::Lambda::Version Ressource übergeben.

VpcConfig

Die Konfiguration, die dieser Funktion den Zugriff auf private Ressourcen innerhalb Ihrer Virtual Private Cloud (VPC) ermöglicht.

Typ: VpcConfig

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die VpcConfig Eigenschaft einer AWS::Lambda::Function Ressource übergeben.

Rückgabewerte

Punkt

Wenn die logische ID dieser Ressource der Ref systemeigenen Funktion zur Verfügung gestellt wird, gibt sie den Ressourcennamen der zugrunde liegenden Lambda-Funktion zurück.

Weitere Informationen zur Verwendung der Ref Funktion finden Sie Refim AWS CloudFormation Benutzerhandbuch.

Fn:: GetAtt

Fn::GetAtt gibt einen Wert für ein angegebenes Attribut dieses Typs zurück. Im Folgenden sehen Sie die verfügbaren Attribute und Beispielrückgabewerte.

Weitere Informationen zur Verwendung Fn::GetAtt finden Sie Fn::GetAttim AWS CloudFormation Benutzerhandbuch.

Arn

Der ARN der zugrunde liegenden Lambda-Funktion.

Beispiele

Einfache Funktion

Im Folgenden finden Sie ein grundlegendes Beispiel für eine AWS::Serverless::Function Ressource mit Pakettyp Zip (Standard) und Funktionscode in einem Amazon S3 S3-Bucket.

YAML

Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name

Beispiel für Funktionseigenschaften

Im Folgenden finden Sie ein Beispiel für einen AWS::Serverless::Function Pakettyp Zip (Standard)InlineCode, derLayers,Tracing, PoliciesAmazon EFS, und eine Api Ereignisquelle verwendet.

YAML

Type: AWS::Serverless::Function DependsOn: MyMountTarget # This is needed if an AWS::EFS::MountTarget resource is declared for EFS Properties: Handler: index.handler Runtime: python3.9 InlineCode: | def handler(event, context): print("Hello, world!") ReservedConcurrentExecutions: 30 Layers: - Ref: MyLayer Tracing: Active Timeout: 120 FileSystemConfigs: - Arn: !Ref MyEfsFileSystem LocalMountPath: /mnt/EFS Policies: - AWSLambdaExecute - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:GetObjectACL Resource: 'arn:aws:s3:::my-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get

ImageConfigBeispiel

Das Folgende ist ein Beispiel ImageConfig für eine Lambda-Funktion vom PakettypImage.

YAML

HelloWorldFunction: Type: AWS::Serverless::Function Properties: PackageType: Image ImageUri: account-id.dkr.ecr.region.amazonaws.com/ecr-repo-name:image-name ImageConfig: Command: - "app.lambda_handler" EntryPoint: - "entrypoint1" WorkingDirectory: "workDir"

RuntimeManagementConfig Beispiele

Eine Lambda-Funktion, die so konfiguriert ist, dass sie ihre Laufzeitumgebung entsprechend dem aktuellen Verhalten aktualisiert:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto

Eine Lambda-Funktion, die so konfiguriert ist, dass sie ihre Laufzeitumgebung aktualisiert, wenn die Funktion aktualisiert wird:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate

Eine Lambda-Funktion, die so konfiguriert ist, dass sie ihre Laufzeitumgebung manuell aktualisiert:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual

SnapStartBeispiele

Beispiel für eine Lambda-Funktion, die für future Versionen SnapStart aktiviert ist:

TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions