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. Erstellen von Lambda-Funktionen mit benutzerdefinierten Laufzeiten in AWS SAM
Anmerkung
Bei der Bereitstellung auf werden AWS CloudFormation Ihre AWS SAM Ressourcen in Ressourcen umgewandelt CloudFormation . AWS SAM Weitere Informationen finden Sie unter Generierte CloudFormation Ressourcen für AWS SAM.
Syntax
Verwenden Sie die folgende Syntax, um diese Entität in Ihrer Vorlage AWS Serverless Application Model (AWS SAM) zu deklarieren.
YAML
Type: AWS::Serverless::Function Properties: Architectures:ListAssumeRolePolicyDocument:JSONAutoPublishAlias:StringAutoPublishAliasAllProperties:BooleanAutoPublishCodeSha256:StringCodeSigningConfigArn:StringCodeUri:String | FunctionCodeDeadLetterQueue:Map | DeadLetterQueueDeploymentPreference:DeploymentPreferenceDescription:StringEnvironment:EnvironmentEphemeralStorage:EphemeralStorageEventInvokeConfig:EventInvokeConfigurationEvents:EventSourceFileSystemConfigs:ListFunctionName:StringFunctionUrlConfig:FunctionUrlConfigHandler:StringImageConfig:ImageConfigImageUri:StringInlineCode:StringKmsKeyArn:StringLayers:ListLoggingConfig:LoggingConfigMemorySize:IntegerPackageType:StringPermissionsBoundary:StringPolicies:String | List | MapPropagateTags:BooleanProvisionedConcurrencyConfig:ProvisionedConcurrencyConfigRecursiveLoop:StringReservedConcurrentExecutions:IntegerRole:StringRolePath:StringRuntime:StringRuntimeManagementConfig:RuntimeManagementConfigSnapStart:SnapStartSourceKMSKeyArn:StringTags:MapTimeout:IntegerTracing:StringVersionDescription:StringVpcConfig:VpcConfig
Properties
-
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_64arm64Typ: Liste
Required: No
Standardwert:
x86_64CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ArchitecturesEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
AssumeRolePolicyDocument -
Fügt eine AssumeRolePolicyDocument für die Standardeinstellung hinzu, die
Rolefü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
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
AssumeRolePolicyDocumentEigenschaft einerAWS::IAM::RoleRessource. 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 mit AWS SAM
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 CloudFormation Ressourcen finden Sie unterGenerierte CloudFormation Ressourcen für AWS SAM.
Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein 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, oderSnapStart. -
Jede Änderung, die zu einer Aktualisierung der
CodeEigenschaft führt, z. B.CodeDictImageUri, oderInlineCode.
Diese Eigenschaft
AutoPublishAliasmuss definiert werden.Wenn ebenfalls angegeben
AutoPublishCodeSha256ist, hat ihr Verhalten VorrangAutoPublishAliasAllProperties: truevor.Typ: Boolesch
Required: No
Standardwert:
falseCloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.
-
-
AutoPublishCodeSha256 -
Wenn diese Zeichenfolge verwendet wird, bestimmt sie zusammen mit dem
CodeUriWert, 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 dieCodeUriEigenschaft 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ändertCodeUriwird).Dieses Problem ist durch eine AWS SAM Vorlage gekennzeichnet, die die folgenden Merkmale aufweist:
Das
DeploymentPreferenceObjekt ist für schrittweise Bereitstellungen konfiguriert (wie unter beschriebenSchrittweise Bereitstellung serverloser Anwendungen mit AWS SAM)Die
AutoPublishAliasEigenschaft ist festgelegt und ändert sich zwischen den Bereitstellungen nichtDie
CodeUriEigenschaft ist festgelegt und ändert sich zwischen den Bereitstellungen nicht.
In diesem Szenario
AutoPublishCodeSha256fü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 die Versionierung in Ihrem Amazon S3 S3-Bucket verwenden. Geben Sie dieVersionEigenschaft 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
AutoPublishCodeSha256angeben, um die schrittweise Bereitstellung erfolgreich auszulösen.Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein 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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
CodeSigningConfigArnEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
CodeUri -
Der Code für die Funktion. Zu den akzeptierten Werten gehören:
-
Die Amazon S3-URI der Funktion. Beispiel,
s3://bucket-123456789/sam-app/1234567890abcdefg. -
Der lokale Pfad zur Funktion. Beispiel,
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 werden lokale Dateien bei der Bereitstellung AWS SAM hochgeladen.
Wenn Sie systeminterne Funktionen in der
CodeUriEigenschaft 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
PackageTypeistZip,InlineCodeist einer vonCodeUrioder erforderlich.CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
CodeEigenschaft einerAWS::Lambda::FunctionRessource. 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
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
DeadLetterConfigEigenschaft einerAWS::Lambda::FunctionRessource. In wird 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
DeploymentPreferenceObjekt angegeben ist, wird ein AWS::CodeDeploy::Applicationaufgerufenes ObjektServerlessDeploymentApplication(eines pro Stapel), ein aufgerufenes und ein AWS::CodeDeploy::DeploymentGroupaufgerufenes Objekt AWS SAM AWS::IAM::Roleerstellt.<function-logical-id>DeploymentGroupCodeDeployServiceRoleTyp: DeploymentPreference
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.
Siehe auch: Weitere Informationen zu dieser Eigenschaft finden Sie unterSchrittweise Bereitstellung serverloser Anwendungen mit AWS SAM.
-
Description -
Eine Beschreibung der Funktion.
Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
DescriptionEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
Environment -
Die Konfiguration für die Laufzeitumgebung.
Typ: Umgebung
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
EnvironmentEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
EphemeralStorage -
Ein Objekt, das den Festplattenspeicher in MB angibt, der Ihrer Lambda-Funktion in
/tmpzur Verfügung steht.Weitere Informationen zu dieser Eigenschaft finden Sie unter Lambda Execution Environment im AWS Lambda Developer Guide.
Typ: EphemeralStorage
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
EphemeralStorageEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
EventInvokeConfig -
Das Objekt, das die Konfiguration des Ereignisaufrufs für eine Lambda-Funktion beschreibt.
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein 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
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig AWS SAM und hat kein 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
DependsOnRessourcenattribut angeben, um sicherzustellen, dass das Mount-Ziel vor der Funktion erstellt oder aktualisiert wird.Typ: Liste
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
FileSystemConfigsEigenschaft einerAWS::Lambda::FunctionRessource ü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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
FunctionNameEigenschaft einerAWS::Lambda::FunctionRessource ü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 Funktion URLs im AWS Lambda Entwicklerhandbuch.
Typ: FunctionUrlConfig
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein 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
PackageTypeEigenschaft auf gesetzt istZip.Typ: Zeichenfolge
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
HandlerEigenschaft einerAWS::Lambda::FunctionRessource ü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.
Typ: ImageConfig
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ImageConfigEigenschaft einerAWS::Lambda::FunctionRessource ü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
PackageTypeEigenschaft 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
PackageTypeEigenschaft auf gesetzt istImage,ImageUriist entweder eine Option erforderlich, oder Sie müssen Ihre Anwendung mit den erforderlichenMetadataEinträgen in der AWS SAM Vorlagendatei erstellen. Weitere Informationen finden Sie unter Standardbuild mit AWS SAM.Das Erstellen Ihrer Anwendung mit den erforderlichen
MetadataEinträgen hat Vorrang. Wenn Sie also beide angebenImageUri,ImageUriwird das ignoriert.Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ImageUriEigenschaft desAWS::Lambda::FunctionCodeDatentyps übergeben. -
InlineCode -
Der Lambda-Funktionscode, der direkt in die Vorlage geschrieben ist. Diese Eigenschaft gilt nur, wenn die
PackageTypeEigenschaft auf gesetzt istZip, andernfalls wird sie ignoriert.Anmerkung
Wenn die
PackageTypeEigenschaft aufZip(Standard) gesetzt ist,InlineCodeist einer vonCodeUrioder erforderlich.Typ: Zeichenfolge
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ZipFileEigenschaft desAWS::Lambda::FunctionCodeDatentyps ü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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
KmsKeyArnEigenschaft einer Ressource übergeben.AWS::Lambda::Function -
Layers -
Die Liste
LayerVersionARNs , die diese Funktion verwenden soll. Die hier angegebene Reihenfolge ist die Reihenfolge, in der sie importiert werden, wenn die Lambda-Funktion ausgeführt wird. Die Version ist entweder ein vollständiger ARN einschließlich der Version oder ein Verweis auf eine LayerVersion Ressource. Zum BeispielLayerVersionwird ein Verweis auf a sein,!Ref MyLayerwährend ein vollständiger ARN einschließlich der Version sein wirdarn:aws:lambda:.region:account-id:layer:layer-name:versionTyp: Liste
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
LayersEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
LoggingConfig -
Die Amazon CloudWatch Logs-Konfigurationseinstellungen der Funktion.
Typ: LoggingConfig
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
LoggingConfigEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
MemorySize -
Die Größe des Speichers in MB, der pro Aufruf der Funktion zugewiesen wird.
Typ: Ganzzahl
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
MemorySizeEigenschaft einerAWS::Lambda::FunctionRessource ü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,InlineCodegilt entwederCodeUrioder undImageUriwird ignoriert.2. Wenn diese Eigenschaft auf gesetzt ist
Image,ImageUrigilt nur,CodeUriund beideInlineCodewerden 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:
ZipoderImage.Typ: Zeichenfolge
Required: No
Standardwert:
ZipCloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
PackageTypeEigenschaft einerAWS::Lambda::FunctionRessource ü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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
PermissionsBoundaryEigenschaft einerAWS::IAM::RoleRessource ü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:
-
Die ARN einer AWS verwalteten Richtlinie oder einer vom Kunden verwalteten Richtlinie.
-
Der Name einer AWS verwalteten Richtlinie aus der folgenden Liste
. -
Eine YAML als Map formatierte Inline-IAM-Richtlinie.
Anmerkung
Wenn Sie die
RoleEigenschaft festlegen, wird diese Eigenschaft ignoriert.Typ: Zeichenfolge | Liste | Karte
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
PoliciesEigenschaft einerAWS::IAM::RoleRessource. -
Geben Sie an, ob Tags von der
TagsEigenschaft an Ihre AWS::Serverless::Function generierten Ressourcen übergeben werden sollen oder nicht. Geben SieTruean, dass Tags in Ihren generierten Ressourcen verbreitet werden sollen.Typ: Boolesch
Required: No
Standardwert:
FalseCloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.
-
ProvisionedConcurrencyConfig -
Die bereitgestellte Parallelitätskonfiguration des Alias einer Funktion.
Anmerkung
ProvisionedConcurrencyConfigkann nur angegeben werden, wenn der gesetztAutoPublishAliasist. Andernfalls tritt ein Fehler auf.Typ: ProvisionedConcurrencyConfig
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ProvisionedConcurrencyConfigEigenschaft einerAWS::Lambda::AliasRessource übergeben. -
RecursiveLoop -
Der Status der Konfiguration der rekursiven Schleifenerkennung Ihrer Funktion.
Wenn dieser Wert auf gesetzt ist
Allowund Lambda erkennt, dass Ihre Funktion als Teil einer rekursiven Schleife aufgerufen wird, ergreift es keine Aktion.Wenn dieser Wert auf gesetzt ist
Terminateund Lambda erkennt, dass Ihre Funktion als Teil einer rekursiven Schleife aufgerufen wird, stoppt es den Aufruf Ihrer Funktion und benachrichtigt Sie.Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die Eigenschaft der
RecursiveLoopRessource übergeben.AWS::Lambda::Function -
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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ReservedConcurrentExecutionsEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
Role -
Der ARN einer IAM-Rolle, die als Ausführungsrolle dieser Funktion verwendet werden soll.
Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
RoleEigenschaft einerAWS::Lambda::FunctionRessource. Dies ist in erforderlich 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
RoleEigenschaft angegeben ist.Typ: Zeichenfolge
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
PathEigenschaft einerAWS::IAM::RoleRessource übergeben. -
Runtime -
Die ID der Laufzeit der Funktion. Diese Eigenschaft ist nur erforderlich, wenn die
PackageTypeEigenschaft auf gesetzt istZip.Anmerkung
Wenn Sie den
providedBezeichner für diese Eigenschaft angeben, können Sie dasMetadataRessourcenattribut 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. Erstellen von Lambda-Funktionen mit benutzerdefinierten Laufzeiten in AWS SAMTyp: Zeichenfolge
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
RuntimeEigenschaft einerAWS::Lambda::FunctionRessource ü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.
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
RuntimeManagementConfigEigenschaft einerAWS::Lambda::FunctionRessource ü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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
SnapStartEigenschaft einerAWS::Lambda::FunctionRessource übergeben. -
SourceKmsKeyArn -
Stellt einen KMS-Schlüssel-ARN dar, der zur Verschlüsselung des ZIP-Funktionscodes des Kunden verwendet wird.
Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
SourceKmsKeyArnEigenschaft einesAWS::Lambda::FunctionCodeDatentyps übergeben. -
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:SAMTag hinzu.Typ: Karte
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
TagsEigenschaft einerAWS::Lambda::FunctionRessource. DieTagsEigenschaft in AWS SAM besteht aus Schlüssel-Wert-Paaren (wohingegen CloudFormation diese Eigenschaft aus einer Liste vonTagObjekten besteht). Fügt dieser Lambda-Funktion und den Standardrollen, die für diese Funktion generiert werden, außerdem AWS SAM automatisch einlambda:createdBy:SAMTag hinzu. -
Timeout -
Die maximale Zeit in Sekunden, die die Funktion ausführen kann, bevor sie beendet wird.
Typ: Ganzzahl
Required: No
Standard: 3
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
TimeoutEigenschaft einerAWS::Lambda::FunctionRessource ü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
Activeoder angegebenPassThroughund dieRoleEigenschaft nicht festgelegt ist, wird diearn:aws:iam::aws:policy/AWSXrayWriteOnlyAccessRichtlinie 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
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
TracingConfigEigenschaft einerAWS::Lambda::FunctionRessource. -
-
VersionDescription -
Gibt das
DescriptionFeld an, das der neuen Lambda-Versionsressource hinzugefügt wird.Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
DescriptionEigenschaft einerAWS::Lambda::VersionRessource übergeben. -
VpcConfig -
Die Konfiguration, die dieser Funktion den Zugriff auf private Ressourcen innerhalb Ihrer Virtual Private Cloud (VPC) ermöglicht.
Typ: VpcConfig
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
VpcConfigEigenschaft einerAWS::Lambda::FunctionRessource ü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:::sam-s3-demo-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get
ImageConfigBeispiel für
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-nameImageConfig: 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
Beispiele für SnapStart
Beispiel für eine Lambda-Funktion, die für future Versionen SnapStart aktiviert ist:
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions