

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::WebFunction
<a name="sam-resource-webfunction"></a>

 Crée une fonction AWS Lambda Web qui traite les requêtes HTTP via un point de terminaison géré. Contrairement à une fonction d'événement Lambda, qui s'exécute en réponse à des appels et à des événements, une fonction Web exécute votre serveur Web et reçoit directement des requêtes HTTP. À partir d'une seule`AWS::Serverless::WebFunction`, il AWS SAM génère la fonction Web, une révision immuable contenant votre code et votre configuration, et un point de terminaison qui achemine le trafic vers une ou plusieurs révisions. 

**Note**  
Lorsque vous déployez vers AWS CloudFormation, vos AWS SAM ressources sont AWS SAM transformées en CloudFormation ressources. Pour plus d’informations, consultez [Générées CloudFormation ressources pour AWS SAM](sam-specification-generated-resources.md). 

**Important**  
Votre code de fonction doit exécuter un serveur HTTP qui écoute l'hôte et le port dans la variable d'`AWS_LAMBDA_HTTP_ENDPOINT`environnement. Le temps d'exécution n'est pas défini`PORT`. Par défaut, le moteur d'exécution s'exécute `index.js` à la racine du package de déploiement. [EntryPoint](#sam-webfunction-entrypoint)À utiliser pour exécuter un autre fichier.

**Important**  
Le compartiment Amazon S3 qui contient votre package de déploiement doit répondre aux exigences suivantes :  
La gestion des versions est activée.
Une politique de compartiment accorde `lambda.amazonaws.com` les `s3:GetObjectVersion` autorisations `s3:GetObject` et. Nous vous recommandons de définir la politique avec une `ArnLike` condition `aws:SourceArn` correspondant aux révisions de la fonction, par exemple`arn:aws:lambda:{{us-east-1}}:{{111122223333}}:web-function/{{my-function}}/revision/*`.
Si l'objet est chiffré avec SSE-KMS, il utilise une clé gérée par le client dont la politique en matière de clés `lambda.amazonaws.com` permet d'appeler`kms:Decrypt`. La clé AWS gérée pour Amazon S3 (`aws/s3`) n'est pas prise en charge, car vous ne pouvez pas modifier sa politique en matière de clés.
Pour un exemple de politique de bucket, consultez la section [Politique de bucket pour Lambda](https://docs.aws.amazon.com/lambda/latest/dg/web-functions-code-s3.html#web-functions-code-s3-bucket-policy) dans le Guide du *AWS Lambda développeur*.  
`CodeUri`doit faire référence à un objet dans Amazon S3. Les `sam package` commandes `sam build` et ne prennent pas en charge les chemins locaux pour cette ressource.

## Syntaxe
<a name="sam-resource-webfunction-syntax"></a>

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.

### YAML
<a name="sam-resource-webfunction-syntax.yaml"></a>

```
Type: AWS::Serverless::WebFunction
Properties:
  [AuthType](#sam-webfunction-authtype): {{String}}
  [AutoDeploymentMode](#sam-webfunction-autodeploymentmode): {{String}}
  [CodeUri](#sam-webfunction-codeuri): {{String | CodeUri}}
  [EgressNetworkConnectorArn](#sam-webfunction-egressnetworkconnectorarn): {{String}}
  [EndpointDescription](#sam-webfunction-endpointdescription): {{String}}
  [EndpointName](#sam-webfunction-endpointname): {{String}}
  [EndpointType](#sam-webfunction-endpointtype): {{String}}
  [EntryPoint](#sam-webfunction-entrypoint): {{String}}
  [EnvironmentVariables](#sam-webfunction-environmentvariables): {{Map}}
  [ExecutionRoleArn](#sam-webfunction-executionrolearn): {{String}}
  [FunctionName](#sam-webfunction-functionname): {{String}}
  [InlineCode](#sam-webfunction-inlinecode): {{String}}
  [KmsKeyArn](#sam-webfunction-kmskeyarn): {{String}}
  [LoggingConfig](#sam-webfunction-loggingconfig): {{Map}}
  [MaxConcurrencyPerEnvironment](#sam-webfunction-maxconcurrencyperenvironment): {{Integer}}
  [ReplicaRegions](#sam-webfunction-replicaregions): {{List | ReplicaRegions}}
  [RevisionDescription](#sam-webfunction-revisiondescription): {{String}}
  [RevisionWeights](#sam-webfunction-revisionweights): {{RevisionWeights}}
  [Runtime](#sam-webfunction-runtime): {{String}}
  [ScalingConfig](#sam-webfunction-scalingconfig): {{Map}}
  [Tags](#sam-webfunction-tags): {{Map}}
  [ThrottleConfig](#sam-webfunction-throttleconfig): {{Map}}
  [Timeout](#sam-webfunction-timeout): {{Integer}}
```

## Propriétés
<a name="sam-resource-webfunction-properties"></a>

 `AuthType`   <a name="sam-webfunction-authtype"></a>
Comment le point de terminaison autorise les demandes.  
+ `IamAuth`: Lambda autorise les demandes avec Signature Version 4 et IAM. Les appelants ont besoin de cette `lambda:InvokeWebFunctionEndpoint` autorisation, accordée par le biais d'une politique basée sur les ressources concernant la fonction.
+ `ApplicationManaged`: le point de terminaison est public. Votre fonction doit autoriser elle-même chaque demande.
*Valeurs valides *: `IamAuth`, `ApplicationManaged`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AuthType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-authtype)` propriété d'une `AWS::Lambda::WebFunctionEndpoint` ressource. 

 `AutoDeploymentMode`   <a name="sam-webfunction-autodeploymentmode"></a>
Comment le point de terminaison achemine le trafic entre les révisions.  
+ `LatestRevision`: envoie 100 % du trafic vers la révision créée par ce déploiement.
+ `Disabled`: achemine le trafic en fonction de [RevisionWeights](#sam-webfunction-revisionweights).
Les valeurs que vous pouvez utiliser, et si elles `RevisionWeights` sont obligatoires, dépendent des éléments [EndpointType](#sam-webfunction-endpointtype)suivants :  
+ `HomeRegion`: utilisez l'une ou l'autre valeur. Avec`Disabled`, `RevisionWeights` est obligatoire.
+ `MultiRegion`ou `PerRegion` : utiliser`Disabled`. Si vous omettez`RevisionWeights`, le point de terminaison achemine 100 % du trafic vers la révision créée dans la même pile, de sorte que vous pouvez créer le point de terminaison en un seul déploiement. Le trafic n'est pas transféré vers les révisions créées par les déploiements ultérieurs.
La valeur doit être résolue lors de la AWS SAM transformation du modèle. Un `Ref` paramètre est pris en charge. Les autres fonctions intrinsèques ne sont pas prises en charge.  
*Valeurs valides *: `LatestRevision`, `Disabled`  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `LatestRevision`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `CodeUri`   <a name="sam-webfunction-codeuri"></a>
L'emplacement Amazon S3 du package de déploiement. Spécifiez un `s3://{{bucket}}/{{key}}` URI ou un objet avec`Bucket`,`Key`, et des `Version` clés facultatives. Pour les exigences relatives aux compartiments, consultez la note en haut de cette page.  
*Type* : Chaîne \| [CodeUri](sam-property-webfunction-codeuri.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[BuildConfig.CodeConfig.S3Object](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-s3object.html)` d'une `AWS::Lambda::WebFunctionRevision` ressource. AWS SAM convertit un `s3://` URI en `Bucket``Key`, et`VersionId`. 

 `EgressNetworkConnectorArn`   <a name="sam-webfunction-egressnetworkconnectorarn"></a>
L'ARN qualifié par version d'un connecteur réseau qui achemine le trafic sortant de la fonction via votre VPC. L'ARN doit se terminer par un numéro de version, par exemple`arn:aws:lambda:us-east-1:123456789012:network-connector:my-connector:1`. Pour utiliser la dernière version d'un connecteur dans le même modèle, spécifiez`!GetAtt {{MyConnector}}.LatestVersionArn`. Le connecteur [ComputeTypes](sam-resource-networkconnector.md#sam-networkconnector-computetypes)doit l'être`WebFunction`.  
Si vous spécifiez une chaîne littérale, AWS SAM vérifiez qu'il s'agit d'un ARN de connecteur réseau qualifié par version. Les fonctions intrinsèques sont transmises et validées par le service. La modification de cette valeur crée une nouvelle révision.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceConfig.EgressNetworkConnectorArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `EndpointDescription`   <a name="sam-webfunction-endpointdescription"></a>
Description du point de terminaison.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-description)` propriété d'une `AWS::Lambda::WebFunctionEndpoint` ressource. 

 `EndpointName`   <a name="sam-webfunction-endpointname"></a>
Nom du point de terminaison. La modification du nom remplace le point de terminaison. La modification remplace `EndpointType` également le point de terminaison, donc modifiez `EndpointName` en même temps. CloudFormation Impossible de remplacer une ressource dont le nom est personnalisé sans un nouveau nom.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `prod`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EndpointName](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-endpointname)` propriété d'une `AWS::Lambda::WebFunctionEndpoint` ressource. 

 `EndpointType`   <a name="sam-webfunction-endpointtype"></a>
Où le point de terminaison dessert le trafic.  
+ `HomeRegion`: sert depuis la région de la pile.
+ `MultiRegion`: réplique la fonction dans les régions [ReplicaRegions](#sam-webfunction-replicaregions)et achemine chaque demande vers la région la plus proche.
+ `PerRegion`: expose un point de terminaison distinct dans chaque région de réplication.
`MultiRegion`et `PerRegion` exigent`AutoDeploymentMode: Disabled`.  
*Valeurs valides* : `HomeRegion`, `MultiRegion`, `PerRegion`  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `HomeRegion`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EndpointType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-endpointtype)` propriété d'une `AWS::Lambda::WebFunctionEndpoint` ressource. 

 `EntryPoint`   <a name="sam-webfunction-entrypoint"></a>
Le fichier exécuté par le moteur d'exécution, relatif à la racine du package de déploiement. AWS SAM le transmet au moteur d'exécution dans la variable d'`AWS_LAMBDA_NODEJS_ENTRYPOINT`environnement réservée.  
Vous ne pouvez pas utiliser cette propriété lorsqu'il `EnvironmentVariables` s'agit d'une fonction intrinsèque.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `index.js`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `EnvironmentVariables`   <a name="sam-webfunction-environmentvariables"></a>
Key-value paires à définir comme variables d'environnement pour la révision.  
+ Les touches doivent commencer par une lettre et ne contenir que des lettres, des chiffres et des traits de soulignement.
+ Les valeurs ne doivent pas être vides et comporter au maximum 4 096 caractères.
+ AWS SAM convertit les nombres et les valeurs booléennes en chaînes de caractères.
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceConfig.EnvironmentVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-environmentvariables)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `ExecutionRoleArn`   <a name="sam-webfunction-executionrolearn"></a>
L'ARN du rôle IAM assumé par la fonction lors de son exécution. Si vous ne spécifiez aucun rôle, AWS SAM créez-en un avec la politique `AWSLambdaBasicExecutionRole` gérée et l'ID logique de`{{<resource-logical-id>}}Role`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceConfig.ExecutionRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-executionrolearn)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `FunctionName`   <a name="sam-webfunction-functionname"></a>
Nom de la fonction. Les noms de fonctions doivent être uniques au sein d'un compte dans toutes les régions. Si vous ne spécifiez pas de nom, il en AWS SAM génère un à partir de l'ID logique et de l'ID de pile, avec un maximum de 64 caractères. La modification du nom remplace la fonction, sa révision et son point de terminaison.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FunctionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunction.html#cfn-lambda-webfunction-functionname)` propriété des `AWS::Lambda::WebFunctionEndpoint` ressources `AWS::Lambda::WebFunction``AWS::Lambda::WebFunctionRevision`,, et. 

 `InlineCode`   <a name="sam-webfunction-inlinecode"></a>
Non pris en charge pour`AWS::Serverless::WebFunction`. Utilisez [CodeUri](#sam-webfunction-codeuri).  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `KmsKeyArn`   <a name="sam-webfunction-kmskeyarn"></a>
L'ARN de la AWS KMS clé utilisée pour chiffrer les variables d'environnement de la révision.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionrevision.html#cfn-lambda-webfunctionrevision-kmskeyarn)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `LoggingConfig`   <a name="sam-webfunction-loggingconfig"></a>
La configuration de journalisation pour la révision, telle que le groupe de journaux et les niveaux de journalisation.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceConfig.TelemetryConfig.LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-telemetryconfig.html#cfn-lambda-webfunctionrevision-telemetryconfig-loggingconfig)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `MaxConcurrencyPerEnvironment`   <a name="sam-webfunction-maxconcurrencyperenvironment"></a>
Nombre maximal de demandes simultanées traitées par chaque environnement d'exécution.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceConfig.MaxConcurrencyPerEnvironment](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-maxconcurrencyperenvironment)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `ReplicaRegions`   <a name="sam-webfunction-replicaregions"></a>
Les régions vers lesquelles répliquer la fonction. Utilisez cette propriété avec les `PerRegion` points de terminaison `MultiRegion` et. Spécifiez une liste de codes de région et de groupes de régions, ou un objet avec `IncludeRegions` une option`ExcludeRegions`.  
*Type* : Liste \| [ReplicaRegions](sam-property-webfunction-replicaregions.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Regions](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-regions)` d'une `AWS::Lambda::WebFunctionEndpoint` ressource. AWS SAM développe les groupes de régions et s'applique `ExcludeRegions` pour produire la liste des régions. 

 `RevisionDescription`   <a name="sam-webfunction-revisiondescription"></a>
Description de la révision créée par ce déploiement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionrevision.html#cfn-lambda-webfunctionrevision-description)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `RevisionWeights`   <a name="sam-webfunction-revisionweights"></a>
Une carte des identifiants de révision par rapport aux pondérations du trafic. Utilisez cette propriété lorsque `AutoDeploymentMode` c'est le cas`Disabled`. Spécifiez jusqu'à deux révisions. Chaque poids est un entier compris entre 1 et 100, et la somme des poids doit être égale à 100.  
*Type :* [RevisionWeights](sam-property-webfunction-revisionweights.md)  
*Obligatoire :* selon les conditions. Obligatoire quand `AutoDeploymentMode` c'`EndpointType`est `Disabled` et quand`HomeRegion`.  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[RevisionWeights](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-revisionweights)` d'une `AWS::Lambda::WebFunctionEndpoint` ressource. AWS SAM convertit la carte en une liste d'`Weight`objets `RevisionId` et. 

 `Runtime`   <a name="sam-webfunction-runtime"></a>
Le temps d'exécution de la fonction, par exemple`nodejs24.x`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BuildConfig.RuntimeConfig.Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-runtimeconfig.html#cfn-lambda-webfunctionrevision-runtimeconfig-runtime)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

 `ScalingConfig`   <a name="sam-webfunction-scalingconfig"></a>
La configuration de dimensionnement pour le point de terminaison, telle que le nombre maximum d'environnements d'exécution.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-scalingconfig)` propriété d'une `AWS::Lambda::WebFunctionEndpoint` ressource. 

 `Tags`   <a name="sam-webfunction-tags"></a>
Carte de paires clé-valeur qui spécifie les balises ajoutées à la fonction et au rôle d'exécution qui AWS SAM la génère.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunction.html#cfn-lambda-webfunction-tags)` d'une `AWS::Lambda::WebFunction` ressource. La `Tags` propriété in AWS SAM est constituée de paires clé-valeur (alors que dans CloudFormation cette propriété, elle consiste en une liste d'`Tag`objets). Ajoute également AWS SAM automatiquement une `lambda:createdBy:SAM` balise à la fonction et au rôle par défaut généré pour celle-ci. 

 `ThrottleConfig`   <a name="sam-webfunction-throttleconfig"></a>
La configuration de régulation pour le point de terminaison, telle que le taux de demandes maximal.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ThrottleConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-throttleconfig)` propriété d'une `AWS::Lambda::WebFunctionEndpoint` ressource. 

 `Timeout`   <a name="sam-webfunction-timeout"></a>
Durée maximale, en secondes, pendant laquelle la fonction peut être exécutée par requête. Les valeurs valides sont comprises entre 3 et 900.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut* : `30`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceConfig.TimeoutSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-timeoutseconds)` propriété d'une `AWS::Lambda::WebFunctionRevision` ressource. 

