Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS::Serverless::Function
Crée une AWS Lambda fonction, un rôle d'exécution AWS Identity and Access Management (IAM) et des mappages de sources d'événements qui déclenchent la fonction.
La AWS::Serverless::Function ressource prend également en charge l'attribut Metadata resource, ce qui vous permet de demander de AWS SAM créer des environnements d'exécution personnalisés dont votre application a besoin. Pour plus d'informations sur la création d'une exécution personnalisée, consultez Création de fonctions Lambda avec des environnements d'exécution personnalisés dans AWS SAM.
Note
Lorsque vous déployez vers AWS CloudFormation, vos AWS SAM ressources sont AWS SAM transformées en CloudFormation ressources. Pour de plus amples informations, veuillez consulter CloudFormation Ressources générées pour AWS SAM.
Syntaxe
Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.
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
Propriétés
-
Architectures -
Architecture du jeu d'instructions de la fonction.
Pour en savoir plus sur cette propriété, consultez Architectures du jeu d'instructions Lambda dans leguide du développeur AWS Lambda .
Valeurs valides : Une de
x86_64ouarm64Type : liste
Obligatoire : non
Par défaut :
x86_64CloudFormation compatibilité : cette propriété est transmise directement à la
Architecturespropriété d'uneAWS::Lambda::Functionressource. -
AssumeRolePolicyDocument -
Ajoute un AssumeRolePolicyDocument pour la valeur par défaut créée
Rolepour cette fonction. Si cette propriété n'est pas spécifiée, AWS SAM ajoute un rôle d'assume par défaut pour cette fonction.Type : JSON
Obligatoire : non
CloudFormation compatibilité : cette propriété est similaire à celle
AssumeRolePolicyDocumentd'uneAWS::IAM::Roleressource. AWS SAM ajoute cette propriété au rôle IAM généré pour cette fonction. Si l'Amazon Resource Name (ARN) d'un rôle est fourni pour cette fonction, cette propriété ne fait rien. -
AutoPublishAlias -
Le nom de l'alias Lambda. Pour plus d'informations sur l'utilisation des alias Lambda, consultez Alias de fonction Lambda dans le Guide du développeur AWS Lambda . Pour obtenir des exemples qui utilisent cette propriété, consultez Déploiement progressif d'applications sans serveur avec AWS SAM.
AWS SAM génère AWS::Lambda::Versionet AWS::Lambda::Aliasressources lorsque cette propriété est définie. Pour plus d'informations sur ce scénario, consultez AutoPublishAlias la propriété est spécifiée. Pour des informations générales sur les CloudFormation ressources générées, consultezCloudFormation Ressources générées pour AWS SAM.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
AutoPublishAliasAllProperties -
Spécifie quand une nouvelle version
AWS::Lambda::Versionest créée. Lorsque l'option esttrue, une nouvelle version Lambda est créée lorsqu'une propriété de la fonction Lambda est modifiée. Lorsque l'option estfalse, une nouvelle version Lambda est créée uniquement lorsque l'une des propriétés suivantes est modifiée :-
Environment,MemorySize, ouSnapStart. -
Toute modification entraînant une mise à jour de la propriété du
Code, telle queCodeDict,ImageUriouInlineCode.
Cette propriété nécessite que
AutoPublishAliassoit défini.Si
AutoPublishCodeSha256est également spécifié, son comportement est prioritaire surAutoPublishAliasAllProperties: true.Type : valeur booléenne
Obligatoire : non
Valeur par défaut :
falseCloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
-
AutoPublishCodeSha256 -
Lorsqu'elle est utilisée, cette chaîne fonctionne avec la
CodeUrivaleur pour déterminer si une nouvelle version de Lambda doit être publiée. Cette propriété est souvent utilisée pour résoudre le problème de déploiement suivant : un package de déploiement est stocké dans un emplacement Amazon S3 et est remplacé par un nouveau package de déploiement avec un code de fonction Lambda mis à jour, mais laCodeUripropriété reste inchangée (par opposition au téléchargement du nouveau package de déploiement vers un nouvel emplacement Amazon S3 etCodeUriremplacé par le nouvel emplacement).Ce problème est marqué par un AWS SAM modèle présentant les caractéristiques suivantes :
L'
DeploymentPreferenceobjet est configuré pour des déploiements progressifs (comme décrit dansDéploiement progressif d'applications sans serveur avec AWS SAM)La
AutoPublishAliaspropriété est définie et ne change pas entre les déploiementsLa
CodeUripropriété est définie et ne change pas entre les déploiements.
Dans ce scénario, la mise à jour des résultats
AutoPublishCodeSha256entraîne la création d'une nouvelle version Lambda. Toutefois, le nouveau code de fonction déployé sur Amazon S3 n'est pas reconnu. Pour reconnaître le nouveau code de fonction, pensez à utiliser la gestion des versions dans votre compartiment Amazon S3. Spécifiez la propriétéVersionde votre fonction Lambda et configurez votre compartiment pour qu'il utilise toujours le dernier Package de déploiement.Dans ce scénario, pour déclencher le déploiement progressif avec succès, vous devez fournir une valeur unique pour
AutoPublishCodeSha256.Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
CodeSigningConfigArn -
L'ARN de la ressource AWS::Lambda::CodeSigningConfig, utilisée pour activer la signature de code pour cette fonction. Pour plus d'informations sur la signature de code, consultez Configurer la signature de code pour votre AWS SAM application.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
CodeSigningConfigArnpropriété d'uneAWS::Lambda::Functionressource. -
CodeUri -
Code pour la fonction. Les valeurs acceptées incluent :
-
l'URI Amazon S3 de la fonction ; Par exemple,
s3://bucket-123456789/sam-app/1234567890abcdefg. -
le chemin local vers la fonction. Par exemple,
hello_world/. -
Un objet FunctionCode.
Note
Si vous fournissez l'URI Amazon S3 d'une fonction ou l'objet FunctionCode, vous devez référencer un package de déploiement Lambda valide.
Si vous fournissez un chemin de fichier local, utilisez la CLI AWS SAM pour charger le fichier local lors du déploiement. Pour en savoir plus, veuillez consulter la section Comment AWS SAM charger les fichiers locaux lors du déploiement.
Si vous utilisez des fonctions intrinsèques dans les
CodeUripropriétés, vous ne AWS SAM pourrez pas analyser correctement les valeurs. Envisagez plutôt d'utiliser AWS::LanguageExtensions transform.Type : [ chaîne de caractères | FunctionCode ]
Obligatoire : selon les conditions. Lorsque
PackageTypeest défini surZip, unCodeUriou unInlineCodeest requis.CloudFormation compatibilité : cette propriété est similaire à celle
Coded'uneAWS::Lambda::Functionressource. Les propriétés imbriquées d'Amazon S3 sont nommées différemment. -
-
DeadLetterQueue -
Configure une rubrique Amazon Simple Notification Service (Amazon SNS) ou une file d'attente Amazon Simple Queue Service (Amazon SQS) où Lambda envoie les événements qu'il ne peut pas traiter. Pour en savoir plus sur la fonctionnalité de la file d'attente de lettres mortes, consultez File d'attente de lettres mortes dans le Guide du développeur AWS Lambda .
Note
Si la source d'événements de votre fonction Lambda est une file d'attente Amazon SQS, configurez une file d'attente de lettres mortes pour la file d'attente source, et pas pour la fonction Lambda. La file d'attente de lettres mortes que vous configurez pour une fonction est utilisée pour la file d'attente d'invocations asynchrones de la fonction et pas pour les files d'attente source d'événement.
Type : Carte | DeadLetterQueue
Obligatoire : non
CloudFormation compatibilité : cette propriété est similaire à celle
DeadLetterConfigd'uneAWS::Lambda::Functionressource. Dans CloudFormation le type est dérivé duTargetArn, tandis que dans AWS SAM vous devez transmettre le type avec leTargetArn. -
DeploymentPreference -
Les paramètres permettant d’activer les déploiements Lambda progressifs.
Si un
DeploymentPreferenceobjet est spécifié, AWS SAM crée un AWS::CodeDeploy::ApplicationappeléServerlessDeploymentApplication(un par pile), un AWS::CodeDeploy::DeploymentGroupappeléet un AWS::IAM::Roleappelé<function-logical-id>DeploymentGroupCodeDeployServiceRole.Type : DeploymentPreference
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
Voir aussi : pour plus d'informations sur cette propriété, consultez Déploiement progressif d'applications sans serveur avec AWS SAM.
-
Description -
Description de la fonction.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
Descriptionpropriété d'uneAWS::Lambda::Functionressource. -
Environment -
La configuration de l'environnement d'exécution.
Type : Environment
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
Environmentpropriété d'uneAWS::Lambda::Functionressource. -
EphemeralStorage -
Objet qui spécifie l'espace disque, en Mo, disponible pour votre fonction Lambda dans
/tmp.Pour plus d'informations sur cette propriété, consultez Environnement d’exécution Lambda dans le Guide du développeur AWS Lambda .
Type : EphemeralStorage
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
EphemeralStoragepropriété d'uneAWS::Lambda::Functionressource. -
EventInvokeConfig -
L'objet qui décrit l'événement appelle la configuration sur une fonction Lambda.
Type : EventInvokeConfiguration
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
Events -
Spécifie les événements qui déclenchent cette fonction. Les événements sont constitués d'un type et d'un ensemble de propriétés qui dépendent du type.
Type : EventSource
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
FileSystemConfigs -
Liste des FileSystemConfigobjets qui spécifient les paramètres de connexion pour un système de fichiers Amazon Elastic File System (Amazon EFS).
Si votre modèle contient une ressource AWS::EFS::MountTarget, vous devez également préciser un
DependsOnattribut pour vous assurer que la cible de montage est créée ou mise à jour avant la fonction.Type : liste
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
FileSystemConfigspropriété d'uneAWS::Lambda::Functionressource. -
FunctionName -
Nom de la fonction. Si vous ne spécifiez aucun nom, un nom unique sera généré pour vous.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
FunctionNamepropriété d'uneAWS::Lambda::Functionressource. -
FunctionUrlConfig -
Objet qui décrit l'URL d'une fonction. Une URL de fonction est un point de terminaison HTTPS que vous pouvez utiliser pour appeler votre fonction.
Pour plus d'informations, consultez la section Fonction URLs dans le guide du AWS Lambda développeur.
Type : FunctionUrlConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
Handler -
La fonction dans votre code qui est appelée pour commencer l'exécution. Cette propriété n'est requise que si la propriété
PackageTypeest définie surZip.Type : chaîne
Obligatoire : Conditionnelle
CloudFormation compatibilité : cette propriété est transmise directement à la
Handlerpropriété d'uneAWS::Lambda::Functionressource. -
ImageConfig -
Objet utilisé pour configurer les paramètres d'image du conteneur Lambda. Pour plus d'informations sur l'utilisation de Lambda, consultez la section Mise en route avec Lambda du Guide du développeur AWS Lambda .
Type : ImageConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
ImageConfigpropriété d'uneAWS::Lambda::Functionressource. -
ImageUri -
L'URI du référentiel Amazon Elastic Container Registry (Amazon ECR) pour l'image de conteneur de la fonction Lambda. Cette propriété s'applique uniquement si la propriété
PackageTypeest définie surImage, sinon, elle est ignorée. Pour plus d'informations, consultez la section Utilisation d'images de conteneur avec Lambda dans le Guide du développeur AWS Lambda .Note
Si la
PackageTypepropriété est définie surImage, l'une des deuxImageUriest obligatoire ou vous devez créer votre application avecMetadatales entrées nécessaires dans le fichier AWS SAM modèle. Pour de plus amples informations, veuillez consulter Construit par défaut avec AWS SAM.Créer votre application avec les
Metadatanécessaires, les entrées sont prioritaires surImageUri, donc si vous précisez les deux, alorsImageUrisera ignoré.Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
ImageUripropriété du type deAWS::Lambda::FunctionCodedonnées. -
InlineCode -
Le code de fonction Lambda qui est écrit directement dans le modèle. Cette propriété s'applique uniquement si la propriété
PackageTypeest définie surZip, sinon, elle est ignorée.Note
Si la propriété
PackageTypeest définie surZip(par défaut), alors l'un desCodeUriouInlineCodeest requis.Type : chaîne
Obligatoire : Conditionnelle
CloudFormation compatibilité : cette propriété est transmise directement à la
ZipFilepropriété du type deAWS::Lambda::FunctionCodedonnées. -
KmsKeyArn -
L'ARN d'une clé AWS Key Management Service (AWS KMS) que Lambda utilise pour chiffrer et déchiffrer les variables d'environnement de votre fonction.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
KmsKeyArnpropriété d'uneAWS::Lambda::Functionressource. -
Layers -
Liste des éléments
LayerVersionARNs que cette fonction doit utiliser. L'ordre spécifié ici est l'ordre dans lequel ils seront importés lors de l'exécution de la fonction Lambda. La version est soit un ARN complet incluant la version, soit une référence à une LayerVersion ressource. Par exemple, une référence à unLayerVersionwill sera!Ref MyLayeralors qu'un ARN complet incluant la version le seraarn:aws:lambda:.region:account-id:layer:layer-name:versionType : liste
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
Layerspropriété d'uneAWS::Lambda::Functionressource. -
LoggingConfig -
Les paramètres de configuration Amazon CloudWatch Logs de la fonction.
Type : LoggingConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
LoggingConfigpropriété d'uneAWS::Lambda::Functionressource. -
MemorySize -
La taille de la mémoire en Mo allouée par invocation de la fonction.
Type : entier
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
MemorySizepropriété d'uneAWS::Lambda::Functionressource. -
PackageType -
Le package de déploiement de la fonction Lambda. Pour plus d'informations, consultez Packages de déploiement M Lambda dans le Guide du développeur AWS Lambda .
Remarques :
1. Si cette propriété est définie sur
Zip(par défaut), alors soitCodeUriouInlineCodes'applique, etImageUriest ignoré.2. Si cette propriété est définie sur
Image, alors uniquementImageUris'applique, etCodeUrietInlineCodesont ignorés. Le référentiel Amazon ECR requis pour stocker l'image du conteneur de la fonction peut être créé automatiquement par le AWS SAMCLI. Pour de plus amples informations, veuillez consulter sam deploy.Valeurs valides :
ZipouImageType : chaîne
Obligatoire : non
Par défaut :
ZipCloudFormation compatibilité : cette propriété est transmise directement à la
PackageTypepropriété d'uneAWS::Lambda::Functionressource. -
PermissionsBoundary -
L'ARN d'une limite d'autorisations à utiliser pour le rôle d'exécution de cette fonction. Cette propriété ne fonctionne que si le rôle est généré pour vous.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
PermissionsBoundarypropriété d'uneAWS::IAM::Roleressource. -
Policies -
Politiques d'autorisation pour cette fonction. Les politiques seront ajoutées au rôle d'exécution par défaut AWS Identity and Access Management (IAM) de la fonction.
Cette propriété accepte une valeur unique ou une liste de valeurs. Les valeurs autorisées sont les suivantes :
-
L'ARN d'une politique gérée par AWS ou d'une politique gérée par le client.
-
Le nom d'une politique AWS gérée dans la liste
suivante. -
Une politique IAM en ligne formatée dans YAML sous forme de mappage.
Note
Si vous définissez la propriété
Role, cette propriété est ignorée.Type : chaîne | liste | carte
Obligatoire : non
CloudFormation compatibilité : cette propriété est similaire à celle
Policiesd'uneAWS::IAM::Roleressource. -
Indiquez s'il faut ou non transmettre les balises de la propriété
Tagsaux ressources AWS::Serverless::Function que vous avez générées. SpécifiezTruepour la propagation des balises dans vos ressources générées.Type : valeur booléenne
Obligatoire : non
Par défaut :
FalseCloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
ProvisionedConcurrencyConfig -
La configuration de la simultanéité allouée pour l'alias d'une fonction.
Note
ProvisionedConcurrencyConfigpeut être spécifiée uniquement siAutoPublishAliasest définie. Si vous ne le faites pas, une erreur se produit.Type : ProvisionedConcurrencyConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
ProvisionedConcurrencyConfigpropriété d'uneAWS::Lambda::Aliasressource. -
RecursiveLoop -
État de la configuration de détection de boucle récursive de votre fonction.
Lorsque cette valeur est définie sur
Allowet que Lambda détecte que votre fonction est invoquée dans le cadre d'une boucle récursive, aucune action n'est entreprise.Lorsque cette valeur est définie sur
Terminateet que Lambda détecte que votre fonction est invoquée dans le cadre d'une boucle récursive, il arrête l'appel de votre fonction et vous en informe.Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
RecursiveLooppropriété de laAWS::Lambda::Functionressource. -
ReservedConcurrentExecutions -
Le nombre maximum d'exécutions simultanées à réserver pour la fonction.
Pour plus d'informations sur cette propriété, consultez Mise à échelle de fonction Lambda dans le Guide du développeur AWS Lambda .
Type : entier
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
ReservedConcurrentExecutionspropriété d'uneAWS::Lambda::Functionressource. -
Role -
L'ARN d'un rôle IAM à utiliser comme rôle d'exécution de cette fonction.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est similaire à celle
Roled'uneAWS::Lambda::Functionressource. Cela est obligatoire dans CloudFormation mais pas dans AWS SAM. Si aucun rôle n'est spécifié, un rôle est créé pour vous avec une ID logique de.<function-logical-id>Role -
RolePath -
Chemin d'accès du rôle d'exécution IAM de la fonction.
Utilisez cette propriété lorsque le rôle est généré pour vous. Ne l'utilisez pas lorsque le rôle est spécifié avec la propriété
Role.Type : chaîne
Obligatoire : Conditionnelle
CloudFormation compatibilité : cette propriété est transmise directement à la
Pathpropriété d'uneAWS::IAM::Roleressource. -
Runtime -
Identifiant de l’exécution de la fonction. Cette propriété n'est requise que si la propriété
PackageTypeest définie surZip.Note
Si vous spécifiez l'
providedidentifiant de cette propriété, vous pouvez utiliser l'attributMetadataresource pour demander de AWS SAM créer le runtime personnalisé requis par cette fonction. Pour plus d'informations sur la création d'une exécution personnalisée, consultez Création de fonctions Lambda avec des environnements d'exécution personnalisés dans AWS SAM.Type : chaîne
Obligatoire : Conditionnelle
CloudFormation compatibilité : cette propriété est transmise directement à la
Runtimepropriété d'uneAWS::Lambda::Functionressource. -
RuntimeManagementConfig -
Configurez les options de gestion de l'exécution pour vos fonctions Lambda, telles que les mises à jour de l'environnement d'exécution, le comportement d'annulation et la sélection d'une version d'exécution spécifique. Pour en savoir plus, consultez les mises à jour du temps d'exécution Lambda dans le Guide du développeur AWS Lambda .
Type : RuntimeManagementConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
RuntimeManagementConfigpropriété d'uneAWS::Lambda::Functionressource. -
SnapStart -
Créez un instantané de toute nouvelle version de fonction Lambda. Un instantané est un état mis en cache de votre fonction initialisée, y compris de toutes ses dépendances. La fonction n'est initialisée qu'une seule fois et l'état mis en cache est réutilisé pour tous les appels futurs, ce qui améliore les performances de l'application en réduisant le nombre de fois que votre fonction doit être initialisée. Pour en savoir plus, consultez la section Améliorer les performances de démarrage avec Lambda SnapStart dans le guide du AWS Lambda développeur.
Type : SnapStart
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
SnapStartpropriété d'uneAWS::Lambda::Functionressource. -
SourceKmsKeyArn -
Représente un ARN de clé KMS utilisé pour chiffrer le code de fonction ZIP du client.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
SourceKmsKeyArnpropriété d'un type deAWS::Lambda::FunctionCodedonnées. -
Un mappage (chaîne à chaîne) qui spécifie les balises ajoutées à cette fonction. Pour en savoir plus sur les clés et les valeurs valides pour les étiquettes, consultez Exigences relatives à la clé et à la valeur des étiquettes dans le guide du développeur AWS Lambda .
Lorsque la pile est créée, ajoute AWS SAM automatiquement une
lambda:createdBy:SAMbalise à cette fonction Lambda et aux rôles par défaut générés pour cette fonction.Type: carte (map)
Obligatoire : non
CloudFormation compatibilité : cette propriété est similaire à celle
Tagsd'uneAWS::Lambda::Functionressource. LaTagspropriété in AWS SAM est constituée de paires clé-valeur (alors que dans CloudFormation cette propriété, elle consiste en une liste d'Tagobjets). Ajoute également AWS SAM automatiquement unelambda:createdBy:SAMbalise à cette fonction Lambda et aux rôles par défaut générés pour cette fonction. -
Timeout -
La durée maximale en secondes pendant laquelle la fonction peut s'exécuter avant qu'elle ne soit arrêtée.
Type : entier
Obligatoire : non
Par défaut : 3
CloudFormation compatibilité : cette propriété est transmise directement à la
Timeoutpropriété d'uneAWS::Lambda::Functionressource. -
Tracing -
La chaîne qui spécifie le mode de traçage X-Ray de la fonction.
-
Active: active le suivi X-Ray pour la fonction. -
Disabled: désactive X-Ray pour la fonction. -
PassThrough: active le suivi X-Ray pour la fonction. La décision d'échantillonnage est déléguée aux services en aval.
Si défini sur
ActiveouPassThroughet que la propriétéRolen'est pas spécifiée, AWS SAM ajoute la stratégiearn:aws:iam::aws:policy/AWSXrayWriteOnlyAccessau rôle d'exécution Lambda qu'il crée pour vous.Pour plus d'informations sur X-Ray, consultez la section Utiliser AWS Lambda avec AWS X-Ray dans le manuel du AWS Lambda développeur.
Valeurs valides : [
Active|Disabled|PassThrough]Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est similaire à celle
TracingConfigd'uneAWS::Lambda::Functionressource. -
-
VersionDescription -
Spécifie le champ
Descriptionqui est ajouté sur la nouvelle ressource de version Lambda.Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
Descriptionpropriété d'uneAWS::Lambda::Versionressource. -
VpcConfig -
La configuration qui permet à cette fonction d'accéder aux ressources privées dans votre VPC (Virtual Private Cloud).
Type : VpcConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
VpcConfigpropriété d'uneAWS::Lambda::Functionressource.
Valeurs renvoyées
Réf
Lorsque l'ID logique de cette ressource est fournie à la fonction intrinsèque Ref, elle renvoie le nom de la ressource Lambda sous-jacente.
Pour plus d'informations sur l'utilisation de la fonction Ref, consultez Ref dans le Guide de l'utilisateur AWS CloudFormation .
Ventilateur : GetAtt
Fn::GetAtt renvoie une valeur pour un attribut de ce type indiqué. Voici les attributs disponibles et des exemples de valeurs de retour.
Pour plus d'informations sur l'utilisation de Fn::GetAtt, consultez Fn::GetAtt dans le Guide de l'utilisateur AWS CloudFormation .
Arn-
L'ARN de la fonction Lambda sous-jacente.
Exemples
Fonction simple
Ce qui suit est un exemple basique d'une ressource AWS::Serverless::Function du type de package Zip (par défaut) et du code de fonction dans un compartiment Amazon S3.
YAML
Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name
Exemple de propriétés de fonction
Voici un exemple d'une AWS::Serverless::Function de type de package Zip (par défaut) qui utilise InlineCode, Layers, Tracing, Policies, Amazon EFS, et une source d'événement Api.
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
Exemple de ImageConfig
Voici un exemple d'ImageConfig pour une fonction Lambda de type de package Image.
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 exemples
Une fonction Lambda configurée pour mettre à jour son environnement d'exécution en fonction du comportement actuel :
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto
Une fonction Lambda configurée pour mettre à jour son environnement d'exécution lorsque la fonction est mise à jour :
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate
Une fonction Lambda configurée pour mettre à jour manuellement son environnement d'exécution :
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual
Exemples SnapStart
Exemple de fonction Lambda SnapStart activée pour les futures versions :
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions