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.
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 AWS CloudFormation ressources. Pour de plus amples informations, veuillez consulter AWS 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: List
AssumeRolePolicyDocument: JSON
AutoPublishAlias: String
AutoPublishAliasAllProperties: Boolean
AutoPublishCodeSha256: String
CodeSigningConfigArn: String
CodeUri: String | FunctionCode
DeadLetterQueue: Map | DeadLetterQueue
DeploymentPreference: DeploymentPreference
Description: String
Environment: Environment
EphemeralStorage: EphemeralStorage
EventInvokeConfig: EventInvokeConfiguration
Events: EventSource
FileSystemConfigs: List
FunctionName: String
FunctionUrlConfig: FunctionUrlConfig
Handler: String
ImageConfig: ImageConfig
ImageUri: String
InlineCode: String
KmsKeyArn: String
Layers: List
LoggingConfig: LoggingConfig
MemorySize: Integer
PackageType: String
PermissionsBoundary: String
Policies: String | List | Map
PropagateTags: Boolean
ProvisionedConcurrencyConfig: ProvisionedConcurrencyConfig
RecursiveLoop: String
ReservedConcurrentExecutions: Integer
Role: String
RolePath: String
Runtime: String
RuntimeManagementConfig: RuntimeManagementConfig
SnapStart: SnapStart
SourceKMSKeyArn: String
Tags: Map
Timeout: Integer
Tracing: String
VersionDescription: String
VpcConfig: 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_64
ouarm64
Type: liste
Obligatoire : non
Par défaut :
x86_64
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Architectures
propriété d'uneAWS::Lambda::Function
ressource. -
AssumeRolePolicyDocument
-
Ajoute un AssumeRolePolicyDocument pour la valeur par défaut créée
Role
pour 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
AWS CloudFormation compatibilité : cette propriété est similaire à celle
AssumeRolePolicyDocument
d'uneAWS::IAM::Role
ressource. 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::Version et 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 AWS CloudFormation ressources générées, consultezAWS CloudFormation Ressources générées pour AWS SAM.
Type : chaîne
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.
-
AutoPublishAliasAllProperties
-
Spécifie quand une nouvelle version
AWS::Lambda::Version
est 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
,ImageUri
ouInlineCode
.
Cette propriété nécessite que
AutoPublishAlias
soit défini.Si
AutoPublishCodeSha256
est également spécifié, son comportement est prioritaire surAutoPublishAliasAllProperties: true
.Type : valeur booléenne
Obligatoire : non
Valeur par défaut :
false
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.
-
-
AutoPublishCodeSha256
-
Lorsqu'elle est utilisée, cette chaîne fonctionne avec la
CodeUri
valeur 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 laCodeUri
propriété reste inchangée (par opposition au téléchargement du nouveau package de déploiement vers un nouvel emplacement Amazon S3 etCodeUri
remplacé par le nouvel emplacement).Ce problème est marqué par un AWS SAM modèle présentant les caractéristiques suivantes :
L'
DeploymentPreference
objet est configuré pour des déploiements progressifs (comme décrit dansDéploiement progressif d'applications sans serveur avec AWS SAM)La
AutoPublishAlias
propriété est définie et ne change pas entre les déploiementsLa
CodeUri
propriété est définie et ne change pas entre les déploiements.
Dans ce scénario, la mise à jour des résultats
AutoPublishCodeSha256
entraî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éVersion
de 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
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.
-
CodeSigningConfigArn
-
L'ARN du AWS::Lambda::CodeSigningConfigressource, 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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
CodeSigningConfigArn
propriété d'uneAWS::Lambda::Function
ressource. -
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 indiquez un chemin de fichier local, utilisez AWS SAM CLI pour télécharger le fichier local lors du déploiement. Pour en savoir plus, consultez Comment AWS SAM télécharge les fichiers locaux lors du déploiement.
Si vous utilisez des fonctions intrinsèques dans les
CodeUri
proprié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
PackageType
est défini surZip
, unCodeUri
ou unInlineCode
est requis.AWS CloudFormation compatibilité : cette propriété est similaire à celle
Code
d'uneAWS::Lambda::Function
ressource. 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
AWS CloudFormation compatibilité : cette propriété est similaire à celle
DeadLetterConfig
d'uneAWS::Lambda::Function
ressource. Dans AWS 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
DeploymentPreference
objet 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
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS 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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Description
propriété d'uneAWS::Lambda::Function
ressource. -
Environment
-
La configuration de l'environnement d'exécution.
Type : Environment
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Environment
propriété d'uneAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
EphemeralStorage
propriété d'uneAWS::Lambda::Function
ressource. -
EventInvokeConfig
-
L'objet qui décrit l'événement appelle la configuration sur une fonction Lambda.
Type : EventInvokeConfiguration
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS 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
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS 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 un AWS::EFS::MountTargetressource, vous devez également spécifier un attribut de
DependsOn
ressource pour vous assurer que la cible de montage est créée ou mise à jour avant la fonction.Type: liste
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
FileSystemConfigs
propriété d'uneAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
FunctionName
propriété d'uneAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS 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é
PackageType
est définie surZip
.Type : chaîne
Obligatoire : Conditionnelle
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Handler
propriété d'uneAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
ImageConfig
propriété d'uneAWS::Lambda::Function
ressource. -
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é
PackageType
est 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
PackageType
propriété est définie surImage
, l'une des deuxImageUri
est obligatoire ou vous devez créer votre application avecMetadata
les entrées nécessaires dans le fichier AWS SAM modèle. Pour de plus amples informations, veuillez consulter Compilation par défaut avec AWS SAM.Créer votre application avec les
Metadata
nécessaires, les entrées sont prioritaires surImageUri
, donc si vous précisez les deux, alorsImageUri
sera ignoré.Type : chaîne
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
ImageUri
propriété du type deAWS::Lambda::Function
Code
donné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é
PackageType
est définie surZip
, sinon, elle est ignorée.Note
Si la propriété
PackageType
est définie surZip
(par défaut), alors l'un desCodeUri
ouInlineCode
est requis.Type : chaîne
Obligatoire : Conditionnelle
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
ZipFile
propriété du type deAWS::Lambda::Function
Code
donné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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
KmsKeyArn
propriété d'uneAWS::Lambda::Function
ressource. -
Layers
-
Liste des éléments
LayerVersion
ARNs 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 à unLayerVersion
will sera!Ref MyLayer
alors qu'un ARN complet incluant la version le seraarn:aws:lambda:
.region
:account-id
:layer:layer-name
:version
Type: liste
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Layers
propriété d'uneAWS::Lambda::Function
ressource. -
LoggingConfig
-
Les paramètres de configuration Amazon CloudWatch Logs de la fonction.
Type : LoggingConfig
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
LoggingConfig
propriété d'uneAWS::Lambda::Function
ressource. -
MemorySize
-
La taille de la mémoire en Mo allouée par invocation de la fonction.
Type : entier
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
MemorySize
propriété d'uneAWS::Lambda::Function
ressource. -
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 soitCodeUri
ouInlineCode
s'applique, etImageUri
est ignoré.2. Si cette propriété est définie sur
Image
, alors uniquementImageUri
s'applique, etCodeUri
etInlineCode
sont ignorés. Le référentiel Amazon ECR requis pour stocker l'image du conteneur de la fonction peut être créé automatiquement par AWS SAM CLI. Pour plus d'informations, consultezsam deploy.Valeurs valides :
Zip
ouImage
Type : chaîne
Obligatoire : non
Par défaut :
Zip
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
PackageType
propriété d'uneAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
PermissionsBoundary
propriété d'uneAWS::IAM::Role
ressource. -
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 :
-
Le ARN d'une politique AWS gérée 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 en YAML sous forme de carte.
Note
Si vous définissez la propriété
Role
, cette propriété est ignorée.Type : chaîne | liste | carte
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est similaire à celle
Policies
d'uneAWS::IAM::Role
ressource. -
Indiquez s'il faut ou non transmettre les balises de la propriété
Tags
aux ressources AWS::Serverless::Function que vous avez générées. SpécifiezTrue
pour la propagation des balises dans vos ressources générées.Type : valeur booléenne
Obligatoire : non
Par défaut :
False
AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.
-
ProvisionedConcurrencyConfig
-
La configuration de la simultanéité allouée pour l'alias d'une fonction.
Note
ProvisionedConcurrencyConfig
peut être spécifiée uniquement siAutoPublishAlias
est définie. Si vous ne le faites pas, une erreur se produit.Type : ProvisionedConcurrencyConfig
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
ProvisionedConcurrencyConfig
propriété d'uneAWS::Lambda::Alias
ressource. -
RecursiveLoop
-
État de la configuration de détection de boucle récursive de votre fonction.
Lorsque cette valeur est définie sur
Allow
et 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
Terminate
et 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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
RecursiveLoop
propriété de laAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
ReservedConcurrentExecutions
propriété d'uneAWS::Lambda::Function
ressource. -
Role
-
L'ARN d'un rôle IAM à utiliser comme rôle d'exécution de cette fonction.
Type : chaîne
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est similaire à celle
Role
d'uneAWS::Lambda::Function
ressource. Cela est obligatoire dans AWS 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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Path
propriété d'uneAWS::IAM::Role
ressource. -
Runtime
-
Identifiant de l’exécution de la fonction. Cette propriété n'est requise que si la propriété
PackageType
est définie surZip
.Note
Si vous spécifiez l'
provided
identifiant de cette propriété, vous pouvez utiliser l'attributMetadata
resource 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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Runtime
propriété d'uneAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
RuntimeManagementConfig
propriété d'uneAWS::Lambda::Function
ressource. -
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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
SnapStart
propriété d'uneAWS::Lambda::Function
ressource. -
SourceKmsKeyArn
-
Représente un ARN de clé KMS utilisé pour chiffrer le code de fonction ZIP du client.
Type : chaîne
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
SourceKmsKeyArn
propriété d'un type deAWS::Lambda::Function
Code
donné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:SAM
balise à cette fonction Lambda et aux rôles par défaut générés pour cette fonction.Type: carte (map)
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est similaire à celle
Tags
d'uneAWS::Lambda::Function
ressource. LaTags
propriété in AWS SAM est constituée de paires clé-valeur (alors que dans AWS CloudFormation cette propriété, elle consiste en une liste d'Tag
objets). Ajoute également AWS SAM automatiquement unelambda:createdBy:SAM
balise à 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
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Timeout
propriété d'uneAWS::Lambda::Function
ressource. -
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
Active
ouPassThrough
et que la propriétéRole
n'est pas spécifiée, AWS SAM ajoute la stratégiearn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess
au 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
AWS CloudFormation compatibilité : cette propriété est similaire à celle
TracingConfig
d'uneAWS::Lambda::Function
ressource. -
-
VersionDescription
-
Spécifie le champ
Description
qui est ajouté sur la nouvelle ressource de version Lambda.Type : chaîne
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
Description
propriété d'uneAWS::Lambda::Version
ressource. -
VpcConfig
-
La configuration qui permet à cette fonction d'accéder aux ressources privées dans votre VPC (Virtual Private Cloud).
Type : VpcConfig
Obligatoire : non
AWS CloudFormation compatibilité : cette propriété est transmise directement à la
VpcConfig
propriété d'uneAWS::Lambda::Function
ressource.
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:::amzn-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-name
ImageConfig:
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