## Valeurs renvoyées
<a name="sam-resource-webfunction-return-values"></a>

### Réf
<a name="sam-resource-webfunction-return-values-ref"></a>

Lorsque l'identifiant logique de cette ressource est fourni à la fonction `Ref` intrinsèque, elle renvoie l'ARN de la fonction Web. Lorsque vous avez besoin du nom de la fonction, utilisez `FunctionName` plutôt la valeur de.

Pour plus d'informations sur l'utilisation de la fonction `Ref`, consultez [`Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) dans le *Guide de l'utilisateur AWS CloudFormation *.

### Ventilateur : GetAtt
<a name="sam-resource-webfunction-return-values-fn--getatt"></a>

`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`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) dans le *Guide de l'utilisateur AWS CloudFormation *.

`FunctionArn`  <a name="sam-webfunction-getatt-functionarn"></a>
Le nom de ressource Amazon (ARN) de la fonction Web.

`State`  <a name="sam-webfunction-getatt-state"></a>
État actuel de la fonction Web.

`StateReason`  <a name="sam-webfunction-getatt-statereason"></a>
La raison de l'état actuel de la fonction Web.

`CreatedAt`  <a name="sam-webfunction-getatt-createdat"></a>
Heure à laquelle la fonction Web a été créée.

`UpdatedAt`  <a name="sam-webfunction-getatt-updatedat"></a>
Heure à laquelle la fonction Web a été mise à jour pour la dernière fois.

Pour référencer la révision ou le point de terminaison qui AWS SAM génère, utilisez leurs identifiants logiques, `{{<resource-logical-id>}}Revision` et`{{<resource-logical-id>}}Endpoint`. Par exemple, `!GetAtt MyWebFunctionEndpoint.DomainName` renvoie le nom de domaine du point de terminaison d'une fonction Web avec l'ID logique`MyWebFunction`. Pour plus d’informations, consultez [CloudFormation ressources générées lorsque AWS::Serverless::WebFunction est spécifié](sam-specification-generated-resources-webfunction.md).

## Exemples
<a name="sam-resource-webfunction-examples"></a>

### Fonction Web de base
<a name="sam-resource-webfunction-example-basic"></a>

L'exemple suivant crée une fonction Web avec un IAM-authorized point de terminaison dans la région de la pile. AWS SAM génère le rôle d'exécution, et le point de terminaison achemine tout le trafic vers la révision créée par ce déploiement.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      Timeout: 30

Outputs:
  EndpointUrl:
    Value: !Sub https://${MyWebFunctionEndpoint.DomainName}
```

### Répartissez le trafic entre deux révisions
<a name="sam-resource-webfunction-example-canary"></a>

L'exemple suivant désactive le déploiement automatique et envoie 90 % du trafic vers une révision existante et 10 % vers une autre. Les deux révisions doivent déjà exister.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri: s3://amzn-s3-demo-bucket/webfn-v2.zip
      AutoDeploymentMode: Disabled
      RevisionWeights:
        rev-abc123: 90
        rev-def456: 10
```

### Multi-Region Fonction Web
<a name="sam-resource-webfunction-example-multiregion"></a>

L'exemple suivant reproduit la fonction dans les régions des États-Unis sauf `us-west-1` et achemine chaque demande vers la région la plus proche. Comme il `RevisionWeights` est omis, le point de terminaison achemine tout le trafic vers la révision créée dans cette pile.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      EndpointName: prodmr
      EndpointType: MultiRegion
      AutoDeploymentMode: Disabled
      ReplicaRegions:
        IncludeRegions:
          - US
        ExcludeRegions:
          - us-west-1
```

### Fonction Web avec sortie VPC
<a name="sam-resource-webfunction-example-vpc-egress"></a>

L'exemple suivant crée un connecteur réseau pour les fonctions Web et achemine le trafic sortant de la fonction via les sous-réseaux et les groupes de sécurité du connecteur.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyConnector:
    Type: AWS::Serverless::NetworkConnector
    Properties:
      ComputeTypes:
        - WebFunction
      VpcConfig:
        SubnetIds:
          - subnet-0abc123def4567890
          - subnet-0def456abc7890123
        SecurityGroupIds:
          - sg-0abc1234abcde0001
        NetworkProtocol: IPv4

  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      EgressNetworkConnectorArn: !GetAtt MyConnector.LatestVersionArn
```