

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 SAM modèle
<a name="sam-specification"></a>

Après avoir exécuté la **sam init** commande et terminé le flux de travail suivant, AWS SAM crée le répertoire de votre projet d'application, qui est votre AWS SAM projet. Vous définissez votre application sans serveur en ajoutant du code à votre AWS SAM projet. Bien que votre AWS SAM projet se compose d'un ensemble de fichiers et de dossiers, le fichier sur lequel vous travaillez principalement est votre AWS SAM modèle (nommé`template.yaml`). Dans ce modèle, vous écrivez le code pour exprimer les ressources, les mappages de sources d'événements et les autres propriétés qui définissent votre application sans serveur.

**Note**  
Un élément clé du AWS SAM modèle est la spécification du AWS SAM modèle. Cette spécification fournit une syntaxe abrégée qui, par rapport à CloudFormation, vous permet d'utiliser moins de lignes de code pour définir les ressources, les mappages de sources d'événements, les autorisations et les autres propriétés de votre application sans serveur. APIs

Cette section explique comment utiliser les sections du AWS SAM modèle pour définir les types de ressources, les propriétés des ressources, les types de données, les attributs des ressources, les fonctions intrinsèques et les extensions API Gateway.

AWS SAM les modèles sont une extension des CloudFormation modèles, avec des types de syntaxe uniques qui utilisent une syntaxe abrégée avec moins de lignes de code que. CloudFormation Cela accélère votre développement lorsque vous créez une application sans serveur. Pour plus d’informations, consultez [AWS SAM ressources et propriétés](sam-specification-resources-and-properties.md). Pour la référence complète des CloudFormation modèles, voir [Référence des CloudFormation modèles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html) dans le *guide de AWS CloudFormation l'utilisateur*.

Lors du développement, vous trouverez souvent utile de diviser le code de votre application en fichiers distincts afin de mieux l'organiser et la gérer. Un exemple simple en est l'utilisation d'un fichier distinct pour votre code de AWS Lambda fonction plutôt que d'avoir ce code dans votre AWS SAM modèle. Pour ce faire, organisez le code de votre fonction Lambda dans un sous-répertoire de votre projet et référencez son chemin local dans votre AWS Serverless Application Model modèle ().AWS SAM

**Topics**
+ [AWS SAM anatomie du modèle](sam-specification-template-anatomy.md)
+ [AWS SAM ressources et propriétés](sam-specification-resources-and-properties.md)
+ [CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md)
+ [Attributs de ressources pris en charge par AWS SAM](sam-specification-resource-attributes.md)
+ [Extensions API Gateway pour AWS SAM](sam-specification-api-gateway-extensions.md)
+ [Fonctions intrinsèques pour AWS SAM](sam-specification-intrinsic-functions.md)

# AWS SAM anatomie du modèle
<a name="sam-specification-template-anatomy"></a>

Un fichier AWS SAM modèle suit de près le format d'un fichier CloudFormation modèle, qui est décrit dans la section [Anatomie du modèle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) dans le *guide de AWS CloudFormation l'utilisateur*. Les principales différences entre les fichiers AWS SAM modèles et les fichiers CloudFormation modèles sont les suivantes :
+ **Déclaration de transformation.** La déclaration `Transform: AWS::Serverless-2016-10-31` est requise pour les fichiers de modèle AWS SAM . Cette déclaration identifie un fichier CloudFormation modèle en tant que fichier AWS SAM modèle. Pour plus d'informations sur les transformations, consultez [Transformation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) dans ce *Guide de l'utilisateur AWS CloudFormation *.
+ **Section Globales.** La `Globals` section est unique à AWS SAM. Il définit les propriétés communes à toutes vos fonctions sans serveur et APIs. Toutes les `AWS::Serverless::StateMachine` ressources `AWS::Serverless::Function` `AWS::Serverless::Api``AWS::Serverless::CapacityProvider`,`AWS::Serverless::HttpApi`,`AWS::Serverless::SimpleTable`,, et héritent des propriétés définies dans la `Globals` section. Pour plus d'informations sur cette section, consultez [Section « Globales » du modèle AWS SAM](sam-specification-template-anatomy-globals.md).
+ **Section Ressources.** Dans les AWS SAM modèles, la `Resources` section peut contenir une combinaison de CloudFormation ressources et de AWS SAM ressources. Pour plus d'informations sur les CloudFormation ressources, consultez la [référence aux types de AWS ressources et de propriétés](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) dans le *guide de AWS CloudFormation l'utilisateur*. Pour plus d'informations sur AWS SAM les ressources, consultez[AWS SAM ressources et propriétés](sam-specification-resources-and-properties.md).

Toutes les autres sections d'un fichier AWS SAM modèle correspondent à la section du fichier CloudFormation modèle portant le même nom.

## YAML
<a name="template-anatomy-outline.yaml"></a>

L'exemple suivant illustre un fragment de modèle au format YAML.

```
Transform: AWS::Serverless-2016-10-31

Globals:
  set of globals

Description:
  String

Metadata:
  template metadata

Parameters:
  set of parameters

Mappings:
  set of mappings

Conditions:
  set of conditions

Resources:
  set of resources

Outputs:
  set of outputs
```

## Sections de modèle
<a name="template-anatomy-sections"></a>

AWS SAM les modèles peuvent inclure plusieurs sections principales. Seules les sections `Transform` et `Resources` sont requises.

Vous pouvez inclure les sections d'un modèle dans n'importe quel ordre. Toutefois, si vous utilisez des extensions de langue, vous devez les ajouter `AWS::LanguageExtensions` *avant* la transformation sans serveur (c'est-à-dire avant`AWS::Serverless-2016-10-31`) comme indiqué dans l'exemple suivant :

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

Lorsque vous créez votre modèle, il peut être utile d'utiliser l'ordre logique indiqué dans la liste suivante. Cela est dû au fait que les valeurs d'une section peuvent faire référence à des valeurs d'une section précédente.

**[Transformation (obligatoire)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)**  
Pour les AWS SAM modèles, vous devez inclure cette section avec une valeur de`AWS::Serverless-2016-10-31`.  
Les transformations supplémentaires sont facultatives. Pour plus d'informations sur les transformations, consultez [Transformation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) dans ce *Guide de l'utilisateur AWS CloudFormation *.

**[Globales (facultatif)](sam-specification-template-anatomy-globals.md)**  
Propriétés communes à toutes vos fonctions sans serveur et tables simples. APIs Toutes les `AWS::Serverless::StateMachine` ressources `AWS::Serverless::Function` `AWS::Serverless::Api``AWS::Serverless::CapacityProvider`,`AWS::Serverless::HttpApi`,`AWS::Serverless::SimpleTable`,, et héritent des propriétés définies dans la `Globals` section.  
Cette section est propre à AWS SAM. Il n'y a pas de section correspondante dans les modèles CloudFormation .

**[Description (facultative)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html)**  
Chaîne de texte qui décrit le modèle.  
Cette section correspond directement à la `Description` section des CloudFormation modèles.

**[Métadonnées (facultatives)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)**  
Objets qui fournissent des informations supplémentaires sur le modèle.  
Cette section correspond directement à la `Metadata` section des CloudFormation modèles.

**[Paramètres (facultatifs)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)**  
Les valeurs à transmettre au modèle lors de l'exécution (lorsque vous créez ou mettez à jour une pile). Vous pouvez faire référence aux paramètres dans les sections `Resources` et `Outputs` du modèle. Les objets déclarés dans la section `Parameters` provoquent la commande **sam deploy --guided** pour présenter des invites supplémentaires à l'utilisateur.  
Les valeurs transmises à l'aide du `--parameter-overrides` paramètre de la `sam deploy` commande, ainsi que les entrées du fichier de configuration, ont priorité sur les entrées du fichier modèle. AWS SAM Pour plus d'informations sur la commande `sam deploy`, consultez [sam deploy](sam-cli-command-reference-sam-deploy.md) dans la AWS SAM référence des commandes de la CLI . Pour plus d'informations sur le fichier de configuration, consultez [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md).

**[Mappages (facultatifs)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html)**  
Mappage de clés et de valeurs associées que vous pouvez utiliser pour spécifier des valeurs de paramètres conditionnelles, comme pour une table de recherche. Pour associer une clé à une valeur correspondante, utilisez la fonction intrinsèque [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) dans les sections `Resources` et `Outputs`.  
Cette section correspond directement à la `Mappings` section des CloudFormation modèles.

**[Conditions (facultatives)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html)**  
Conditions déterminant si certaines ressources sont créées ou si une valeur est attribuée à certaines propriétés de ressources pendant la création ou la mise à jour de la pile. Par exemple, vous pouvez créer une ressource de manière conditionnelle, laquelle varie selon que la pile est destinée à un environnement de production ou de test.  
Cette section correspond directement à la `Conditions` section des CloudFormation modèles.

**[Ressources (obligatoires)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html)**  
Les ressources de la pile et leurs propriétés, telles qu'une instance Amazon Elastic Compute Cloud (Amazon EC2) ou un bucket Amazon Simple Storage Service (Amazon S3). Vous pouvez faire référence à des ressources dans les sections `Resources` et `Outputs` du modèle.  
Cette section est semblable à la section `Resources` des modèles CloudFormation . Dans les AWS SAM modèles, cette section peut contenir des AWS SAM ressources en plus des CloudFormation ressources.

**[Sorties (facultatives)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)**  
Les valeurs qui sont renvoyées chaque fois que vous affichez les propriétés de votre pile. Par exemple, vous pouvez déclarer une sortie pour le nom d'un compartiment S3, puis appeler la commande `aws cloudformation describe-stacks` AWS Command Line Interface (AWS CLI) pour afficher le nom.  
Cette section correspond directement à la section `Outputs` des modèles CloudFormation .

## Étapes suivantes
<a name="template-anatomy-next-steps"></a>

Pour télécharger et déployer un exemple d'application sans serveur contenant un fichier AWS SAM modèle, consultez [Commencer avec AWS SAM](serverless-getting-started.md) et suivez les instructions figurant dans[Tutoriel : Déployer une application Hello World avec AWS SAM](serverless-getting-started-hello-world.md).

# Section « Globales » du modèle AWS SAM
<a name="sam-specification-template-anatomy-globals"></a>

Les ressources que vous déclarez dans un AWS SAM modèle ont parfois des configurations communes. Par exemple, vous pouvez avoir une application avec plusieurs ressources `AWS::Serverless::Function` ayant des configurations `Runtime`, `Memory`, `VPCConfig`, `Environment`, et `Cors` identiques. Au lieu de dupliquer ces informations dans chaque ressource, vous pouvez les déclarer une fois dans la section `Globals` et laisser vos ressources en hériter.

La `Globals` section prend en charge les types de AWS SAM ressources suivants :
+ `AWS::Serverless::Api`
+ `AWS::Serverless::CapacityProvider`
+ `AWS::Serverless::Function`
+ `AWS::Serverless::HttpApi`
+ `AWS::Serverless::SimpleTable`
+ `AWS::Serverless::StateMachine`

Exemple :

```
Globals:
  Function:
    Runtime: nodejs12.x
    Timeout: 180
    Handler: index.handler
    Environment:
      Variables:
        TABLE_NAME: data-table

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          MESSAGE: "Hello From SAM"

  ThumbnailFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        Thumbnail:
          Type: Api
          Properties:
            Path: /thumbnail
            Method: POST
```

Dans cet exemple, `HelloWorldFunction` et `ThumbnailFunction` utilisent toutes deux « nodejs12.x » pour `Runtime`, « 180 » secondes pour `Timeout`, et " index.handler " pour `Handler`. `HelloWorldFunction` ajoute la variable d'environnement MESSAGE, en plus du TABLE\$1NAME hérité.`ThumbnailFunction`hérite de toutes les propriétés `Globals` et ajoute une source d'événement API.

## Ressources et propriétés prises en charge
<a name="sam-specification-template-anatomy-globals-supported-resources-and-properties"></a>

AWS SAM prend en charge les ressources et propriétés suivantes.

```
Globals:
  Api:
    AccessLogSetting:
    Auth:
    BinaryMediaTypes:
    CacheClusterEnabled:
    CacheClusterSize:
    CanarySetting:
    Cors:
    DefinitionUri:
    Domain:
    EndpointConfiguration:
    GatewayResponses:
    MethodSettings:
    MinimumCompressionSize:
    Name:
    OpenApiVersion:
    PropagateTags:
    TracingEnabled:
    Variables:
  
  CapacityProvider:
    InstanceRequirements:
    KmsKeyArn:
    OperatorRole:
    PropagateTags:
    ScalingConfig:
    Tags:
    VpcConfig:
  
  Function:
    Architectures:
    AssumeRolePolicyDocument:
    AutoPublishAlias:
    AutoPublishAliasAllProperties:
    CapacityProviderConfig:
    CodeSigningConfigArn:
    CodeUri:
    DeadLetterQueue:
    DeploymentPreference:
    Description:
    DurableConfig:
    Environment:
    EphemeralStorage:
    EventInvokeConfig:
    FileSystemConfigs:
    FunctionScalingConfig:
    FunctionUrlConfig:
    Handler:
    KmsKeyArn:
    Layers:
    LoggingConfig:
    MemorySize:
    PermissionsBoundary:
    PropagateTags:
    ProvisionedConcurrencyConfig:
    PublishToLatestPublished:
    RecursiveLoop:
    ReservedConcurrentExecutions:
    RolePath:
    Runtime:
    RuntimeManagementConfig:
    SnapStart:
    SourceKMSKeyArn:
    Tags:
    TenancyConfig:
    Timeout:
    Tracing:
    VersionDeletionPolicy:
    VpcConfig:

  HttpApi:
    AccessLogSettings:
    Auth:
    PropagateTags:
    StageVariables:
    Tags:

  SimpleTable:
    SSESpecification:
    
  StateMachine:
    PropagateTags:
```

**Note**  
Toutes les ressources et propriétés qui ne sont pas incluses dans la liste précédente ne sont pas prises en charge. Voici quelques raisons pour lesquelles elles ne sont pas prises en charge : 1) elles ouvrent des problèmes de sécurité potentiels, ou 2) elles rendent le modèle difficile à comprendre.

## Incident APIs
<a name="sam-specification-template-anatomy-globals-implicit-apis"></a>

AWS SAM crée une *valeur implicite APIs* lorsque vous déclarez une API dans la `Events` section. Vous pouvez l'utiliser `Globals` pour remplacer toutes les propriétés APIs implicites.

## Propriétés substituables
<a name="sam-specification-template-anatomy-globals-overrideable"></a>

Les ressources peuvent remplacer les propriétés que vous déclarez dans la section `Globals`. Par exemple, vous pouvez ajouter de nouvelles variables à une carte de variables d'environnement ou remplacer les variables déclarées globalement. Mais la ressource ne peut pas supprimer une propriété spécifiée dans la section `Globals`.

De manière plus générale, la section `Globals` déclare les propriétés que toutes vos ressources partagent. Certaines ressources peuvent fournir de nouvelles valeurs pour les propriétés déclarées globalement, mais elles ne peuvent pas les supprimer. Si certaines ressources utilisent une propriété mais que d'autres ne le font pas, alors vous ne devez pas les déclarer dans la section `Globals`.

Les sections suivantes décrivent comment fonctionne le remplacement pour différents types de données.

### Les types de données primitives sont remplacés
<a name="sam-specification-template-anatomy-globals-overrideable-primitives"></a>

Les types de données primitives peuvent être des chaînes, des nombres, des valeurs booléennes, etc.

La valeur spécifiée dans la section `Resources` remplace la valeur dans la section`Globals`.

Exemple :

```
Globals:
  Function:
    Runtime: nodejs12.x

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: python3.9
```

L'`Runtime` pour `MyFunction` est définie sur `python3.9`.

### Les cartes sont fusionnées
<a name="sam-specification-template-anatomy-globals-overrideable-maps"></a>

Les cartes sont également désignées sous le nom de dictionnaires ou de collections de paires valeur-clé.

Les entrées de carte dans la section `Resources` sont fusionnées avec des entrées de carte globales. En cas de doublons, la section `Resource` remplace l'entrée de la section `Globals`.

Exemple :

```
Globals:
  Function:
    Environment:
      Variables:
        STAGE: Production
        TABLE_NAME: global-table

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          TABLE_NAME: resource-table
          NEW_VAR: hello
```

Les variables d'environnement de `MyFunction` sont définis comme suivant :

```
{
  "STAGE": "Production",
  "TABLE_NAME": "resource-table",
  "NEW_VAR": "hello"
}
```

### Les listes sont additives
<a name="sam-specification-template-anatomy-globals-overrideable-lists"></a>

Les listes sont également désignées sous le nom de tableaux.

Les entrées de liste dans la section `Globals` sont ajoutées à la liste dans la section `Resources`.

Exemple :

```
Globals:
  Function:
    VpcConfig:
      SecurityGroupIds:
        - sg-123
        - sg-456

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      VpcConfig:
        SecurityGroupIds:
          - sg-first
```

Les `SecurityGroupIds` pour les `VpcConfig` de `MyFunction` sont définis comme suivant :

```
[ "sg-123", "sg-456", "sg-first" ]
```

# AWS SAM ressources et propriétés
<a name="sam-specification-resources-and-properties"></a>

Cette section décrit les types de ressources et de propriétés spécifiques à. AWS SAM Vous définissez ces ressources et propriétés à l'aide de la AWS SAM syntaxe abrégée. AWS SAM prend également en charge les types de CloudFormation ressources et de propriétés. Pour obtenir des informations de référence sur tous les types de AWS ressources et de propriétés CloudFormation ainsi que sur le AWS SAM support, voir la [référence aux types de AWS ressources et de propriétés](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) dans le *guide de AWS CloudFormation l'utilisateur*.

**Topics**
+ [AWS::Serverless::Api](sam-resource-api.md)
+ [AWS::Serverless::Application](sam-resource-application.md)
+ [AWS::Serverless::CapacityProvider](sam-resource-capacityprovider.md)
+ [AWS::Serverless::Connector](sam-resource-connector.md)
+ [AWS::Serverless::Function](sam-resource-function.md)
+ [AWS::Serverless::GraphQLApi](sam-resource-graphqlapi.md)
+ [AWS::Serverless::HttpApi](sam-resource-httpapi.md)
+ [AWS::Serverless::LayerVersion](sam-resource-layerversion.md)
+ [AWS::Serverless::SimpleTable](sam-resource-simpletable.md)
+ [AWS::Serverless::StateMachine](sam-resource-statemachine.md)

# AWS::Serverless::Api
<a name="sam-resource-api"></a>

Crée un ensemble de ressources et de méthodes Amazon API Gateway qui peuvent être appelées via les points de terminaison HTTPS.

Il n'est pas nécessaire d'ajouter explicitement une [AWS::Serverless::Api](#sam-resource-api) ressource à un modèle de définition d'application AWS sans serveur. Une ressource de ce type est implicitement créée à partir de l'union des événements Api définis su les ressources [AWS::Serverless::Function](sam-resource-function.md) définies dans le modèle qui ne font pas référence à une ressource [AWS::Serverless::Api](#sam-resource-api).

Une [AWS::Serverless::Api](#sam-resource-api) ressource doit être utilisée pour définir et documenter l'API utilisée OpenApi, ce qui permet de mieux configurer les ressources Amazon API Gateway sous-jacentes.

Nous vous recommandons d'utiliser CloudFormation des hooks ou des politiques IAM pour vérifier que les ressources API Gateway sont associées à des autorisateurs afin de contrôler l'accès à celles-ci.

Pour plus d'informations sur l'utilisation CloudFormation des hooks, consultez la section [Enregistrement des hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) dans le *guide de l'utilisateur de la CloudFormation CLI* et dans le [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub référentiel.

Pour plus d'informations sur l'utilisation de politiques IAM, veuillez consulter [Exiger que les routes d'API disposent d'une autorisation](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) dans le *Guide du développeur API Gateway*.

**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](sam-specification-generated-resources.md).

## Syntaxe
<a name="sam-resource-api-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-api-syntax.yaml"></a>

```
Type: AWS::Serverless::Api
Properties:
  [AccessLogSetting](#sam-api-accesslogsetting): [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)
  AlwaysDeploy: Boolean
  [ApiKeySourceType](#sam-api-apikeysourcetype): String
  [Auth](#sam-api-auth): ApiAuth
  [BinaryMediaTypes](#sam-api-binarymediatypes): List
  [CacheClusterEnabled](#sam-api-cacheclusterenabled): Boolean
  [CacheClusterSize](#sam-api-cacheclustersize): String
  [CanarySetting](#sam-api-canarysetting): [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)
  [Cors](#sam-api-cors): String | CorsConfiguration
  [DefinitionBody](#sam-api-definitionbody): JSON
  [DefinitionUri](#sam-api-definitionuri): String | ApiDefinition
  [Description](#sam-api-description): String
  [DisableExecuteApiEndpoint](#sam-api-disableexecuteapiendpoint): Boolean
  [Domain](#sam-api-domain): DomainConfiguration
  [EndpointConfiguration](#sam-api-endpointconfiguration): EndpointConfiguration
  [FailOnWarnings](#sam-api-failonwarnings): Boolean
  [GatewayResponses](#sam-api-gatewayresponses): Map
  MergeDefinitions: Boolean
  [MethodSettings](#sam-api-methodsettings): MethodSettings
  [MinimumCompressionSize](#sam-api-minimumcompressionsize): Integer
  [Mode](#sam-api-mode): String
  [Models](#sam-api-models): Map
  [Name](#sam-api-name): String
  [OpenApiVersion](#sam-api-openapiversion): String
  PropagateTags: Boolean
  [Policy](#sam-api-policy): JSON
  [StageName](#sam-api-stagename): String
  [Tags](#sam-api-tags): Map
  [TracingEnabled](#sam-api-tracingenabled): Boolean
  [Variables](#sam-api-variables): Map
```

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

 `AccessLogSetting`   <a name="sam-api-accesslogsetting"></a>
Configure les réglages d'accès au journal pour une étape.  
*Type :* [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)` propriété d'une `AWS::ApiGateway::Stage` ressource.

 `AlwaysDeploy`   <a name="sam-api-alwaysdeploy"></a>
Déploie toujours l'API, même si aucune modification n'a été détectée.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ApiKeySourceType`   <a name="sam-api-apikeysourcetype"></a>
Source de la clé API pour les demandes de relevé en fonction d'un plan d'utilisation. Les valeurs valides sont `HEADER` et `AUTHORIZER`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ApiKeySourceType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype)` propriété d'une `AWS::ApiGateway::RestApi` ressource.

 `Auth`   <a name="sam-api-auth"></a>
Configurez le mécanisme d'autorisation utilisé pour contrôler l'accès à votre API API Gateway.  
Pour plus d'informations sur la configuration de l'accès à l' AWS SAM aide de[Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md). Pour un exemple montrant comment remplacer un autorisateur global, voir. [Remplacer un mécanisme d'autorisation global pour votre API REST Amazon API Gateway](sam-property-function-apifunctionauth.md#sam-property-function-apifunctionauth--examples--override)  
*Type :* [ApiAuth](sam-property-api-apiauth.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `BinaryMediaTypes`   <a name="sam-api-binarymediatypes"></a>
Liste des types MIME que votre API pourrait renvoyer. Utilisez-le pour activer le support binaire pourAPIs.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[BinaryMediaTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes)` d'une `AWS::ApiGateway::RestApi` ressource. La liste des BinaryMediaTypes est ajoutée à la fois à la CloudFormation ressource et au document OpenAPI.

 `CacheClusterEnabled`   <a name="sam-api-cacheclusterenabled"></a>
Indique si la mise en cache est activée pour l'étape. Pour mettre en cache les réponses, vous devez également définir `CachingEnabled` sur `true` sous `MethodSettings`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CacheClusterEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled)` propriété d'une `AWS::ApiGateway::Stage` ressource.

 `CacheClusterSize`   <a name="sam-api-cacheclustersize"></a>
Taille du cluster de cache de l'environnement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CacheClusterSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize)` propriété d'une `AWS::ApiGateway::Stage` ressource.

 `CanarySetting`   <a name="sam-api-canarysetting"></a>
Configurez un paramètre Canary à une étape d'un déploiement régulier.  
*Type :* [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)` propriété d'une `AWS::ApiGateway::Stage` ressource.

 `Cors`   <a name="sam-api-cors"></a>
Gérez le partage de ressources entre origines (CORS) pour l'ensemble de votre API Gateway. APIs Spécifiez le domaine à autoriser en tant que chaîne ou spécifiez un dictionnaire avec une configuration Cors supplémentaire.   
CORS nécessite AWS SAM de modifier votre définition OpenAPI. Créez une définition OpenAPI intégrée dans `DefinitionBody` le pour activer CORS.
Pour plus d'informations, consultez [Activation de CORS pour une ressource API REST dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) dans le *Guide du développeur API Gateway*.  
*Type* : Chaîne \$1 [CorsConfiguration](sam-property-api-corsconfiguration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `DefinitionBody`   <a name="sam-api-definitionbody"></a>
Spécification OpenAPI qui décrit votre API. Si ni `DefinitionUri`, ni `DefinitionBody` sont spécifiés, SAM générera un `DefinitionBody` pour vous en fonction de la configuration de votre modèle.  
Pour faire référence à un fichier OpenAPI local qui définit votre API, utilisez la macro `AWS::Include` transform. Pour en savoir plus, veuillez consulter la section [Comment AWS SAM télécharge les fichiers locaux](deploy-upload-local-files.md).  
*Type* : JSON  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` d'une `AWS::ApiGateway::RestApi` ressource. Si certaines propriétés sont fournies, le contenu peut être inséré ou modifié dans le DefinitionBody avant d'être transmis à CloudFormation. Les propriétés comprennent un `Auth`, `BinaryMediaTypes`, `Cors`, `GatewayResponses`, `Models`, et un `EventSource` de type Api activée pour une `AWS::Serverless::Function` correspondante.

 `DefinitionUri`   <a name="sam-api-definitionuri"></a>
Amazon S3 Uri, chemin d'accès au fichier local ou objet d'emplacement du document OpenAPI définissant l'API. L'objet Amazon S3 référencé par cette propriété doit être un fichier OpenAPI valide. Si ni `DefinitionUri`, ni `DefinitionBody` sont spécifiés, SAM générera un `DefinitionBody` pour vous en fonction de la configuration de votre modèle.  
Si un chemin d'accès de fichier local est fourni, le modèle doit passer par le flux comprenant la propriété `sam deploy` ou `sam package`, afin que la définition soit correctement transformée.   
Les fonctions intrinsèques ne sont pas prises en charge dans OpenApi les fichiers externes référencés par`DefinitionUri`. Utilisez plutôt la `DefinitionBody` propriété avec la [transformation Include](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) pour importer une OpenApi définition dans le modèle.  
*Type* : Chaîne \$1 [ApiDefinition](sam-property-api-apidefinition.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location)` d'une `AWS::ApiGateway::RestApi` ressource. Les propriétés imbriquées d'Amazon S3 sont nommées différemment.

 `Description`   <a name="sam-api-description"></a>
Une description de la ressource API.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-description)` propriété d'une `AWS::ApiGateway::RestApi` ressource.

 `DisableExecuteApiEndpoint`   <a name="sam-api-disableexecuteapiendpoint"></a>
Spécifie si les clients peuvent appeler votre API à l’aide du point de terminaison `execute-api` par défaut. Par défaut, les clients peuvent appeler votre API avec l'`https://{api_id}.execute-api.{region}.amazonaws.com` par défaut. Pour obliger les clients à utiliser un nom de domaine personnalisé pour appeler votre API, spécifiez `True`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-disableexecuteapiendpoint)` d'une `AWS::ApiGateway::RestApi` ressource. Il est transmis directement à la propriété `disableExecuteApiEndpoint` d'une extension `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)`, qui est ajoutée à la propriété ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` d'une ressource `AWS::ApiGateway::RestApi`.

 `Domain`   <a name="sam-api-domain"></a>
Configure un domaine personnalisé pour cette API Gateway.  
*Type :* [DomainConfiguration](sam-property-api-domainconfiguration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `EndpointConfiguration`   <a name="sam-api-endpointconfiguration"></a>
Type de point de terminaison d'une API REST.  
*Type :* [EndpointConfiguration](sam-property-api-endpointconfiguration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[EndpointConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration)` d'une `AWS::ApiGateway::RestApi` ressource. Les propriétés de configuration imbriquées sont nommées différemment.

 `FailOnWarnings`   <a name="sam-api-failonwarnings"></a>
Indique si la création d'API doit être annulée (`true`) ou non (`false`) lorsqu'un avertissement est rencontré. La valeur par défaut est `false`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings)` propriété d'une `AWS::ApiGateway::RestApi` ressource.

 `GatewayResponses`   <a name="sam-api-gatewayresponses"></a>
Configure les réponses de passerelle pour une API. Les réponses de passerelle sont des réponses renvoyées par API Gateway, directement ou via l'utilisation des mécanismes d'autorisation Lambda. Pour plus d'informations, consultez la documentation de l'[ OpenApi extension Api Gateway pour Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.html).  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `MergeDefinitions`   <a name="sam-api-mergedefinitions"></a>
AWS SAM génère une OpenAPI spécification à partir de la source d'événements de votre API. Spécifiez `true` de le AWS SAM fusionner dans la OpenAPI spécification en ligne définie dans votre `AWS::Serverless::Api` ressource. Spécifiez la valeur `false` pour ne pas fusionner.  
`MergeDefinitions` nécessite la propriété `DefinitionBody` pour que `AWS::Serverless::Api` soit définie. `MergeDefinitions` n'est pas compatible avec la propriété `DefinitionUri` pour `AWS::Serverless::Api`.  
*Valeur par défaut* : `false`  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `MethodSettings`   <a name="sam-api-methodsettings"></a>
Configure tous les paramètres de l'étape API, y compris la journalisation, les métriques, le CacheTL, la limitation.  
*Type* : liste de propriétés [ MethodSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MethodSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings)` propriété d'une `AWS::ApiGateway::Stage` ressource.

 `MinimumCompressionSize`   <a name="sam-api-minimumcompressionsize"></a>
Autoriser la compression des corps de réponse en fonction de l'en-tête Accept-Encoding du client. La compression est déclenchée lorsque la taille du corps de la réponse est supérieure ou égale au seuil configuré. Le seuil de taille maximale du corps est de 10 Mo (10 485 760 octets). - Les types de compression suivants sont pris en charge : gzip, deflate et identity.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MinimumCompressionSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize)` propriété d'une `AWS::ApiGateway::RestApi` ressource.

 `Mode`   <a name="sam-api-mode"></a>
Cette propriété s'applique uniquement lorsque vous utilisez OpenAPI pour définir votre API REST. Le `Mode` détermine comment API Gateway gère les mises à jour des ressources. Pour plus d'informations, consultez la propriété [Mode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode) du type de ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html).  
*Valeurs valides* : `overwrite` ou `merge`  
*Type :* chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Mode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode)` propriété d'une `AWS::ApiGateway::RestApi` ressource.

 `Models`   <a name="sam-api-models"></a>
Les schémas à utiliser par vos méthodes d'API. Ces schémas peuvent être décrits avec JSON ou YAML. Consultez la section Exemples au bas de cette page pour obtenir des exemples de modèles.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Name`   <a name="sam-api-name"></a>
Nom de la RestApi ressource API Gateway  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name)` propriété d'une `AWS::ApiGateway::RestApi` ressource.

 `OpenApiVersion`   <a name="sam-api-openapiversion"></a>
Version de OpenApi à utiliser. Cela peut être soit `2.0` pour la spécification Swagger, soit pour l'une des versions OpenApi 3.0, comme. `3.0.1` Pour plus d'informations sur OpenAPI, consultez [Spécification OpenAPI](https://swagger.io/specification/).  
 AWS SAM crée une étape appelée `Stage` par défaut. La définition de cette propriété sur n'importe quelle valeur valide empêchera la création de l'étape `Stage`. 
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`PropagateTags`  <a name="sam-api-propagatetags"></a>
Indiquez s'il faut ou non transmettre les balises de la propriété `Tags` aux ressources [AWS::Serverless::Api](sam-specification-generated-resources-api.md) que vous avez générées. Spécifiez `True` pour la propagation des balises dans vos ressources générées.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `False`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`Policy`  <a name="sam-api-policy"></a>
Document de politique qui contient les autorisations pour l'API. Pour définir l'ARN de la politique, utilisez la fonction `!Join` intrinsèque avec `""` comme délimiteur et les valeurs `"execute-api:/"` et `"*"`.  
*Type* : JSON  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la propriété [Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy) d'une `AWS::ApiGateway::RestApi` ressource.

 `StageName`   <a name="sam-api-stagename"></a>
Le nom de l'étape qu'API Gateway utilise en tant que premier segment de chemin d'accès dans l'identificateur de ressource uniforme (URI) appelé.  
Pour référencer la ressource de l'étape, utilisez `<api-logical-id>.Stage`. Pour plus d'informations sur le référencement des ressources générées lorsqu'une [AWS::Serverless::Api](#sam-resource-api) est spécifiée, consultez [CloudFormation ressources générées lorsque cela AWS::Serverless::Api est spécifié](sam-specification-generated-resources-api.md). Pour des informations générales sur les CloudFormation ressources générées, consultez[CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename)` d'une `AWS::ApiGateway::Stage` ressource. Elle est requise dans SAM, mais pas dans API Gateway  
*Informations complémentaires* : l'API implicite a un nom d'étape « Prod ».

 `Tags`   <a name="sam-api-tags"></a>
Un mappage (chaîne à chaîne) qui spécifie les balises à ajouter à cette étape API Gateway. Pour plus de détails sur les clés et les valeurs valides pour les étiquettes, voir l'[étiquette Ressource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) dans le *Guide de l'utilisateur AWS CloudFormation *.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags)` d'une `AWS::ApiGateway::Stage` ressource. La propriété Tags dans SAM se compose de paires Key:Value ; CloudFormation elle consiste en une liste d'objets Tag.

 `TracingEnabled`   <a name="sam-api-tracingenabled"></a>
Indique si le suivi actif avec X-Ray est activé pour cette étape. Pour plus d'informations sur X-Ray, consultez la section [Suivi des demandes des utilisateurs vers REST à APIs l'aide de X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) dans le *guide du développeur d'API Gateway*.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TracingEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled)` propriété d'une `AWS::ApiGateway::Stage` ressource.

 `Variables`   <a name="sam-api-variables"></a>
Un mappage (chaîne à chaîne) qui définit les variables de l'étape, où le nom de la variable correspond à la clé et où la valeur de la variable correspond à la valeur. Les noms de variables peuvent uniquement utiliser des caractères alphanumériques. Les valeurs doivent respecter l'expression régulière suivante : `[A-Za-z0-9._~:/?#&=,-]+`.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Variables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables)` propriété d'une `AWS::ApiGateway::Stage` ressource.

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

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

Lorsque l'ID logique de cette ressource est fournie à la fonction intrinsèque `Ref`, elle renvoie l'ID de l'API API Gateway sous-jacente.

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

`RootResourceId`  <a name="RootResourceId-fn::getatt"></a>
ID de ressource racine d'une ressource `RestApi`, comme `a0bc123d4e`.

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

### SimpleApiExample
<a name="sam-resource-api--examples--simpleapiexample"></a>

Un fichier AWS SAM modèle Hello World qui contient une fonction Lambda avec un point de terminaison d'API. Il s'agit d'un fichier AWS SAM modèle complet pour une application sans serveur fonctionnelle.

#### YAML
<a name="sam-resource-api--examples--simpleapiexample--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### ApiCorsExample
<a name="sam-resource-api--examples--apicorsexample"></a>

Un extrait de AWS SAM modèle avec une API définie dans un fichier Swagger externe, ainsi que des intégrations Lambda et des configurations CORS. Il s'agit simplement d'une partie d'un fichier AWS SAM modèle présentant une [AWS::Serverless::Api](#sam-resource-api) définition.

#### YAML
<a name="sam-resource-api--examples--apicorsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      # Allows www.example.com to call these APIs
      # SAM will automatically add AllowMethods with a list of methods for this API
      Cors: "'www.example.com'"
      DefinitionBody: # Pull in an OpenApi definition from S3
        'Fn::Transform':
          Name: 'AWS::Include'
          # Replace "bucket" with your bucket name
          Parameters:
            Location: s3://bucket/swagger.yaml
```

### ApiCognitoAuthExample
<a name="sam-resource-api--examples--apicognitoauthexample"></a>

Extrait de AWS SAM modèle avec une API qui utilise Amazon Cognito pour autoriser les requêtes adressées à l'API. Il s'agit simplement d'une partie d'un fichier AWS SAM modèle présentant une [AWS::Serverless::Api](#sam-resource-api) définition.

#### YAML
<a name="sam-resource-api--examples--apicognitoauthexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors: "'*'"
      Auth:
        DefaultAuthorizer: MyCognitoAuthorizer
        Authorizers:
          MyCognitoAuthorizer:
            UserPoolArn:
              Fn::GetAtt: [MyCognitoUserPool, Arn]
```

### ApiModelsExample
<a name="sam-resource-api--examples--apimodelsexample"></a>

Extrait AWS SAM de modèle avec une API qui inclut un schéma Models. Il ne s'agit que d'une partie d'un fichier AWS SAM modèle présentant une [AWS::Serverless::Api](#sam-resource-api) définition avec deux schémas de modèle.

#### YAML
<a name="sam-resource-api--examples--apimodelsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Models:
        User:
          type: object
          required:
            - username
            - employee_id
          properties:
            username:
              type: string
            employee_id:
              type: integer
            department:
              type: string
        Item:
          type: object
          properties:
            count:
              type: integer
            category:
              type: string
            price:
              type: integer
```

### Exemple de mise en cache
<a name="sam-resource-api--examples--caching-example"></a>

Un fichier AWS SAM modèle Hello World qui contient une fonction Lambda avec un point de terminaison d'API. La mise en cache de l'API est activée pour une ressource et une méthode. Pour plus d'informations sur la mise en cache, veuillez consulter [Activation de la mise en cache des API pour améliorer la réactivité](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) dans le *Guide du développeur API Gateway*.

#### YAML
<a name="sam-resource-api--examples--caching-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition with caching turned on
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      CacheClusterEnabled: true
      CacheClusterSize: '0.5'
      MethodSettings:
        - ResourcePath: /
          HttpMethod: GET
          CachingEnabled: true
          CacheTtlInSeconds: 300
      Tags:
        CacheMethods: All 

  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### Exemple de domaine personnalisé avec une API privée
<a name="sam-resource-api--examples--custom-domain-example"></a>

Un fichier AWS SAM modèle Hello World qui contient une fonction Lambda avec un point de terminaison d'API mappé à un domaine privé. Le modèle crée une association d'accès au domaine entre un point de terminaison VPC et le domaine privé. Pour plus d'informations, consultez la section [Noms de domaine personnalisés pour le domaine privé APIs dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html).

#### YAML
<a name="sam-resource-api--examples--custom-domain-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template configured with a custom domain using a private API

Parameters:
    DomainName:
      Type: String
      Default: mydomain.example.com
    CertificateArn:
      Type: String
    HostedZoneId:
      Type: String
    VpcEndpointId:
      Type: String
    VpcEndpointDomainName:
      Type: String
    VpcEndpointHostedZoneId:
      Type: String

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Handler: index.handler
      Runtime: python3.13
      Events:
        Fetch:
          Type: Api
          Properties:
            RestApiId:
              Ref: MyApi
            Method: Get
            Path: /get
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      EndpointConfiguration:
        Type: PRIVATE
        VPCEndpointIds:
        - !Ref VpcEndpointId
      Policy:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Effect: Allow
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
        - Effect: Deny
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
          Condition:
            StringNotEquals:
              aws:SourceVpce: !Ref VpcEndpointId
      Domain:
        DomainName: !Ref DomainName
        CertificateArn: !Ref CertificateArn
        EndpointConfiguration: PRIVATE
        BasePath:
        - /
        Route53:
          HostedZoneId: !Ref HostedZoneId
          VpcEndpointDomainName: !Ref VpcEndpointDomainName
          VpcEndpointHostedZoneId: !Ref VpcEndpointHostedZoneId
        AccessAssociation:
          VpcEndpointId: !Ref VpcEndpointId
        Policy:
          Version: '2012-10-17		 	 	 '
          Statement:
          - Effect: Allow
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
          - Effect: Deny
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
            Condition:
              StringNotEquals:
                aws:SourceVpce: !Ref VpcEndpointId
```

# ApiAuth
<a name="sam-property-api-apiauth"></a>

Configurez le mécanisme d'autorisation utilisé pour contrôler l'accès à votre API API Gateway.

Pour plus d'informations et des exemples de configuration de l'accès à l' AWS SAM aide de[Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md).

## Syntaxe
<a name="sam-property-api-apiauth-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-property-api-apiauth-syntax.yaml"></a>

```
  AddApiKeyRequiredToCorsPreflight: Boolean
  [AddDefaultAuthorizerToCorsPreflight](#sam-api-apiauth-adddefaultauthorizertocorspreflight): Boolean
  [ApiKeyRequired](#sam-api-apiauth-apikeyrequired): Boolean
  [Authorizers](#sam-api-apiauth-authorizers): CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
  [DefaultAuthorizer](#sam-api-apiauth-defaultauthorizer): String
  [InvokeRole](#sam-api-apiauth-invokerole): String
  [ResourcePolicy](#sam-api-apiauth-resourcepolicy): ResourcePolicyStatement
  [UsagePlan](#sam-api-apiauth-usageplan): ApiUsagePlan
```

**Note**  
La `Authorizers` propriété inclut`AWS_IAM`, mais aucune configuration supplémentaire n'est nécessaire`AWS_IAM`. Pour obtenir un exemple, consultez [AWS IAM](#sam-property-api-apiauth--examples--aws_iam).

## Propriétés
<a name="sam-property-api-apiauth-properties"></a>

 `AddApiKeyRequiredToCorsPreflight`   <a name="sam-api-apiauth-addapikeyrequiredtocorspreflight"></a>
Si les propriétés `ApiKeyRequired` et `Cors` sont définies, alors le fait de définir `AddApiKeyRequiredToCorsPreflight` entraînera l'ajout la clé API à la propriété `Options`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `True`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AddDefaultAuthorizerToCorsPreflight`   <a name="sam-api-apiauth-adddefaultauthorizertocorspreflight"></a>
Si les propriétés `DefaultAuthorizer` et `Cors` sont définies, alors le fait de définir `AddDefaultAuthorizerToCorsPreflight`entraînera l'ajout du mécanisme d'autorisation par défaut à la propriété `Options` dans la section OpenAPI.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Valeur par défaut* : VRAI  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ApiKeyRequired`   <a name="sam-api-apiauth-apikeyrequired"></a>
Si la valeur est définie sur « vrai », une clé d'API est requise pour tous les événements d'API. Pour plus d'informations sur les clés API, consultez [Création et utilisation de plans d'utilisation avec les clés API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) dans le *Guide du développeur API Gateway*.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Authorizers`   <a name="sam-api-apiauth-authorizers"></a>
Le mécanisme d'autorisation utilisé pour contrôler l'accès à votre API API Gateway.  
Pour de plus amples informations, veuillez consulter [Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md).  
*Type* : [CognitoAuthorizer](sam-property-api-cognitoauthorizer.md)\$1 [LambdaTokenAuthorizer](sam-property-api-lambdatokenauthorizer.md)\$1 [LambdaRequestAuthorizer](sam-property-api-lambdarequestauthorizer.md)\$1 AWS\$1IAM  
*Obligatoire* : non  
*Par défaut* : aucun  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Remarques supplémentaires* : SAM ajoute les Autorisateurs à la OpenApi définition d'une API.

 `DefaultAuthorizer`   <a name="sam-api-apiauth-defaultauthorizer"></a>
Spécifiez un autorisateur par défaut pour une API API Gateway, qui sera utilisé pour autoriser les appels d'API par défaut.  
Si l'API EventSource de la fonction associée à cette API est configurée pour utiliser les autorisations IAM, cette propriété doit être définie sur`AWS_IAM`, sinon une erreur se produira.
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : aucun  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `InvokeRole`   <a name="sam-api-apiauth-invokerole"></a>
Définit les informations d'identification d'intégration pour toutes les ressources et méthodes sur cette valeur.  
`CALLER_CREDENTIALS` mappe avec `arn:aws:iam:::<user>/`, qui utilise les informations d'identification de l'appelant pour appeler le point de terminaison.  
*Valeurs valides* : `CALLER_CREDENTIALS`, `NONE`, `IAMRoleArn`  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `CALLER_CREDENTIALS`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ResourcePolicy`   <a name="sam-api-apiauth-resourcepolicy"></a>
Configurez la stratégie de ressources pour toutes les méthodes et chemins d'accès d'une API.  
*Type :* [ResourcePolicyStatement](sam-property-api-resourcepolicystatement.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Informations complémentaires* : ce paramètre peut également être défini sur `AWS::Serverless::Function` à l'aide de [ApiFunctionAuth](sam-property-function-apifunctionauth.md). Ceci est requis pour APIs avec`EndpointConfiguration: PRIVATE`.

 `UsagePlan`   <a name="sam-api-apiauth-usageplan"></a>
Configure un plan d'utilisation associé à cette API. Pour plus d'informations sur les plans d'utilisation, consultez [Création et utilisation de plans d'utilisation avec les clés API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) dans le *Guide du développeur API Gateway*.  
Cette AWS SAM propriété génère trois CloudFormation ressources supplémentaires lorsqu'elle est définie : an [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html), an et an [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html). Pour plus d'informations sur ce scénario, consultez [UsagePlan la propriété est spécifiée](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-usage-plan). Pour des informations générales sur les CloudFormation ressources générées, consultez[CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md).  
*Type :* [ApiUsagePlan](sam-property-api-apiusageplan.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-apiauth--examples"></a>

### CognitoAuth
<a name="sam-property-api-apiauth--examples--cognitoauth"></a>

Exemple de Cognito Auth

#### YAML
<a name="sam-property-api-apiauth--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers:
    MyCognitoAuth:
     UserPoolArn:
       Fn::GetAtt:
         - MyUserPool
         - Arn
     AuthType: "COGNITO_USER_POOLS"
  DefaultAuthorizer: MyCognitoAuth
  InvokeRole: CALLER_CREDENTIALS
  AddDefaultAuthorizerToCorsPreflight: false
  ApiKeyRequired: false
  ResourcePolicy:
    CustomStatements: [{
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "execute-api:/Prod/GET/pets",
      "Condition": {
          "IpAddress": {
              "aws:SourceIp": "1.2.3.4"
          }
        }
    }]
    IpRangeDenylist:
      - "10.20.30.40"
```

### AWS IAM
<a name="sam-property-api-apiauth--examples--aws_iam"></a>

AWS Exemple IAM

#### YAML
<a name="sam-property-api-apiauth--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers: AWS_IAM
```

# ApiUsagePlan
<a name="sam-property-api-apiusageplan"></a>

Configure un plan d'utilisation pour une API API Gateway. Pour plus d'informations sur les plans d'utilisation, consultez [Création et utilisation de plans d'utilisation avec les clés API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) dans le *Guide du développeur API Gateway*.

## Syntaxe
<a name="sam-property-api-apiusageplan-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-property-api-apiusageplan-syntax.yaml"></a>

```
  [CreateUsagePlan](#sam-api-apiusageplan-createusageplan): String
  [Description](#sam-api-apiusageplan-description): String
  [Quota](#sam-api-apiusageplan-quota): [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)
  [Tags](#sam-api-apiusageplan-tags): List
  [Throttle](#sam-api-apiusageplan-throttle): [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)
  [UsagePlanName](#sam-api-apiusageplan-usageplanname): String
```

## Propriétés
<a name="sam-property-api-apiusageplan-properties"></a>

 `CreateUsagePlan`   <a name="sam-api-apiusageplan-createusageplan"></a>
Détermine comment ce plan d'utilisation est configuré. Les valeurs valides sont `PER_API`, `SHARED` et `NONE`.  
`PER_API` crée [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html),[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html), et des ressources [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html) propres à cette API. Ces ressources ont respectivement IDs une logique de `<api-logical-id>UsagePlan` `<api-logical-id>ApiKey``<api-logical-id>UsagePlanKey`, et.  
`SHARED`les [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)créations et [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)les [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)ressources qui sont partagées entre toutes les API figurant également `CreateUsagePlan: SHARED` dans le même AWS SAM modèle. Ces ressources ont respectivement IDs une logique de `ServerlessUsagePlan` `ServerlessApiKey``ServerlessUsagePlanKey`, et. Si vous utilisez cette option, nous vous recommandons d'ajouter une configuration supplémentaire pour ce plan d'utilisation sur une seule ressource API afin d'éviter des définitions conflictuelles et un état incertain.  
`NONE` désactive la création ou l'association d'un plan d'utilisation avec cette API. Ceci n'est nécessaire que si `SHARED` ou `PER_API` est spécifié dans le paramètre [Section « Globales » du modèle AWS SAM](sam-specification-template-anatomy-globals.md).  
*Valeurs valides*: `PER_API`, `SHARED`, et `NONE`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Description`   <a name="sam-api-apiusageplan-description"></a>
Description du plan d'utilisation.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description)` propriété d'une `AWS::ApiGateway::UsagePlan` ressource.

 `Quota`   <a name="sam-api-apiusageplan-quota"></a>
Configure le nombre de demandes que les utilisateurs peuvent soumettre au cours d'un intervalle donné.  
*Type :* [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Quota](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)` propriété d'une `AWS::ApiGateway::UsagePlan` ressource.

 `Tags`   <a name="sam-api-apiusageplan-tags"></a>
Tableau de balises arbitraires (paires clé-valeur) à associer au plan d'utilisation.  
Cette propriété utilise le [type de CloudFormation balise](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags)` propriété d'une `AWS::ApiGateway::UsagePlan` ressource.

 `Throttle`   <a name="sam-api-apiusageplan-throttle"></a>
Configure le taux de demandes global (nombre moyen de demandes par seconde), ainsi que la capacité de transmission en mode rafale.  
*Type :* [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Throttle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)` propriété d'une `AWS::ApiGateway::UsagePlan` ressource.

 `UsagePlanName`   <a name="sam-api-apiusageplan-usageplanname"></a>
Nom pour le plan d'utilisation.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[UsagePlanName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname)` propriété d'une `AWS::ApiGateway::UsagePlan` ressource.

## Exemples
<a name="sam-property-api-apiusageplan--examples"></a>

### UsagePlan
<a name="sam-property-api-apiusageplan--examples--usageplan"></a>

Voici un exemple de plan d'utilisation.

#### YAML
<a name="sam-property-api-apiusageplan--examples--usageplan--yaml"></a>

```
Auth:
  UsagePlan:
    CreateUsagePlan: PER_API
    Description: Usage plan for this API
    Quota:
      Limit: 500
      Period: MONTH
    Throttle:
      BurstLimit: 100
      RateLimit: 50
    Tags:
      - Key: TagName
        Value: TagValue
```

# CognitoAuthorizer
<a name="sam-property-api-cognitoauthorizer"></a>

Définissez un autorisation de groupe d'utilisateurs Amazon Cognito.

Pour plus d’informations et d’exemples, consultez [Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md).

## Syntaxe
<a name="sam-property-api-cognitoauthorizer-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-property-api-cognitoauthorizer-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-api-cognitoauthorizer-authorizationscopes): List
  [Identity](#sam-api-cognitoauthorizer-identity): CognitoAuthorizationIdentity
  [UserPoolArn](#sam-api-cognitoauthorizer-userpoolarn): String
```

## Propriétés
<a name="sam-property-api-cognitoauthorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-api-cognitoauthorizer-authorizationscopes"></a>
Liste des étendues d'autorisation pour cet autorisateur.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Identity`   <a name="sam-api-cognitoauthorizer-identity"></a>
Cette propriété peut être utilisée pour spécifier une `IdentitySource` dans une demande d'autorisation entrante.  
*Type :* [CognitoAuthorizationIdentity](sam-property-api-cognitoauthorizationidentity.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `UserPoolArn`   <a name="sam-api-cognitoauthorizer-userpoolarn"></a>
Peut faire référence à un utilisateur, pool/specify un arn de groupe d'utilisateurs auquel vous souhaitez ajouter cet autorisateur cognito.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-cognitoauthorizer--examples"></a>

### CognitoAuth
<a name="sam-property-api-cognitoauthorizer--examples--cognitoauth"></a>

Exemple d'authentification Cognito

#### YAML
<a name="sam-property-api-cognitoauthorizer--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers:
    MyCognitoAuth:
      AuthorizationScopes:
        - scope1
        - scope2
      UserPoolArn:
        Fn::GetAtt:
          - MyCognitoUserPool
          - Arn
      Identity:
        Header: MyAuthorizationHeader
        ValidationExpression: myauthvalidationexpression
```

# CognitoAuthorizationIdentity
<a name="sam-property-api-cognitoauthorizationidentity"></a>

Cette propriété peut être utilisée pour spécifier un IdentitySource dans une demande entrante pour un autorisateur. Pour plus d'informations, IdentitySource consultez l'[ OpenApi extension ApiGateway Authorizer](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Syntaxe
<a name="sam-property-api-cognitoauthorizationidentity-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-property-api-cognitoauthorizationidentity-syntax.yaml"></a>

```
  [Header](#sam-api-cognitoauthorizationidentity-header): String
  [ReauthorizeEvery](#sam-api-cognitoauthorizationidentity-reauthorizeevery): Integer
  [ValidationExpression](#sam-api-cognitoauthorizationidentity-validationexpression): String
```

## Propriétés
<a name="sam-property-api-cognitoauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-cognitoauthorizationidentity-header"></a>
Spécifiez le nom de l'en-tête pour Authorization dans la OpenApi définition.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : autorisation  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ReauthorizeEvery`   <a name="sam-api-cognitoauthorizationidentity-reauthorizeevery"></a>
Période time-to-live (TTL), en secondes, qui indique la durée pendant laquelle API Gateway met en cache les résultats de l'autorisateur. Si vous définissez une valeur supérieure à 0, API Gateway met en cache les réponses du mécanisme d'autorisation. Par défaut, API Gateway définit cette propriété sur 300. La valeur maximale est 3 600 ou 1 heure.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 300  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ValidationExpression`   <a name="sam-api-cognitoauthorizationidentity-validationexpression"></a>
Spécifiez une expression de validation pour valider l'identité entrante.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-cognitoauthorizationidentity--examples"></a>

### CognitoAuthIdentity
<a name="sam-property-api-cognitoauthorizationidentity--examples--cognitoauthidentity"></a>

#### YAML
<a name="sam-property-api-cognitoauthorizationidentity--examples--cognitoauthidentity--yaml"></a>

```
Identity:
  Header: MyCustomAuthHeader
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
```

# LambdaRequestAuthorizer
<a name="sam-property-api-lambdarequestauthorizer"></a>

Configurez un mécanisme d'autorisation Lambda pour contrôler l'accès à votre API à l'aide d'une fonction Lambda.

Pour plus d’informations et d’exemples, consultez [Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md).

## Syntaxe
<a name="sam-property-api-lambdarequestauthorizer-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-property-api-lambdarequestauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdarequestauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdarequestauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdarequestauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdarequestauthorizer-identity): LambdaRequestAuthorizationIdentity
```

## Propriétés
<a name="sam-property-api-lambdarequestauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdarequestauthorizer-disablefunctiondefaultpermissions"></a>
Spécifiez `true` pour AWS SAM empêcher la création automatique d'une `AWS::Lambda::Permissions` ressource afin de fournir des autorisations entre votre `AWS::Serverless::Api` ressource et la fonction Lambda de l'autorisateur.  
*Valeur par défaut* : `false`  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionArn`   <a name="sam-api-lambdarequestauthorizer-functionarn"></a>
Spécifiez la fonction ARN de la fonction Lambda qui fournit l'autorisation pour l'API.  
AWS SAM créera automatiquement une `AWS::Lambda::Permissions` ressource lorsque cela `FunctionArn` est spécifié pour`AWS::Serverless::Api`. La ressource `AWS::Lambda::Permissions` fournit des autorisations entre votre API et la fonction Lambda du mécanisme d'autorisation.
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionInvokeRole`   <a name="sam-api-lambdarequestauthorizer-functioninvokerole"></a>
Ajoute les informations d'identification de l'autorisateur à la OpenApi définition de l'autorisateur Lambda.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionPayloadType`   <a name="sam-api-lambdarequestauthorizer-functionpayloadtype"></a>
Cette propriété peut être utilisée pour définir le type de mécanisme d'autorisation Lambda pour une API.  
*Valeurs valides* : `TOKEN` ou `REQUEST`  
*Type :* chaîne  
*Obligatoire* : non  
*Par défaut* : `TOKEN`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Identity`   <a name="sam-api-lambdarequestauthorizer-identity"></a>
Cette propriété peut être utilisée pour spécifier une `IdentitySource` dans une demande d'autorisation entrante. Cette propriété n'est requise que si la propriété `FunctionPayloadType` est définie sur `REQUEST`.  
*Type :* [LambdaRequestAuthorizationIdentity](sam-property-api-lambdarequestauthorizationidentity.md)  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-lambdarequestauthorizer--examples"></a>

### LambdaRequestAuth
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth--yaml"></a>

```
Authorizers:
  MyLambdaRequestAuth:
    FunctionPayloadType: REQUEST
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    FunctionInvokeRole:
      Fn::GetAtt:
        - LambdaAuthInvokeRole
        - Arn
    Identity:
      Headers:
        - Authorization1
```

# LambdaRequestAuthorizationIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity"></a>

Cette propriété peut être utilisée pour spécifier un IdentitySource dans une demande entrante pour un autorisateur. Pour plus d'informations, IdentitySource consultez l'[ OpenApi extension ApiGateway Authorizer](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Syntaxe
<a name="sam-property-api-lambdarequestauthorizationidentity-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-property-api-lambdarequestauthorizationidentity-syntax.yaml"></a>

```
  [Context](#sam-api-lambdarequestauthorizationidentity-context): List
  [Headers](#sam-api-lambdarequestauthorizationidentity-headers): List
  [QueryStrings](#sam-api-lambdarequestauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-api-lambdarequestauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-api-lambdarequestauthorizationidentity-stagevariables): List
```

## Propriétés
<a name="sam-property-api-lambdarequestauthorizationidentity-properties"></a>

 `Context`   <a name="sam-api-lambdarequestauthorizationidentity-context"></a>
Convertit les chaînes de contexte données en expressions de mappage de format `context.contextString`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Headers`   <a name="sam-api-lambdarequestauthorizationidentity-headers"></a>
Convertit les en-têtes en chaîne séparée par des virgules d'expressions de mappage de formats `method.request.header.name`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `QueryStrings`   <a name="sam-api-lambdarequestauthorizationidentity-querystrings"></a>
Convertit les chaînes de requête données en chaîne séparée par des virgules d'expressions de mappage de format `method.request.querystring.queryString`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ReauthorizeEvery`   <a name="sam-api-lambdarequestauthorizationidentity-reauthorizeevery"></a>
Période time-to-live (TTL), en secondes, qui indique la durée pendant laquelle API Gateway met en cache les résultats de l'autorisateur. Si vous définissez une valeur supérieure à 0, API Gateway met en cache les réponses du mécanisme d'autorisation. Par défaut, API Gateway définit cette propriété sur 300. La valeur maximale est 3 600 ou 1 heure.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 300  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `StageVariables`   <a name="sam-api-lambdarequestauthorizationidentity-stagevariables"></a>
Convertit les variables d'une étape donnée en chaîne séparée par des virgules d'expressions de mappage de format `stageVariables.stageVariable`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-lambdarequestauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# LambdaTokenAuthorizer
<a name="sam-property-api-lambdatokenauthorizer"></a>

Configurez un mécanisme d'autorisation Lambda pour contrôler l'accès à votre API à l'aide d'une fonction Lambda.

Pour plus d’informations et d’exemples, consultez [Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md).

## Syntaxe
<a name="sam-property-api-lambdatokenauthorizer-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-property-api-lambdatokenauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdatokenauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdatokenauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdatokenauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdatokenauthorizer-identity): LambdaTokenAuthorizationIdentity
```

## Propriétés
<a name="sam-property-api-lambdatokenauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdatokenauthorizer-disablefunctiondefaultpermissions"></a>
Spécifiez `true` pour AWS SAM empêcher la création automatique d'une `AWS::Lambda::Permissions` ressource afin de fournir des autorisations entre votre `AWS::Serverless::Api` ressource et la fonction Lambda de l'autorisateur.  
*Valeur par défaut* : `false`  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionArn`   <a name="sam-api-lambdatokenauthorizer-functionarn"></a>
Spécifiez la fonction ARN de la fonction Lambda qui fournit l'autorisation pour l'API.  
AWS SAM créera automatiquement une `AWS::Lambda::Permissions` ressource lorsque cela `FunctionArn` est spécifié pour`AWS::Serverless::Api`. La ressource `AWS::Lambda::Permissions` fournit des autorisations entre votre API et la fonction Lambda du mécanisme d'autorisation.
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionInvokeRole`   <a name="sam-api-lambdatokenauthorizer-functioninvokerole"></a>
Ajoute les informations d'identification de l'autorisateur à la OpenApi définition de l'autorisateur Lambda.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionPayloadType`   <a name="sam-api-lambdatokenauthorizer-functionpayloadtype"></a>
Cette propriété peut être utilisée pour définir le type de mécanisme d'autorisation Lambda pour une Api.  
*Valeurs valides* : `TOKEN` ou `REQUEST`  
*Type :* chaîne  
*Obligatoire* : non  
*Par défaut* : `TOKEN`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Identity`   <a name="sam-api-lambdatokenauthorizer-identity"></a>
Cette propriété peut être utilisée pour spécifier une `IdentitySource` dans une demande d'autorisation entrante. Cette propriété n'est requise que si la propriété `FunctionPayloadType` est définie sur `REQUEST`.  
*Type :* [LambdaTokenAuthorizationIdentity](sam-property-api-lambdatokenauthorizationidentity.md)  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-lambdatokenauthorizer--examples"></a>

### LambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    Identity:
      Header: MyCustomAuthHeader # OPTIONAL; Default: 'Authorization'
      ValidationExpression: mycustomauthexpression # OPTIONAL
      ReauthorizeEvery: 20 # OPTIONAL; Service Default: 300
```

### BasicLambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
```

# LambdaTokenAuthorizationIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity"></a>

Cette propriété peut être utilisée pour spécifier un IdentitySource dans une demande entrante pour un autorisateur. Pour plus d'informations, IdentitySource consultez l'[ OpenApi extension ApiGateway Authorizer](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Syntaxe
<a name="sam-property-api-lambdatokenauthorizationidentity-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-property-api-lambdatokenauthorizationidentity-syntax.yaml"></a>

```
  [Header](#sam-api-lambdatokenauthorizationidentity-header): String
  [ReauthorizeEvery](#sam-api-lambdatokenauthorizationidentity-reauthorizeevery): Integer
  [ValidationExpression](#sam-api-lambdatokenauthorizationidentity-validationexpression): String
```

## Propriétés
<a name="sam-property-api-lambdatokenauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-lambdatokenauthorizationidentity-header"></a>
Spécifiez le nom de l'en-tête pour Authorization dans la OpenApi définition.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : autorisation  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ReauthorizeEvery`   <a name="sam-api-lambdatokenauthorizationidentity-reauthorizeevery"></a>
Période time-to-live (TTL), en secondes, qui indique la durée pendant laquelle API Gateway met en cache les résultats de l'autorisateur. Si vous définissez une valeur supérieure à 0, API Gateway met en cache les réponses du mécanisme d'autorisation. Par défaut, API Gateway définit cette propriété sur 300. La valeur maximale est 3 600 ou 1 heure.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 300  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ValidationExpression`   <a name="sam-api-lambdatokenauthorizationidentity-validationexpression"></a>
Spécifiez une expression de validation pour valider l'identité entrante.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-lambdatokenauthorizationidentity--examples"></a>

### LambdaTokenIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity--yaml"></a>

```
Identity:
  Header: MyCustomAuthHeader
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
```

# ResourcePolicyStatement
<a name="sam-property-api-resourcepolicystatement"></a>

Configure une stratégie de ressource pour toutes les méthodes et chemins d'accès d'une API. Pour plus d'informations sur les stratégies de ressources, consultez [Contrôle de l'accès à une API avec des stratégies de ressources API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) dans le *Guide du développeur API*.

## Syntaxe
<a name="sam-property-api-resourcepolicystatement-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-property-api-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-api-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-api-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-api-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-api-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-api-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-api-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-api-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-api-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-api-resourcepolicystatement-sourcevpcwhitelist): List
```

## Propriétés
<a name="sam-property-api-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-api-resourcepolicystatement-awsaccountblacklist"></a>
Les AWS comptes à bloquer.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AwsAccountWhitelist`   <a name="sam-api-resourcepolicystatement-awsaccountwhitelist"></a>
Les AWS comptes à autoriser. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `CustomStatements`   <a name="sam-api-resourcepolicystatement-customstatements"></a>
Une liste des instructions de stratégie de ressource personnalisées à appliquer à cette API. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcblacklist"></a>
La liste des clouds privés virtuels (VPCs) à bloquer, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcwhitelist"></a>
La liste des VPCs à autoriser, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpceblacklist"></a>
Liste des points de terminaison VPC à bloquer, où chaque point de terminaison VPC est spécifié comme une référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcewhitelist"></a>
Liste des points de terminaison VPC à autoriser, où chaque point de terminaison VPC est spécifié en tant que référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeBlacklist`   <a name="sam-api-resourcepolicystatement-iprangeblacklist"></a>
L'adresse IP ou les plages d'adresses à bloquer. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeWhitelist`   <a name="sam-api-resourcepolicystatement-iprangewhitelist"></a>
L'adresse IP ou les plages d'adresses à autoriser.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcBlacklist`   <a name="sam-api-resourcepolicystatement-sourcevpcblacklist"></a>
Les points de terminaison VPC ou VPC source à bloquer. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcWhitelist`   <a name="sam-api-resourcepolicystatement-sourcevpcwhitelist"></a>
Les points de terminaison VPC ou VPC source à autoriser. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-resourcepolicystatement--examples"></a>

### Exemples de stratégie basée sur les ressources
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example"></a>

L'exemple suivant bloque deux adresses IP et un VPC source, et autorise un AWS compte.

#### YAML
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# ApiDefinition
<a name="sam-property-api-apidefinition"></a>

Un document OpenAPI définissant l'API.

## Syntaxe
<a name="sam-property-api-apidefinition-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-property-api-apidefinition-syntax.yaml"></a>

```
  [Bucket](#sam-api-apidefinition-bucket): String
  [Key](#sam-api-apidefinition-key): String
  [Version](#sam-api-apidefinition-version): String
```

## Propriétés
<a name="sam-property-api-apidefinition-properties"></a>

 `Bucket`   <a name="sam-api-apidefinition-bucket"></a>
Nom du compartiment Amazon S3 dans lequel le fichier OpenAPI est stocké.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket)` propriété du type de `AWS::ApiGateway::RestApi` `S3Location` données.

 `Key`   <a name="sam-api-apidefinition-key"></a>
La clé Amazon S3 du fichier OpenAPI.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key)` propriété du type de `AWS::ApiGateway::RestApi` `S3Location` données.

 `Version`   <a name="sam-api-apidefinition-version"></a>
Pour les objets versionnés, la version du fichier OpenAPI.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version)` propriété du type de `AWS::ApiGateway::RestApi` `S3Location` données.

## Exemples
<a name="sam-property-api-apidefinition--examples"></a>

### Exemple de définition d'Uri
<a name="sam-property-api-apidefinition--examples--definition-uri-example"></a>

Exemple de définition d'API

#### YAML
<a name="sam-property-api-apidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# CorsConfiguration
<a name="sam-property-api-corsconfiguration"></a>

Gérez le partage de ressources entre origines (CORS) pour votre API Gateway. APIs Spécifiez le domaine à autoriser en tant que chaîne ou spécifiez un dictionnaire avec une configuration Cors supplémentaire.

**Note**  
CORS nécessite AWS SAM de modifier votre définition OpenAPI. Créez une définition OpenAPI intégrée dans `DefinitionBody` le pour activer CORS. Si le `CorsConfiguration` est défini dans la définition d'OpenAPI et également au niveau de la propriété, il les AWS SAM fusionne. Le niveau de propriété est prioritaire sur la définition d'OpenAPI.

Pour plus d'informations, consultez [Activation de CORS pour une ressource API REST dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) dans le *Guide du développeur API Gateway*.

## Syntaxe
<a name="sam-property-api-corsconfiguration-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-property-api-corsconfiguration-syntax.yaml"></a>

```
  [AllowCredentials](#sam-api-corsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-api-corsconfiguration-allowheaders): String
  [AllowMethods](#sam-api-corsconfiguration-allowmethods): String
  [AllowOrigin](#sam-api-corsconfiguration-alloworigin): String
  [MaxAge](#sam-api-corsconfiguration-maxage): String
```

## Propriétés
<a name="sam-property-api-corsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
Booléen indiquant si la requête est autorisée à contenir des informations d'identification.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
Chaîne d'en-têtes à autoriser.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
Chaîne contenant les méthodes HTTP à autoriser.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
Chaîne d'origine à autoriser. Il peut s'agir d'une liste séparée par des virgules au format chaîne.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
Chaîne contenant le nombre de secondes requises pour mettre en cache la demande CORS Preflight.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-corsconfiguration--examples"></a>

### CorsConfiguration
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration"></a>

Exemple de configuration CORS. Il ne s'agit que d'une partie d'un fichier AWS SAM modèle présentant une [AWS::Serverless::Api](sam-resource-api.md) définition avec CORS configuré et un[AWS::Serverless::Function](sam-resource-function.md). Si vous utilisez une intégration de proxy Lambda ou une intégration de proxy HTTP, votre backend doit renvoyer les en-têtes `Access-Control-Allow-Origin``Access-Control-Allow-Methods`, et. `Access-Control-Allow-Headers`

#### YAML
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors:
        AllowMethods: "'POST, GET'"
        AllowHeaders: "'X-Forwarded-For'"
        AllowOrigin: "'https://example.com'"
        MaxAge: "'600'"
        AllowCredentials: true
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        import json
        def handler(event, context):
          return {
          'statusCode': 200,
          'headers': {
            'Access-Control-Allow-Headers': 'Content-Type',
            'Access-Control-Allow-Origin': 'https://example.com',
            'Access-Control-Allow-Methods': 'POST, GET'
            },
          'body': json.dumps('Hello from Lambda!')
          }
```

# DomainConfiguration
<a name="sam-property-api-domainconfiguration"></a>

Configure un domaine personnalisé pour une API.

## Syntaxe
<a name="sam-property-api-domainconfiguration-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-property-api-domainconfiguration-syntax.yaml"></a>

```
  [AccessAssociation](#sam-api-domainconfiguration-domainaccessassociation): DomainAccessAssociation
  [BasePath](#sam-api-domainconfiguration-basepath): List
  [CertificateArn](#sam-api-domainconfiguration-certificatearn): String
  [DomainName](#sam-api-domainconfiguration-domainname): String
  [EndpointConfiguration](#sam-api-domainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-api-domainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)
  [NormalizeBasePath](#sam-api-domainconfiguration-normalizebasepath): Boolean
  [OwnershipVerificationCertificateArn](#sam-api-domainconfiguration-ownershipverificationcertificatearn): String
  [Policy: ](#sam-api-domainconfiguration-policy)Json
  [Route53](#sam-api-domainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-api-domainconfiguration-securitypolicy): String
```

## Propriétés
<a name="sam-property-api-domainconfiguration-properties"></a>

 `AccessAssociation`   <a name="sam-api-domainconfiguration-domainaccessassociation"></a>
Configuration requise pour générer une ` AWS::ApiGateway::DomainNameAccessAssociation` ressource.  
AWS SAM génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html)ressource lorsque cette propriété est définie. Pour plus d'informations sur CloudFormation les ressources générées, consultez[CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md).  
*Type :* [DomainAccessAssociation](sam-property-api-domainaccessassociation.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `BasePath`   <a name="sam-api-domainconfiguration-basepath"></a>
Une liste des chemins de base à configurer avec le nom de domaine Amazon API Gateway.  
*Type* : liste  
*Obligatoire* : non  
*Par défaut* : /  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[BasePath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath)` d'une `AWS::ApiGateway::BasePathMapping` ressource. AWS SAM crée plusieurs `AWS::ApiGateway::BasePathMapping` ressources, une par ressource `BasePath` spécifiée dans cette propriété.

 `CertificateArn`   <a name="sam-api-domainconfiguration-certificatearn"></a>
Le nom de ressource Amazon (ARN) d'un certificat AWS géré est le point de terminaison de ce nom de domaine. AWS Certificate Manager est la seule source prise en charge.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)` d'une `AWS::ApiGateway::DomainName` ressource. S'il `EndpointConfiguration` est défini sur `REGIONAL` (valeur par défaut), il est `CertificateArn` mappé sur [RegionalCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn)in`AWS::ApiGateway::DomainName`. Si le `EndpointConfiguration` est défini sur`EDGE`, `CertificateArn` correspond à [CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)in`AWS::ApiGateway::DomainName`. Si elle `EndpointConfiguration` est définie sur`PRIVATE`, cette propriété est transmise à la ressource [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2).  
*Remarques supplémentaires* : Pour un `EDGE` point de terminaison, vous devez créer le certificat dans la `us-east-1` AWS région.

 `DomainName`   <a name="sam-api-domainconfiguration-domainname"></a>
Le nom de domaine personnalisé pour votre API dans Amazon API Gateway. Les majuscules ne sont pas prises en charge.  
AWS SAM génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)ressource lorsque cette propriété est définie. Pour plus d'informations sur ce scénario, consultez [DomainName la propriété est spécifiée](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-domain-name). Pour plus d'informations sur CloudFormation les ressources générées, consultez[CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname)` propriété d'une `AWS::ApiGateway::DomainName` ressource, ou à [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2)when EndpointConfiguration est définie sur`PRIVATE`.

 `EndpointConfiguration`   <a name="sam-api-domainconfiguration-endpointconfiguration"></a>
Définit le type de point de terminaison API Gateway à mapper au domaine personnalisé. La valeur de cette propriété détermine la manière dont la `CertificateArn` propriété est mappée CloudFormation.  
*Valeurs valides* : `EDGE`, `REGIONAL` ou `PRIVATE`  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `REGIONAL`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `MutualTlsAuthentication`   <a name="sam-api-domainconfiguration-mutualtlsauthentication"></a>
La configuration d'authentification de protocole TLS (Transport Layer Security) mutuelle pour un nom de domaine personnalisé.  
*Type :* [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)` propriété d'une `AWS::ApiGateway::DomainName` ressource.

 `NormalizeBasePath`   <a name="sam-api-domainconfiguration-normalizebasepath"></a>
Indique si les caractères non alphanumériques sont autorisés dans les chemins de base définis par la propriété `BasePath`. Lorsque ce paramètre est défini sur `True`, les caractères non alphanumériques sont supprimés des chemins de base.  
Utilisez `NormalizeBasePath` avec la propriété `BasePath`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Valeur par défaut* : VRAI  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `OwnershipVerificationCertificateArn`   <a name="sam-api-domainconfiguration-ownershipverificationcertificatearn"></a>
 ARN du certificat public que vous avez généré dans pour valider la propriété de votre domaine personnalisé. Obligatoire uniquement lorsque vous configurez le protocole TLS mutuel et que vous précisez un ARN de certificat d'autorité de certification privé ou importé ACM pour le `CertificateArn`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn)` propriété d'une `AWS::ApiGateway::DomainName` ressource.

 `Policy`   <a name="sam-api-domainconfiguration-policy"></a>
La politique IAM à associer au nom de domaine API Gateway. Applicable uniquement lorsque `EndpointConfiguration` ce paramètre est défini sur`PRIVATE`.  
*Type* : Json  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `Policy` propriété d'une `AWS::ApiGateway::DomainNameV2` ressource lorsqu'elle `EndpointConfiguration` est définie sur`PRIVATE`. Pour des exemples de documents de politique valides, voir [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2).

 `Route53`   <a name="sam-api-domainconfiguration-route53"></a>
Définit une configuration Amazon Route 53.  
*Type* : [Route53Configuration](sam-property-api-route53configuration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SecurityPolicy`   <a name="sam-api-domainconfiguration-securitypolicy"></a>
Version du protocole TLS plus suite de chiffrement pour ce nom de domaine.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy)` propriété d'une `AWS::ApiGateway::DomainName` ressource, ou à [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2)when `EndpointConfiguration` est définie sur`PRIVATE`. Pour les `PRIVATE` points de terminaison, seul le TLS\$11\$12 est pris en charge.

## Exemples
<a name="sam-property-api-domainconfiguration--examples"></a>

### DomainName
<a name="sam-property-api-domainconfiguration--examples--domainname"></a>

DomainName exemple

#### YAML
<a name="sam-property-api-domainconfiguration--examples--domainname--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# DomainAccessAssociation
<a name="sam-property-api-domainaccessassociation"></a>

Configure une association d'accès au domaine entre une source d'association d'accès et un nom de domaine personnalisé privé. La seule source d'association d'accès prise en charge est un identifiant de point de terminaison VPC. Pour plus d'informations, consultez la section [Noms de domaine personnalisés pour le domaine privé APIs dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html).

## Syntaxe
<a name="sam-property-api-domainaccessassociation-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-property-api-domainaccessassociation-syntax.yaml"></a>

```
 VpcEndpointId: String
```

## Propriétés
<a name="sam-property-api-domainaccessassociation-properties"></a>

 `VpcEndpointId`   <a name="sam-api-domainaccessassociation-vpcendpointid"></a>
ID de point de terminaison du point de terminaison de l'interface VPC associé au service VPC API Gateway.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ AccessAssociationSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsource)` propriété d'une `AWS::ApiGateway::DomainNameAccessAssociation` ressource.

# Route53Configuration
<a name="sam-property-api-route53configuration"></a>

Configure les ensembles d'enregistrements Route53 pour une API.

## Syntaxe
<a name="sam-property-api-route53configuration-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-property-api-route53configuration-syntax.yaml"></a>

```
  [DistributionDomainName](#sam-api-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-api-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-api-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-api-route53configuration-hostedzonename): String
  [IpV6](#sam-api-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
  VpcEndpointDomainName: String
  VpcEndpointHostedZoneId: String
```

## Propriétés
<a name="sam-property-api-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-api-route53configuration-distributiondomainname"></a>
Configure une distribution personnalisée du nom de domaine personnalisé de l'API.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : utilisez la distribution API Gateway.  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` propriété d'une `AWS::Route53::RecordSetGroup AliasTarget` ressource.  
*Remarques supplémentaires* : nom de domaine d'une [CloudFrontdistribution](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html).

 `EvaluateTargetHealth`   <a name="sam-api-route53configuration-evaluatetargethealth"></a>
Lorsque cela EvaluateTargetHealth est vrai, un enregistrement d'alias hérite de l'état de la AWS ressource référencée, comme un équilibreur de charge Elastic Load Balancing ou un autre enregistrement de la zone hébergée.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` propriété d'une `AWS::Route53::RecordSetGroup AliasTarget` ressource.  
*Remarques supplémentaires* : vous ne pouvez pas EvaluateTargetHealth définir la valeur true lorsque l'alias cible est une CloudFront distribution.

 `HostedZoneId`   <a name="sam-api-route53configuration-hostedzoneid"></a>
ID de la zone hébergée dans laquelle vous souhaitez créer des enregistrements.  
Spécifiez `HostedZoneName` ou `HostedZoneId`, mais pas les deux. Si plusieurs zones hébergées portent le même nom de domaine, vous devez spécifier la zone hébergée à l'aide de la valeur `HostedZoneId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` propriété d'une `AWS::Route53::RecordSetGroup RecordSet` ressource.

 `HostedZoneName`   <a name="sam-api-route53configuration-hostedzonename"></a>
Nom de la zone hébergée dans laquelle vous souhaitez créer des enregistrements.  
Spécifiez `HostedZoneName` ou `HostedZoneId`, mais pas les deux. Si plusieurs zones hébergées portent le même nom de domaine, vous devez spécifier la zone hébergée à l'aide de la valeur `HostedZoneId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` propriété d'une `AWS::Route53::RecordSetGroup RecordSet` ressource.

 `IpV6`   <a name="sam-api-route53configuration-ipv6"></a>
Lorsque cette propriété est définie, elle AWS SAM crée une `AWS::Route53::RecordSet` ressource et attribue à [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) `AAAA` la valeur fournie HostedZone.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`Region`  <a name="sam-api-route53configuration-region"></a>
*Ensembles d'enregistrements de ressources basés sur la latence uniquement* : EC2 région Amazon dans laquelle vous avez créé la ressource à laquelle ce jeu d'enregistrements de ressources fait référence. La ressource est généralement une AWS ressource, telle qu'une EC2 instance ou un équilibreur de charge ELB, à laquelle il est fait référence par une adresse IP ou un nom de domaine DNS, selon le type d'enregistrement.  
Lorsqu'Amazon Route 53 reçoit une requête DNS pour un nom et un type de domaine pour lesquels vous avez créé des ensembles d'enregistrements de ressources de latence, Route 53 sélectionne le jeu d'enregistrements de ressources de latence présentant la latence la plus faible entre l'utilisateur final et la EC2 région Amazon associée. Route 53 renvoie ensuite la valeur associée à l'ensemble d'enregistrements de ressource sélectionné.  
Notez ce qui suit :  
+ Vous pouvez uniquement spécifier un `ResourceRecord` par ensemble d'enregistrements de ressource de latence.
+ Vous ne pouvez créer qu'un seul ensemble d'enregistrements de ressources de latence pour chaque EC2 région Amazon.
+ Vous n'êtes pas obligé de créer des ensembles d'enregistrements de ressources de latence pour toutes les EC2 régions Amazon. Route 53 choisit la région dotée de la meilleure latence parmi les régions pour lesquelles vous créez des ensembles d'enregistrements de ressource de latence.
+ Vous ne pouvez pas créer des ensembles d'enregistrements de ressource sans latence ayant les mêmes valeurs pour les éléments `Name` et `Type` que celles des ensembles d'enregistrements de ressource de latence.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` propriété d'un type de `AWS::Route53::RecordSetGroup` `RecordSet` données.

`SetIdentifier`  <a name="sam-api-route53configuration-setidentifier"></a>
*Ensembles d'enregistrements de ressource ayant une politique de routage autre que simple :* un identificateur qui se différencie parmi plusieurs ensembles d'enregistrements de ressource ayant la même combinaison de nom et de type, comme plusieurs ensembles d'enregistrements de ressource pondérés nommés acme.example.com ayant un type A. Dans un groupe d'ensembles d'enregistrements de ressource ayant les mêmes nom et type, la valeur `SetIdentifier` doit être unique pour chaque ensemble d'enregistrements de ressource.  
Pour de plus amples informations sur les politiques de routage, veuillez consulter [Choix d'une politique de routage](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) dans le *Guide du développeur Amazon Route 53*.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` propriété d'un type de `AWS::Route53::RecordSetGroup` `RecordSet` données.

`VpcEndpointDomainName`  <a name="sam-api-route53configuration-vpcendpointdomainname"></a>
Nom DNS du point de terminaison de l'interface VPC associé au service VPC API Gateway. Cette propriété est requise uniquement pour les domaines privés.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` propriété d'un `AWS::Route53::RecordSet` `AliasTarget` champ.

`VpcEndpointHostedZoneId`  <a name="sam-api-route53configuration-vpcendpointhostedzoneid"></a>
ID de zone hébergée du point de terminaison de l'interface VPC associé au service VPC API Gateway. Cette propriété est requise uniquement pour les domaines privés.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` propriété d'un `AWS::Route53::RecordSet` `AliasTarget` champ.

## Exemples
<a name="sam-property-api-route53configuration--examples"></a>

### Exemple de base
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example"></a>

Dans cet exemple, nous configurons un domaine personnalisé et des ensembles d'enregistrements Route 53 pour notre API.

#### YAML
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Domain:
        DomainName: www.example.com
        CertificateArn: arn:aws:acm:us-east-1:123456789012:certificate/abcdef12-3456-7890-abcd-ef1234567890
        EndpointConfiguration: REGIONAL
        Route53:
          HostedZoneId: ABCDEFGHIJKLMNOP
```

# EndpointConfiguration
<a name="sam-property-api-endpointconfiguration"></a>

Type de point de terminaison d'une API REST.

## Syntaxe
<a name="sam-property-api-endpointconfiguration-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-property-api-endpointconfiguration-syntax.yaml"></a>

```
  [IpAddressType](#sam-api-endpointconfiguration-ipaddresstype): String
  [Type](#sam-api-endpointconfiguration-type): String
  [VPCEndpointIds](#sam-api-endpointconfiguration-vpcendpointids): List
```

## Propriétés
<a name="sam-property-api-endpointconfiguration-properties"></a>

 `IpAddressType`   <a name="sam-api-endpointconfiguration-ipaddresstype"></a>
Les types d'adresses IP qui peuvent appeler une API (RestApi).  
*Valeurs valides* : `ipv4` ou `dualstack`  
*Type :* chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[IpAddressType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-ipaddresstype)` propriété du type de `AWS::ApiGateway::RestApi` `EndpointConfiguration` données.

 `Type`   <a name="sam-api-endpointconfiguration-type"></a>
Type de point de terminaison d'une API REST.  
*Valeurs valides* : `EDGE`, `REGIONAL` ou `PRIVATE`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Types](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types)` propriété du type de `AWS::ApiGateway::RestApi` `EndpointConfiguration` données.

 `VPCEndpointIds`   <a name="sam-api-endpointconfiguration-vpcendpointids"></a>
Liste des points de terminaison VPC IDs d'une API REST par rapport auxquels créer des alias Route53.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[VpcEndpointIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids)` propriété du type de `AWS::ApiGateway::RestApi` `EndpointConfiguration` données.

## Exemples
<a name="sam-property-api-endpointconfiguration--examples"></a>

### EndpointConfiguration
<a name="sam-property-api-endpointconfiguration--examples--endpointconfiguration"></a>

Exemple de configuration de point de terminaison

#### YAML
<a name="sam-property-api-endpointconfiguration--examples--endpointconfiguration--yaml"></a>

```
EndpointConfiguration:
  Type: PRIVATE
  VPCEndpointIds:
    - vpce-123a123a
    - vpce-321a321a
```

# AWS::Serverless::Application
<a name="sam-resource-application"></a>

Intègre une application sans serveur à partir du [AWS Serverless Application Repository](https://serverlessrepo.aws.amazon.com/applications) ou à partir d'un compartiment Amazon S3 comme application imbriquée. Les applications imbriquées sont déployées en tant que ressources[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html), qui peuvent contenir plusieurs autres ressources, y compris d'autres ressources [AWS::Serverless::Application](#sam-resource-application).

**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](sam-specification-generated-resources.md).

## Syntaxe
<a name="sam-resource-application-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-application-syntax.yaml"></a>

```
Type: AWS::Serverless::Application
Properties:
  [Location](#sam-application-location): String | ApplicationLocationObject
  [NotificationARNs](#sam-application-notificationarns): List
  [Parameters](#sam-application-parameters): Map
  [Tags](#sam-application-tags): Map
  [TimeoutInMinutes](#sam-application-timeoutinminutes): Integer
```

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

 `Location`   <a name="sam-application-location"></a>
URL du modèle, chemin d'accès au fichier ou objet d'emplacement d'une application imbriquée.  
Si une URL de modèle est fournie, elle doit suivre le format spécifié dans la [CloudFormation TemplateUrl documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl) et contenir un modèle valide CloudFormation ou SAM. Une [ApplicationLocationObject](sam-property-application-applicationlocationobject.md) peut être utilisée pour spécifier une application qui a été publiée dans le [AWS Serverless Application Repository](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/what-is-serverlessrepo.html).  
Si un chemin d'accès de fichier local est fourni, le modèle doit passer par le flux comprenant la propriété `sam deploy` ou `sam package`, afin que l'application soit correctement transformée.  
*Type* : Chaîne \$1 [ApplicationLocationObject](sam-property-application-applicationlocationobject.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[TemplateURL](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl)` d'une `AWS::CloudFormation::Stack` ressource. La CloudFormation version ne nécessite pas de fichier [ApplicationLocationObject](sam-property-application-applicationlocationobject.md) pour récupérer une application depuis le AWS Serverless Application Repository.

 `NotificationARNs`   <a name="sam-application-notificationarns"></a>
Une liste des rubriques Amazon SNS existantes dans lesquelles les notifications relatives aux événements de la pile sont envoyées.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[NotificationARNs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-notificationarns)` propriété d'une `AWS::CloudFormation::Stack` ressource.

 `Parameters`   <a name="sam-application-parameters"></a>
Valeurs des paramètres de l'application.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Parameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-parameters)` propriété d'une `AWS::CloudFormation::Stack` ressource.

 `Tags`   <a name="sam-application-tags"></a>
Un mappage (chaîne à chaîne) qui spécifie les balises à ajouter à cette application. Les clés et les valeurs sont limitées aux caractères alphanumériques. Les clés peuvent comporter de 1 à 127 caractères Unicode en longueur et ne peut pas être précédée de « aws: ». Les valeurs de balise doivent comporter de 1 à 255 caractères Unicode en longueur.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-tags)` d'une `AWS::CloudFormation::Stack` ressource. La propriété Tags dans SAM se compose de paires Key:Value ; CloudFormation elle consiste en une liste d'objets Tag. Lorsque la pile est créée, SAM ajoute automatiquement une balise `lambda:createdBy:SAM` à cette application. De plus, si cette application provient du AWS Serverless Application Repository, SAM ajoutera automatiquement les deux balises supplémentaires `serverlessrepo:applicationId:ApplicationId` et`serverlessrepo:semanticVersion:SemanticVersion`.

 `TimeoutInMinutes`   <a name="sam-application-timeoutinminutes"></a>
Durée, en minutes, pendant laquelle CloudFormation la pile imbriquée doit atteindre cet état. `CREATE_COMPLETE` La valeur par défaut m'inclut pas d'expiration. Lorsqu'il CloudFormation détecte que la pile imbriquée a atteint `CREATE_COMPLETE` cet état, il marque la ressource de pile imbriquée comme étant `CREATE_COMPLETE` dans la pile parent et reprend la création de la pile parent. Si le délai expire avant que la pile imbriquée n'atteigne son objectif`CREATE_COMPLETE`, CloudFormation marque la pile imbriquée comme ayant échoué et annule à la fois la pile imbriquée et la pile parent.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TimeoutInMinutes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-timeoutinminutes)` propriété d'une `AWS::CloudFormation::Stack` ressource.

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

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

Lorsque l'ID logique de cette ressource est fournie à la fonction intrinsèque `Ref`, elle renvoie le nom de la ressource `AWS::CloudFormation::Stack` sous-jacente.

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

`Outputs.ApplicationOutputName`  <a name="Outputs.ApplicationOutputName-fn::getatt"></a>
La valeur de la sortie de la pile avec le nom`ApplicationOutputName`.

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

### Application SAR
<a name="sam-resource-application--examples--sar-application"></a>

Application qui utilise un modèle à partir du Serverless Application Repository

#### YAML
<a name="sam-resource-application--examples--sar-application--yaml"></a>

```
Type: AWS::Serverless::Application
Properties:
  Location:
    ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application'
    SemanticVersion: 1.0.0
  Parameters:
    StringParameter: parameter-value
    IntegerParameter: 2
```

### Application normale
<a name="sam-resource-application--examples--normal-application"></a>

Application à partir d'une URL S3

#### YAML
<a name="sam-resource-application--examples--normal-application--yaml"></a>

```
Type: AWS::Serverless::Application
Properties:
  Location: https://s3.amazonaws.com/sam-s3-demo-bucket/template.yaml
```

# ApplicationLocationObject
<a name="sam-property-application-applicationlocationobject"></a>

Une application qui a été publiée dans le [AWS Serverless Application Repository](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/what-is-serverlessrepo.html).

## Syntaxe
<a name="sam-property-application-applicationlocationobject-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-property-application-applicationlocationobject-syntax.yaml"></a>

```
  [ApplicationId](#sam-application-applicationlocationobject-applicationid): String
  [SemanticVersion](#sam-application-applicationlocationobject-semanticversion): String
```

## Propriétés
<a name="sam-property-application-applicationlocationobject-properties"></a>

 `ApplicationId`   <a name="sam-application-applicationlocationobject-applicationid"></a>
Amazon Resource Name (ARN) de l'application.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SemanticVersion`   <a name="sam-application-applicationlocationobject-semanticversion"></a>
Version sémantique de l'application.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-application-applicationlocationobject--examples"></a>

### mon-application
<a name="sam-property-application-applicationlocationobject--examples--my-application"></a>

Exemple d'objet d'emplacement d'application

#### YAML
<a name="sam-property-application-applicationlocationobject--examples--my-application--yaml"></a>

```
Location:
  ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application'
  SemanticVersion: 1.0.0
```

# AWS::Serverless::CapacityProvider
<a name="sam-resource-capacityprovider"></a>

 Crée un fournisseur de capacité pour les AWS Lambda fonctions qui permettent d'exécuter des instances gérées Lambda sur des instances Amazon Elastic Compute Cloud appartenant au client. Cette ressource fait partie de la fonctionnalité Lambda Managed Instances, qui permet d'optimiser les coûts pour les charges de travail Lambda à grande échelle en utilisant les modèles de tarification Amazon. EC2 

 Le fournisseur de capacité gère le cycle de vie des EC2 instances Amazon et fournit l'infrastructure nécessaire pour que les fonctions Lambda s'exécutent sur les ressources informatiques appartenant au client tout en conservant le modèle de programmation sans serveur. 

**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](sam-specification-generated-resources.md). 

## Syntaxe
<a name="sam-resource-capacityprovider-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-capacityprovider-syntax.yaml"></a>

```
Type: AWS::Serverless::CapacityProvider
Properties:
  [CapacityProviderName](#sam-capacityprovider-capacityprovidername): String
  [VpcConfig](#sam-capacityprovider-vpcconfig): VpcConfig
  [OperatorRole](#sam-capacityprovider-operatorrole): String
  [Tags](#sam-capacityprovider-tags): Map
  [PropagateTags](#sam-capacityprovider-propagatetags): Boolean
  [InstanceRequirements](#sam-capacityprovider-instancerequirements): InstanceRequirements
  [ScalingConfig](#sam-capacityprovider-scalingconfig): ScalingConfig
  [KmsKeyArn](#sam-capacityprovider-kmskeyarn): String
```

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

 `CapacityProviderName`   <a name="sam-capacityprovider-capacityprovidername"></a>
Nom du fournisseur de capacité. Ce nom doit être unique au sein de votre AWS compte et de votre région.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CapacityProviderName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityprovidername)` propriété d'une `AWS::Lambda::CapacityProvider` ressource. 

 `VpcConfig`   <a name="sam-capacityprovider-vpcconfig"></a>
Configuration VPC pour le fournisseur de capacité. Spécifie les sous-réseaux VPC et les groupes de sécurité sur lesquels les EC2 instances Amazon seront lancées.  
*Type :* [VpcConfig](sam-property-capacityprovider-vpcconfig.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` propriété d'une `AWS::Lambda::CapacityProvider` ressource. 

 `OperatorRole`   <a name="sam-capacityprovider-operatorrole"></a>
 L'ARN du rôle d'opérateur pour Lambda avec les autorisations nécessaires pour créer et gérer les EC2 instances Amazon et les ressources associées dans le compte client. Si ce n'est pas le cas, il génère AWS SAM automatiquement un rôle avec les autorisations nécessaires.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[CapacityProviderOperatorRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpermissionsconfig.html#cfn-lambda-capacityprovider-capacityproviderpermissionsconfig-capacityprovideroperatorrolearn)` propriété `[PermissionsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-permissionsconfig)` d'une `AWS::Lambda::CapacityProvider` ressource. 

 `Tags`   <a name="sam-capacityprovider-tags"></a>
Carte des paires clé-valeur à appliquer au fournisseur de capacité et à ses ressources associées.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-tags)` propriété d'une `AWS::Lambda::CapacityProvider` ressource. La `Tags` propriété in AWS SAM se compose de paires clé-valeur (alors que dans CloudFormation cette propriété se compose d'une liste d'objets Tag). Ajoute également 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. 

 `PropagateTags`   <a name="sam-capacityprovider-propagatetags"></a>
 Indique s'il faut ou non transmettre les balises de la propriété Tags aux ressources que vous `AWS::Serverless::CapacityProvider` avez générées. Définissez ce paramètre sur `True` pour propager les balises dans les ressources que vous avez générées.   
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `InstanceRequirements`   <a name="sam-capacityprovider-instancerequirements"></a>
 Spécifications relatives aux types d'instances de calcul que le fournisseur de capacité peut utiliser. Cela inclut les exigences d'architecture `allowed` et/ou les types d'`excluded`instances.  
*Type :* [InstanceRequirements](sam-property-capacityprovider-instancerequirements.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` propriété d'une `AWS::Lambda::CapacityProvider` ressource. 

 `ScalingConfig`   <a name="sam-capacityprovider-scalingconfig"></a>
 Configuration de mise à l'échelle pour le fournisseur de capacité. Définit la manière dont le fournisseur de capacité adapte EC2 les instances Amazon en fonction de la demande.  
*Type :* [ScalingConfig](sam-property-capacityprovider-scalingconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` propriété d'une `AWS::Lambda::CapacityProvider` ressource. 

 `KmsKeyArn`   <a name="sam-capacityprovider-kmskeyarn"></a>
L'ARN de la AWS KMS clé utilisée pour chiffrer les données au repos et en transit pour le fournisseur de capacité.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-kmskeyarn)` propriété d'une `AWS::Lambda::CapacityProvider` ressource. 

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

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

Lorsque l'identifiant logique de cette ressource est fourni à la fonction `Ref` intrinsèque, elle renvoie le nom du fournisseur de capacité.

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

`Arn`  <a name="Arn-fn::getatt"></a>
L'ARN du fournisseur de capacité.

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

### Fournisseur de capacité de base
<a name="sam-resource-capacityprovider-examples-basic"></a>

L'exemple suivant crée un fournisseur de capacité de base avec une configuration VPC.

```
MyCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: my-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    Tags:
      Environment: Production
      Team: ServerlessTeam
```

### Fournisseur de capacité avancé avec évolutivité
<a name="sam-resource-capacityprovider-examples-advanced"></a>

L'exemple suivant crée un fournisseur de capacité avec des exigences d'instance personnalisées et une configuration de dimensionnement.

```
AdvancedCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: advanced-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    OperatorRole: arn:aws:iam::123456789012:role/MyCapacityProviderRole
    PropagateTags: true
    InstanceRequirements:
      Architectures:
        - x86_64
      ExcludedTypes:
        - t2.micro
    ScalingConfig:
      MaxInstanceCount: 10
      ManualScalingPolicies:
        AverageCPUUtilization: 70.0
    KmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
    Tags:
      Environment: Production
      CostCenter: Engineering
```

# VpcConfig
<a name="sam-property-capacityprovider-vpcconfig"></a>

Configure les paramètres VPC d'un fournisseur de capacité, y compris les sous-réseaux et les groupes de sécurité sur EC2 lesquels les instances seront lancées.

## Syntaxe
<a name="sam-property-capacityprovider-vpcconfig-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-property-capacityprovider-vpcconfig-syntax.yaml"></a>

```
[SubnetIds](#sam-capacityprovider-vpcconfig-subnetids): List
[SecurityGroupIds](#sam-capacityprovider-vpcconfig-securitygroupids): List
```

## Propriétés
<a name="sam-property-capacityprovider-vpcconfig-properties"></a>

 `SubnetIds`   <a name="sam-capacityprovider-vpcconfig-subnetids"></a>
Liste des sous-réseaux IDs dans lesquels EC2 les instances seront lancées. Au moins un sous-réseau doit être spécifié.  
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[SubnetIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-subnetids)` propriété `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig) ` d'une `AWS::Lambda::CapacityProvider` ressource. 

 `SecurityGroupIds`   <a name="sam-capacityprovider-vpcconfig-securitygroupids"></a>
Liste des groupes de sécurité IDs à associer aux EC2 instances. S'il n'est pas spécifié, le groupe de sécurité par défaut du VPC sera utilisé.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[SecurityGroupIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-securitygroupids)` `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` propriété d'une `AWS::Lambda::CapacityProvider` ressource. 

## Exemples
<a name="sam-property-capacityprovider-vpcconfig-examples"></a>

### Configuration VPC
<a name="sam-property-capacityprovider-vpcconfig-examples-basic"></a>

L'exemple suivant montre une configuration VPC avec plusieurs sous-réseaux et groupes de sécurité.

```
VpcConfig:
  SubnetIds:
    - subnet-12345678
    - subnet-87654321
  SecurityGroupIds:
    - sg-12345678
    - sg-87654321
```

# InstanceRequirements
<a name="sam-property-capacityprovider-instancerequirements"></a>

Spécifie les exigences relatives aux EC2 instances qui seront lancées par le fournisseur de capacité, y compris les architectures et les contraintes de type d'instance.

## Syntaxe
<a name="sam-property-capacityprovider-instancerequirements-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-property-capacityprovider-instancerequirements-syntax.yaml"></a>

```
[Architectures](#sam-capacityprovider-instancerequirements-architectures): List
[AllowedTypes](#sam-capacityprovider-instancerequirements-allowedtypes): List
[ExcludedTypes](#sam-capacityprovider-instancerequirements-excludedtypes): List
```

**Note**  
Vous pouvez choisir de spécifier l'une `AllowedTypes` ou l'autre des exigences d'instance pour votre fournisseur de capacité ou `ExcludedTypes` lors de la définition des exigences en matière d'instance, mais pas les deux.

## Propriétés
<a name="sam-property-capacityprovider-instancerequirements-properties"></a>

 `Architectures`   <a name="sam-capacityprovider-instancerequirements-architectures"></a>
Les architectures du jeu d'instructions pour les instances du fournisseur de capacité.  
*Valeurs valides* : `x86_64` ou `arm64`  
*Type* : liste  
*Obligatoire* : non  
*Par défaut* : `x86_64`  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-architectures)` propriété `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` d'une `AWS::Lambda::CapacityProvider` ressource. 

 `AllowedTypes`   <a name="sam-capacityprovider-instancerequirements-allowedtypes"></a>
Liste des types d' EC2 instances autorisés pour l'instance du fournisseur de capacité.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[AllowedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-allowedinstancetypes)` propriété `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` d'une `AWS::Lambda::CapacityProvider` ressource. 

 `ExcludedTypes`   <a name="sam-capacityprovider-instancerequirements-excludedtypes"></a>
Liste des types d' EC2 instances à exclure du fournisseur de capacité.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[ExcludedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-excludedinstancetypes)` propriété `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` d'une `AWS::Lambda::CapacityProvider` ressource. 

## Exemples
<a name="sam-property-capacityprovider-instancerequirements-examples"></a>

### Configuration des exigences de l'instance
<a name="sam-property-capacityprovider-instancerequirements-examples-basic"></a>

L'exemple suivant montre les exigences d'une instance avec des contraintes d'architecture et de type d'instance spécifiques.

```
InstanceRequirements:
  Architectures:
    - x86_64
  ExcludedTypes:
    - t2.micro
```

# ScalingConfig
<a name="sam-property-capacityprovider-scalingconfig"></a>

Configure la manière dont le fournisseur de capacité fait évoluer les EC2 instances en fonction de la demande, y compris les limites maximales d'instances et les politiques de dimensionnement.

## Syntaxe
<a name="sam-property-capacityprovider-scalingconfig-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-property-capacityprovider-scalingconfig-syntax.yaml"></a>

```
[MaxVCpuCount](#sam-capacityprovider-scalingconfig-maxvcpucount): Integer
[AverageCPUUtilization](#sam-capacityprovider-scalingconfig-averagecpuutilization): Double
```

## Propriétés
<a name="sam-property-capacityprovider-scalingconfig-properties"></a>

 `MaxVCpuCount`   <a name="sam-capacityprovider-scalingconfig-maxvcpucount"></a>
Le nombre maximum de v CPUs que le fournisseur de capacité peut fournir sur toutes les instances de calcul.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la `[MaxVCpuCount](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-maxvcpucount)` propriété `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` d'une `AWS::Lambda::CapacityProvider` ressource. 

 `AverageCPUUtilization`   <a name="sam-capacityprovider-scalingconfig-averagecpuutilization"></a>
Pourcentage moyen d'utilisation du processeur cible (0 à 100) pour les décisions de dimensionnement. Lorsque l'utilisation moyenne du processeur dépasse ce seuil, le fournisseur de capacité augmente le volume EC2 des instances Amazon. Lorsque cela est spécifié, AWS SAM construit `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` une `AWS::Lambda::CapacityProvider` ressource avec les valeurs `[ScalingMode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingmode)` set to `'Manual'` et `[ScalingPolicies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingpolicies)` set to`[{PredefinedMetricType: 'LambdaCapacityProviderAverageCPUUtilization', TargetValue: <this value>}]`.   
*Type* : double  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent. 

## Exemples
<a name="sam-property-capacityprovider-scalingconfig-examples"></a>

### Configuration de la mise à l'échelle
<a name="sam-property-capacityprovider-scalingconfig-examples-basic"></a>

L'exemple suivant montre une configuration de dimensionnement avec un VCpu nombre maximal et une utilisation moyenne du processeur.

```
ScalingConfig:
  MaxVCpuCount: 10
  AverageCPUUtilization: 70.0
```

# AWS::Serverless::Connector
<a name="sam-resource-connector"></a>

Configure les autorisations entre deux ressources. Pour obtenir une présentation des connecteurs, veuillez consulter [Gestion des autorisations relatives aux ressources à l'aide de AWS SAM connecteurs](managing-permissions-connectors.md).

Pour plus d'informations sur les AWS CloudFormation ressources générées, consultez[CloudFormation ressources générées lorsque vous spécifiez AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).

Pour fournir des commentaires sur les connecteurs, [soumettez un nouveau problème](https://github.com/aws/serverless-application-model/issues/new?assignees=&labels=area%2Fconnectors,stage%2Fneeds-triage&template=other.md&title=%28Feature%20Request%29) dans le *serverless-application-model AWS GitHub référentiel*.

**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](sam-specification-generated-resources.md).

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

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez l'une des syntaxes suivantes.

**Note**  
Nous vous recommandons d'utiliser la syntaxe des connecteurs intégrés dans la plupart des cas d'utilisation. Le fait d'être intégré à la ressource source facilite sa lecture et sa maintenance au fil du temps. Lorsque vous devez référencer une ressource source qui ne figure pas dans le même AWS SAM modèle, telle qu'une ressource dans une pile imbriquée ou une ressource partagée, utilisez la `AWS::Serverless::Connector` syntaxe.

### Connecteurs intégrés
<a name="sam-resource-connector-syntax-embedded"></a>

```
<source-resource-logical-id>:
  Connectors:
    <connector-logical-id:
      Properties:
        [Destination](#sam-connector-destination): ResourceReference | List of ResourceReference
        [Permissions](#sam-connector-permissions): List
        [SourceReference](#sam-connector-sourcereference): SourceReference
```

### AWS::Serverless::Connector
<a name="sam-resource-connector-syntax-connector"></a>

```
Type: AWS::Serverless::Connector
Properties:
  [Destination](#sam-connector-destination): ResourceReference | List of ResourceReference
  [Permissions](#sam-connector-permissions): List
  [Source](#sam-connector-source): ResourceReference
```

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

 `Destination`   <a name="sam-connector-destination"></a>
Ressource de destination.  
*Type* : [ResourceReference](sam-property-connector-resourcereference.md)\$1 Liste des [ResourceReference](sam-property-connector-resourcereference.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Permissions`   <a name="sam-connector-permissions"></a>
Type d'autorisation que la ressource source est autorisée à exécuter sur la ressource de destination.  
`Read`inclut des actions Gestion des identités et des accès AWS (IAM) qui permettent de lire les données de la ressource.  
`Write` inclut des actions IAM qui permettent de lancer et d'écrire des données dans une ressource.  
*Valeurs valides* : `Read` ou `Write`  
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Source`   <a name="sam-connector-source"></a>
Ressource source. Obligatoire lors de l'utilisation de la syntaxe `AWS::Serverless::Connector`.  
*Type :* [ResourceReference](sam-property-connector-resourcereference.md)  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceReference`   <a name="sam-connector-sourcereference"></a>
Ressource source.  
À utiliser avec la syntaxe des connecteurs intégrés lors de la définition de propriétés supplémentaires pour la ressource source.
*Type :* [SourceReference](sam-property-connector-sourcereference.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

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

### Connecteurs intégrés
<a name="sam-resource-connector-examples-embedded"></a>

L'exemple suivant utilise des connecteurs intégrés pour définir une connexion de données `Write` entre une fonction AWS Lambda et un tableau Amazon DynamoDB :

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyTable:
    Type: AWS::Serverless::SimpleTable
  MyFunction:
    Type: AWS::Serverless::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Write
    ...
```

L'exemple suivant utilise des connecteurs intégrés pour définir les autorisations `Read` et `Write` :

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

L'exemple suivant utilise des connecteurs intégrés pour définir une ressource source avec une propriété autre que la propriété `Id` :

```
Transform: AWS::Serverless-2016-10-31
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Connectors:
      ApitoLambdaConn:
        Properties:
          SourceReference:
            Qualifier: Prod/GET/foobar
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

### AWS::Serverless::Connector
<a name="sam-resource-connector--examples-connector"></a>

L'exemple suivant utilise la [AWS::Serverless::Connector](#sam-resource-connector) ressource pour lire et écrire une AWS Lambda fonction dans une table Amazon DynamoDB :

```
MyConnector:
  Type: AWS::Serverless::Connector
  Properties:
    Source:
      Id: MyFunction
    Destination:
      Id: MyTable
    Permissions:
      - Read
      - Write
```

L'exemple suivant utilise la ressource [AWS::Serverless::Connector](#sam-resource-connector) pour qu'une fonction Lambda écrive dans une rubrique Amazon SNS, avec les deux ressources dans le même modèle :

```
MyConnector:
  Type: AWS::Serverless::Connector
  Properties:
    Source:
      Id: MyLambda
    Destination:
      Id: MySNSTopic
    Permissions:
      - Write
```

L'exemple suivant utilise la ressource [AWS::Serverless::Connector](#sam-resource-connector) pour qu'une rubrique Amazon SNS écrive dans une fonction Lambda, qui écrit à son tour dans un tableau Amazon DynamoDB, avec toutes les ressources dans le même modèle  :

```
Transform: AWS::Serverless-2016-10-31
Resources:
  Topic:
    Type: AWS::SNS::Topic
    Properties:
      Subscription:
        - Endpoint: !GetAtt Function.Arn
          Protocol: lambda

  Function:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs16.x
      Handler: index.handler
      InlineCode: |
        const AWS = require('aws-sdk');
        exports.handler = async (event, context) => {
          const docClient = new AWS.DynamoDB.DocumentClient();
          await docClient.put({ 
            TableName: process.env.TABLE_NAME, 
            Item: {
              id: context.awsRequestId,
              event: JSON.stringify(event)
            }
          }).promise();
        };
      Environment:
        Variables:
          TABLE_NAME: !Ref Table

  Table:
    Type: AWS::Serverless::SimpleTable

  TopicToFunctionConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: 
        Id: Topic
      Destination: 
        Id: Function
      Permissions:
        - Write

  FunctionToTableConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: 
        Id: Function
      Destination: 
        Id: Table
      Permissions:
        - Write
```

Le AWS CloudFormation modèle transformé de l'exemple ci-dessus est le suivant :

```
"FunctionToTableConnectorPolicy": {
  "Type": "AWS::IAM::ManagedPolicy",
  "Metadata": {
    "aws:sam:connectors": {
      "FunctionToTableConnector": {
        "Source": {
          "Type": "AWS::Lambda::Function"
        },
        "Destination": {
          "Type": "AWS::DynamoDB::Table"
        }
      }
    }
  },
  "Properties": {
    "PolicyDocument": {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "dynamodb:PutItem",
            "dynamodb:UpdateItem",
            "dynamodb:DeleteItem",
            "dynamodb:BatchWriteItem",
            "dynamodb:PartiQLDelete",
            "dynamodb:PartiQLInsert",
            "dynamodb:PartiQLUpdate"
          ],
          "Resource": [
            {
              "Fn::GetAtt": [
                "MyTable",
                "Arn"
              ]
            },
            {
              "Fn::Sub": [
                "${DestinationArn}/index/*",
                {
                  "DestinationArn": {
                    "Fn::GetAtt": [
                      "MyTable",
                      "Arn"
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "Roles": [
      {
        "Ref": "MyFunctionRole"
      }
    ]
  }
}
```

# ResourceReference
<a name="sam-property-connector-resourcereference"></a>

Référence à une ressource utilisée par le type de ressource [AWS::Serverless::Connector](sam-resource-connector.md).

**Note**  
Pour les ressources du même modèle, fournissez l'`Id`. Pour les ressources qui ne se trouvent pas dans le même modèle, utilisez une combinaison d'autres propriétés. Pour de plus amples informations, veuillez consulter [AWS SAM référence du connecteur](reference-sam-connector.md).

## Syntaxe
<a name="sam-property-connector-resourcereference-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-property-connector-resourcereference-syntax.yaml"></a>

```
  [Arn](#sam-connector-resourcereference-arn): String
  [Id](#sam-connector-resourcereference-id): String
  [Name](#sam-connector-resourcereference-name): String
  [Qualifier](#sam-connector-resourcereference-qualifier): String
  [QueueUrl](#sam-connector-resourcereference-queueurl): String
  [ResourceId](#sam-connector-resourcereference-resourceid): String
  [RoleName](#sam-connector-resourcereference-rolename): String
  [Type](#sam-connector-resourcereference-type): String
```

## Propriétés
<a name="sam-property-connector-resourcereference-properties"></a>

 `Arn`   <a name="sam-connector-resourcereference-arn"></a>
ARN d'une ressource.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Id`   <a name="sam-connector-resourcereference-id"></a>
[ID logique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) d'une ressource dans le même modèle.  
Lorsque cela `Id` est spécifié, si le connecteur génère des politiques Gestion des identités et des accès AWS (IAM), le rôle IAM associé à ces politiques sera déduit de la ressource. `Id` Lorsque la propriété `Id` n'est pas spécifiée, renseignez la propriété `RoleName` de la ressource permettant aux connecteurs d'attacher les politiques IAM générées à un rôle IAM.
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Name`   <a name="sam-connector-resourcereference-name"></a>
Nom d'une ressource.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Qualifier`   <a name="sam-connector-resourcereference-qualifier"></a>
Qualificateur d'une ressource qui réduit sa portée. `Qualifier` remplace la valeur `*` à la fin d'une contrainte de ressource ARN. Pour obtenir un exemple, consultez [Appel d'une fonction Lambda par API Gateway](#sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function).  
La définition du qualificateur varie selon le type de ressource. Pour obtenir la liste des types de ressource source et de destination pris en charge, consultez [AWS SAM référence du connecteur](reference-sam-connector.md).
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `QueueUrl`   <a name="sam-connector-resourcereference-queueurl"></a>
URL de la file d'attente Amazon SQS. Cette propriété s'applique uniquement aux ressources Amazon SQS.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ResourceId`   <a name="sam-connector-resourcereference-resourceid"></a>
ID d'une ressource. Par exemple, l'ID de l'API API Gateway.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RoleName`   <a name="sam-connector-resourcereference-rolename"></a>
Nom du rôle associé à une ressource.  
Quand la propriété `Id` est spécifiée, si le connecteur génère des politiques IAM, le rôle IAM associé à ces politiques est déduit de la ressource `Id`. Lorsque la propriété `Id` n'est pas spécifiée, renseignez la propriété `RoleName` de la ressource permettant aux connecteurs d'attacher les politiques IAM générées à un rôle IAM.
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Type`   <a name="sam-connector-resourcereference-type"></a>
 CloudFormation Type de ressource. Pour de plus amples informations, veuillez consulter la [Référence des types de propriété et de ressource AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html).  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-connector-resourcereference--examples"></a>

### Appel d'une fonction Lambda par API Gateway
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function"></a>

L'exemple suivant utilise la [AWS::Serverless::Connector](sam-resource-connector.md) ressource pour autoriser Amazon API Gateway à appeler une AWS Lambda fonction.

#### YAML
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function--yaml"></a>

```
Transform: AWS::Serverless-2016-10-31
Resources:
  MyRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Effect: Allow
            Action: sts:AssumeRole
            Principal:
              Service: lambda.amazonaws.com
      ManagedPolicyArns:
        - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Role: !GetAtt MyRole.Arn
      Runtime: nodejs16.x
      Handler: index.handler
      Code:
        ZipFile: |
          exports.handler = async (event) => {
            return {
              statusCode: 200,
              body: JSON.stringify({
                "message": "It works!"
              }),
            };
          };

  MyApi:
    Type: AWS::ApiGatewayV2::Api
    Properties:
      Name: MyApi
      ProtocolType: HTTP

  MyStage:
    Type: AWS::ApiGatewayV2::Stage
    Properties:
      ApiId: !Ref MyApi
      StageName: prod
      AutoDeploy: True

  MyIntegration:
    Type: AWS::ApiGatewayV2::Integration
    Properties:
      ApiId: !Ref MyApi
      IntegrationType: AWS_PROXY
      IntegrationUri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyFunction.Arn}/invocations
      IntegrationMethod: POST
      PayloadFormatVersion: "2.0"

  MyRoute:
    Type: AWS::ApiGatewayV2::Route
    Properties:
      ApiId: !Ref MyApi
      RouteKey: GET /hello
      Target: !Sub integrations/${MyIntegration}

  MyConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: # Use 'Id' when resource is in the same template
        Type: AWS::ApiGatewayV2::Api
        ResourceId: !Ref MyApi
        Qualifier: prod/GET/hello # Or "*" to allow all routes
      Destination: # Use 'Id' when resource is in the same template
        Type: AWS::Lambda::Function
        Arn: !GetAtt MyFunction.Arn
      Permissions:
        - Write

Outputs:
  Endpoint:
    Value: !Sub https://${MyApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/prod/hello
```

# SourceReference
<a name="sam-property-connector-sourcereference"></a>

Référence à une ressource source utilisée par le type de ressource [AWS::Serverless::Connector](sam-resource-connector.md).

## Syntaxe
<a name="sam-property-connector-sourcereference-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-property-connector-sourcereference-syntax.yaml"></a>

```
[Qualifier](#sam-connector-sourcereference-qualifier): String
```

## Propriétés
<a name="sam-property-connector-sourcereference-properties"></a>

 `Qualifier`   <a name="sam-connector-sourcereference-qualifier"></a>
Qualificateur d'une ressource qui réduit sa portée. `Qualifier` remplace la valeur `*` à la fin d'une contrainte de ressource ARN.  
La définition du qualificateur varie selon le type de ressource. Pour obtenir la liste des types de ressource source et de destination pris en charge, consultez [AWS SAM référence du connecteur](reference-sam-connector.md).
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-connector-sourcereference--examples"></a>

**L'exemple suivant utilise des connecteurs intégrés pour définir une ressource source avec une propriété autre que`Id` :**

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Connectors:
      ApitoLambdaConn:
        Properties:
          SourceReference:
            Qualifier: Prod/GET/foobar
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

# AWS::Serverless::Function
<a name="sam-resource-function"></a>

Crée une AWS Lambda fonction, un rôle d'exécution Gestion des identités et des accès AWS (IAM) et des mappages de sources d'événements qui déclenchent la fonction.

La [AWS::Serverless::Function](#sam-resource-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](building-custom-runtimes.md).

**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](sam-specification-generated-resources.md).

## Syntaxe
<a name="sam-resource-function-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-function-syntax.yaml"></a>

```
Type: AWS::Serverless::Function
Properties:
  [Architectures](#sam-function-architectures): List
  [AssumeRolePolicyDocument](#sam-function-assumerolepolicydocument): JSON
  [AutoPublishAlias](#sam-function-autopublishalias): String
  AutoPublishAliasAllProperties: Boolean
  [AutoPublishCodeSha256](#sam-function-autopublishcodesha256): String
  [CapacityProviderConfig](#sam-function-capacityproviderconfig): CapacityProviderConfig
  [CodeSigningConfigArn](#sam-function-codesigningconfigarn): String
  [CodeUri](#sam-function-codeuri): String | FunctionCode
  [DeadLetterQueue](#sam-function-deadletterqueue): Map | DeadLetterQueue
  [DeploymentPreference](#sam-function-deploymentpreference): DeploymentPreference
  [Description](#sam-function-description): String
  [DurableConfig](#sam-function-durableconfig): DurableConfig
  [Environment](#sam-function-environment): [Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)
  [EphemeralStorage](#sam-function-ephemeralstorage): [EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)
  [EventInvokeConfig](#sam-function-eventinvokeconfig): EventInvokeConfiguration
  [Events](#sam-function-events): EventSource
  [FileSystemConfigs](#sam-function-filesystemconfigs): List
  [FunctionName](#sam-function-functionname): String
  [FunctionScalingConfig](#sam-function-functionscalingconfig): FunctionScalingConfig
  [FunctionUrlConfig](#sam-function-functionurlconfig): FunctionUrlConfig
  [Handler](#sam-function-handler): String
  [ImageConfig](#sam-function-imageconfig): [ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)
  [ImageUri](#sam-function-imageuri): String
  [InlineCode](#sam-function-inlinecode): String
  [KmsKeyArn](#sam-function-kmskeyarn): String
  [Layers](#sam-function-layers): List
  LoggingConfig: [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)
  [MemorySize](#sam-function-memorysize): Integer
  [PackageType](#sam-function-packagetype): String
  [PermissionsBoundary](#sam-function-permissionsboundary): String
  [Policies](#sam-function-policies): String | List | Map
  [PublishToLatestPublished](#sam-function-publishtolatestpublished): Boolean
  PropagateTags: Boolean
  [ProvisionedConcurrencyConfig](#sam-function-provisionedconcurrencyconfig): [ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)
  RecursiveLoop: String
  [ReservedConcurrentExecutions](#sam-function-reservedconcurrentexecutions): Integer
  [Role](#sam-function-role): String
  [RolePath](#sam-function-rolepath): String
  [Runtime](#sam-function-runtime): String
  RuntimeManagementConfig: [RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)
  SnapStart: [SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)
  [SourceKMSKeyArn](#sam-function-sourcekmskeyarn): String
  [Tags](#sam-function-tags): Map
  [TenancyConfig](#sam-function-tenancyconfig): TenancyConfig
  [Timeout](#sam-function-timeout): Integer
  [Tracing](#sam-function-tracing): String
  [VersionDescription](#sam-function-versiondescription): String
  [VersionDeletionPolicy](#sam-function-versiondeletionpolicy): String
  [VpcConfig](#sam-function-vpcconfig): [VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)
```

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

 `Architectures`   <a name="sam-function-architectures"></a>
Architecture du jeu d'instructions de la fonction.  
Pour en savoir plus sur cette propriété, consultez [Architectures du jeu d'instructions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html) dans le*guide du développeur AWS Lambda *.  
*Valeurs valides* : Une de `x86_64` ou `arm64`  
*Type* : liste  
*Obligatoire* : non  
*Par défaut* : `x86_64`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-architectures)` propriété d'une `AWS::Lambda::Function` ressource.

 `AssumeRolePolicyDocument`   <a name="sam-function-assumerolepolicydocument"></a>
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  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[AssumeRolePolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-assumerolepolicydocument)` d'une `AWS::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`   <a name="sam-function-autopublishalias"></a>
Le nom de l'alias Lambda. Pour plus d'informations sur l'utilisation des alias Lambda, consultez [Alias de fonction Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) 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](automating-updates-to-serverless-apps.md).  
AWS SAM génère [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)et fournit [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)des ressources lorsque cette propriété est définie. Pour plus d'informations sur ce scénario, consultez [AutoPublishAlias la propriété est spécifiée](sam-specification-generated-resources-function.md#sam-specification-generated-resources-function-autopublishalias). Pour des informations générales sur les CloudFormation ressources générées, consultez[CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md).  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AutoPublishAliasAllProperties`   <a name="sam-function-autopublishaliasallproperties"></a>
Spécifie quand une nouvelle version [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html) est créée. Lorsque l'option est `true`, une nouvelle version Lambda est créée lorsqu'une propriété de la fonction Lambda est modifiée. Lorsque l'option est `false`, une nouvelle version Lambda est créée uniquement lorsque l'une des propriétés suivantes est modifiée :  
+ `Environment`, `MemorySize`, ou `SnapStart`.
+ Toute modification entraînant une mise à jour de la propriété du `Code`, telle que `CodeDict`, `ImageUri` ou `InlineCode`.
Cette propriété nécessite que `AutoPublishAlias` soit défini.  
Si `AutoPublishCodeSha256` est également spécifié, son comportement est prioritaire sur `AutoPublishAliasAllProperties: true`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Valeur par défaut* : `false`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AutoPublishCodeSha256`   <a name="sam-function-autopublishcodesha256"></a>
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 la `CodeUri` propriété reste inchangée (par opposition au téléchargement du nouveau package de déploiement vers un nouvel emplacement Amazon S3 et `CodeUri` 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 dans[Déploiement progressif d'applications sans serveur avec AWS SAM](automating-updates-to-serverless-apps.md))
+ La `AutoPublishAlias` propriété est définie et ne change pas entre les déploiements
+ La `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  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `CapacityProviderConfig`   <a name="sam-function-capacityproviderconfig"></a>
Configure le fournisseur de capacité auquel les versions publiées de la fonction seront associées. Cela permet à la fonction de s'exécuter sur des instances EC2 appartenant au client et gérées par des instances gérées par Lambda.  
*Type :* [CapacityProviderConfig](sam-property-function-capacityproviderconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : SAM aplatit la propriété transmise à la `[CapacityProviderConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-capacityproviderconfig)` propriété d'une `AWS::Lambda::Function` ressource et reconstruit la structure imbriquée.

 `CodeSigningConfigArn`   <a name="sam-function-codesigningconfigarn"></a>
L'ARN de la ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html), 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](authoring-codesigning.md).  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CodeSigningConfigArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-codesigningconfigarn)` propriété d'une `AWS::Lambda::Function` ressource.

 `CodeUri`   <a name="sam-function-codeuri"></a>
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](sam-property-function-functioncode.md).
Si vous fournissez l'URI Amazon S3 d'une fonction ou l'objet [FunctionCode](sam-property-function-functioncode.md), vous devez référencer un [package de déploiement Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) 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 télécharge les fichiers locaux lors du déploiement](deploy-upload-local-files.md).  
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-languageextensions.html).
*Type* : [ chaîne de caractères \$1 [FunctionCode](sam-property-function-functioncode.md) ]  
*Obligatoire :* selon les conditions. Lorsque `PackageType` est défini sur `Zip`, un `CodeUri` ou un `InlineCode` est requis.  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[ Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code)` d'une `AWS::Lambda::Function` ressource. Les propriétés imbriquées d'Amazon S3 sont nommées différemment.

 `DeadLetterQueue`   <a name="sam-function-deadletterqueue"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq) dans le *Guide du développeur AWS Lambda *.  
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](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) de la fonction et pas pour les files d'attente source d'événement.
*Type* : Carte \$1 [DeadLetterQueue](sam-property-function-deadletterqueue.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html)` d'une `AWS::Lambda::Function` ressource. Dans CloudFormation le type est dérivé du`TargetArn`, tandis que dans AWS SAM vous devez transmettre le type avec le`TargetArn`.

 `DeploymentPreference`   <a name="sam-function-deploymentpreference"></a>
Les paramètres permettant d’activer les déploiements Lambda progressifs.  
Si un `DeploymentPreference` objet est spécifié, AWS SAM crée un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)appelé `ServerlessDeploymentApplication` (un par pile), un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)appelé `<function-logical-id>DeploymentGroup` et un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)appelé`CodeDeployServiceRole`.  
*Type :* [DeploymentPreference](sam-property-function-deploymentpreference.md)  
*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](automating-updates-to-serverless-apps.md).

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

 `DurableConfig`   <a name="sam-function-durableconfig"></a>
Configuration pour des fonctions durables. Permet une exécution dynamique avec des fonctionnalités de point de contrôle et de rediffusion automatiques.  
*Type :* [DurableConfig](sam-property-function-durableconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Environment`   <a name="sam-function-environment"></a>
La configuration de l'environnement d'exécution.  
*Type* : [Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)` propriété d'une `AWS::Lambda::Function` ressource.

 `EphemeralStorage`   <a name="sam-function-ephemeralstorage"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html) dans le *Guide du développeur AWS Lambda *.  
*Type :* [EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)` propriété d'une `AWS::Lambda::Function` ressource.

 `EventInvokeConfig`   <a name="sam-function-eventinvokeconfig"></a>
L'objet qui décrit l'événement appelle la configuration sur une fonction Lambda.  
*Type :* [EventInvokeConfiguration](sam-property-function-eventinvokeconfiguration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Events`   <a name="sam-function-events"></a>
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](sam-property-function-eventsource.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FileSystemConfigs`   <a name="sam-function-filesystemconfigs"></a>
Liste des [FileSystemConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html)objets 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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html), vous devez également préciser un `DependsOn` attribut 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 `[FileSystemConfigs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs)` propriété d'une `AWS::Lambda::Function` ressource.

 `FunctionName`   <a name="sam-function-functionname"></a>
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 `[FunctionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname)` propriété d'une `AWS::Lambda::Function` ressource.

 `FunctionScalingConfig`   <a name="sam-function-functionscalingconfig"></a>
Configure le comportement de dimensionnement des fonctions Lambda exécutées sur des fournisseurs de capacité. Définit le nombre minimal et maximal d'environnements d'exécution.  
*Type :* [FunctionScalingConfig](sam-property-function-functionscalingconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FunctionScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig)` propriété d'une `AWS::Lambda::Function` ressource.

 `FunctionUrlConfig`   <a name="sam-function-functionurlconfig"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) dans le *guide du AWS Lambda développeur*.  
*Type :* [FunctionUrlConfig](sam-property-function-functionurlconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Handler`   <a name="sam-function-handler"></a>
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 sur `Zip`.  
*Type :* chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Handler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler)` propriété d'une `AWS::Lambda::Function` ressource.

 `ImageConfig`   <a name="sam-function-imageconfig"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html) du *Guide du développeur AWS Lambda *.  
*Type :* [ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)` propriété d'une `AWS::Lambda::Function` ressource.

 `ImageUri`   <a name="sam-function-imageuri"></a>
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 sur `Image`, sinon, elle est ignorée. Pour plus d'informations, consultez la section [Utilisation d'images de conteneur avec Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html) dans le *Guide du développeur AWS Lambda *.  
Si la `PackageType` propriété est définie sur`Image`, l'une des deux `ImageUri` est obligatoire ou vous devez créer votre application avec `Metadata` les 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](serverless-sam-cli-using-build.md).
Créer votre application avec les `Metadata` nécessaires, les entrées sont prioritaires sur `ImageUri`, donc si vous précisez les deux, alors `ImageUri` sera ignoré.  
*Type :* chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ImageUri](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri)` propriété du type de `AWS::Lambda::Function` `Code` données.

 `InlineCode`   <a name="sam-function-inlinecode"></a>
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 sur `Zip`, sinon, elle est ignorée.  
Si la propriété `PackageType` est définie sur `Zip` (par défaut), alors l'un des `CodeUri` ou `InlineCode` est requis.
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ZipFile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile)` propriété du type de `AWS::Lambda::Function` `Code` données.

 `KmsKeyArn`   <a name="sam-function-kmskeyarn"></a>
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 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn)` propriété d'une `AWS::Lambda::Function` ressource.

 `Layers`   <a name="sam-function-layers"></a>
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 à un `LayerVersion` will sera `!Ref MyLayer` alors qu'un ARN complet incluant la version le sera`arn:aws:lambda:region:account-id:layer:layer-name:version`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Layers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-layers)` propriété d'une `AWS::Lambda::Function` ressource.

 `LoggingConfig`   <a name="sam-function-loggingconfig"></a>
Les paramètres de configuration Amazon CloudWatch Logs de la fonction.  
*Type :* [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig)propriété d'une `AWS::Lambda::Function` ressource.

 `MemorySize`   <a name="sam-function-memorysize"></a>
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 `[MemorySize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize)` propriété d'une `AWS::Lambda::Function` ressource.

 `PackageType`   <a name="sam-function-packagetype"></a>
Le package de déploiement de la fonction Lambda. Pour plus d'informations, consultez [Packages de déploiement M Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) dans le *Guide du développeur AWS Lambda *.  
**Remarques** :  
1. Si cette propriété est définie sur `Zip`(par défaut), alors soit `CodeUri` ou `InlineCode`s'applique, et `ImageUri` est ignoré.  
2. Si cette propriété est définie sur `Image`, alors uniquement `ImageUri` s'applique, et `CodeUri` et `InlineCode` sont 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](sam-cli-command-reference-sam-deploy.md).  
*Valeurs valides* : `Zip` ou `Image`  
*Type :* chaîne  
*Obligatoire* : non  
*Par défaut* : `Zip`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[PackageType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-packagetype)` propriété d'une `AWS::Lambda::Function` ressource.

 `PermissionsBoundary`   <a name="sam-function-permissionsboundary"></a>
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 `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` propriété d'une `AWS::IAM::Role` ressource.

 `Policies`   <a name="sam-function-policies"></a>
Politiques d'autorisation pour cette fonction. Les politiques seront ajoutées au rôle d'exécution par défaut Gestion des identités et des accès AWS (IAM) de la fonction.  
Cette propriété accepte une valeur unique ou une liste de valeurs. Les valeurs autorisées sont les suivantes :  
+ [Modèles de politique AWS SAM](serverless-policy-templates.md).
+ L'ARN d'une [politique gérée par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou d'une [politique gérée par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies).
+ Le nom d'une politique AWS gérée dans la [liste](https://github.com/aws/serverless-application-model/blob/develop/samtranslator/internal/data/aws_managed_policies.json) suivante.
+ Une [politique IAM en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) formatée dans YAML sous forme de mappage.
Si vous définissez la propriété `Role`, cette propriété est ignorée.
*Type* : chaîne \$1 liste \$1 carte  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Policies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-policies)` d'une `AWS::IAM::Role` ressource.

 `PublishToLatestPublished`   <a name="sam-function-publishtolatestpublished"></a>
Spécifie s'il faut publier la dernière version de la fonction lors de la mise à jour de la fonction.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[PublishToLatestPublished](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-publishtolatestpublished)` propriété d'une `AWS::Lambda::Function` ressource.

`PropagateTags`  <a name="sam-function-propagatetags"></a>
Indiquez s'il faut ou non transmettre les balises de la propriété `Tags` aux ressources [AWS::Serverless::Function](sam-specification-generated-resources-function.md) que vous avez générées. Spécifiez `True` pour la propagation des balises dans vos ressources générées.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `False`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ProvisionedConcurrencyConfig`   <a name="sam-function-provisionedconcurrencyconfig"></a>
La configuration de la simultanéité allouée pour l'alias d'une fonction.  
`ProvisionedConcurrencyConfig` peut être spécifiée uniquement si `AutoPublishAlias` est définie. Si vous ne le faites pas, une erreur se produit.
*Type :* [ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)` propriété d'une `AWS::Lambda::Alias` ressource.

 `RecursiveLoop`   <a name="sam-function-recursiveloop"></a>
É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  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RecursiveLoop](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-recursiveloop)` propriété de la `AWS::Lambda::Function` ressource.

 `ReservedConcurrentExecutions`   <a name="sam-function-reservedconcurrentexecutions"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/scaling.html) dans le *Guide du développeur AWS Lambda *.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ReservedConcurrentExecutions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-reservedconcurrentexecutions)` propriété d'une `AWS::Lambda::Function` ressource.

 `Role`   <a name="sam-function-role"></a>
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 `[Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-role)` d'une `AWS::Lambda::Function` ressource. 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`   <a name="sam-function-rolepath"></a>
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 `[Path](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-path)` propriété d'une `AWS::IAM::Role` ressource.

 `Runtime`   <a name="sam-function-runtime"></a>
Identifiant de l’[exécution](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) de la fonction. Cette propriété n'est requise que si la propriété `PackageType` est définie sur `Zip`.  
Si vous spécifiez l'`provided`identifiant de cette propriété, vous pouvez utiliser l'attribut `Metadata` 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](building-custom-runtimes.md).
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime)` propriété d'une `AWS::Lambda::Function` ressource.

 `RuntimeManagementConfig`   <a name="sam-function-runtimemanagementconfig"></a>
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](https://docs.aws.amazon.com//lambda/latest/dg/runtimes-update.html) dans le *Guide du développeur AWS Lambda *.  
*Type :* [RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)` propriété d'une `AWS::Lambda::Function` ressource.

 `SnapStart`   <a name="sam-function-snapstart"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) dans le guide du *AWS Lambda développeur*.  
*Type :* [SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)` propriété d'une `AWS::Lambda::Function` ressource.

 `SourceKMSKeyArn`   <a name="sam-function-sourcekmskeyarn"></a>
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 `[SourceKMSKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-sourcekmskeyarn)` propriété d'un type de `AWS::Lambda::Function` `Code` données.

 `Tags`   <a name="sam-function-tags"></a>
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 ](https://docs.aws.amazon.com/lambda/latest/dg/configuration-tags.html#configuration-tags-restrictions) 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  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tags)` d'une `AWS::Lambda::Function` 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 à cette fonction Lambda et aux rôles par défaut générés pour cette fonction.

 `TenancyConfig`   <a name="sam-function-tenancyconfig"></a>
Configuration pour le mode d'isolation des locataires Lambda. Garantit que les environnements d'exécution ne sont jamais partagés entre différents locataires IDs, offrant ainsi une isolation au niveau du calcul pour les applications multi-locataires.  
*Type :* [TenancyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tenancyconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TenancyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tenancyconfig)` propriété d'une `AWS::Lambda::Function` ressource.

 `Timeout`   <a name="sam-function-timeout"></a>
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 `[Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout)` propriété d'une `AWS::Lambda::Function` ressource.

 `Tracing`   <a name="sam-function-tracing"></a>
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` ou `PassThrough` et que la propriété `Role` n'est pas spécifiée, AWS SAM ajoute la stratégie `arn: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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html) dans le *manuel du AWS Lambda développeur*.  
*Valeurs valides* : [`Active`\$1`Disabled`\$1`PassThrough`]  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[TracingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig)` d'une `AWS::Lambda::Function` ressource.

 `VersionDescription`   <a name="sam-function-versiondescription"></a>
Spécifie le champ `Description` qui est ajouté sur la nouvelle ressource de version Lambda.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-description)` propriété d'une `AWS::Lambda::Version` ressource.

 `VersionDeletionPolicy`   <a name="sam-function-versiondeletionpolicy"></a>
Spécifie la politique de suppression pour la ressource de version Lambda créée lorsqu'elle `AutoPublishAlias` est définie. Cela permet de contrôler si la ressource de version est conservée ou supprimée lorsque la pile est supprimée.  
*Valeurs valides* : `Delete`, `Retain` ou `Snapshot`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent. Il définit l'`DeletionPolicy`attribut de la `AWS::Lambda::Version` ressource générée.

 `VpcConfig`   <a name="sam-function-vpcconfig"></a>
La configuration qui permet à cette fonction d'accéder aux ressources privées dans votre VPC (Virtual Private Cloud).  
*Type :* [VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)` propriété d'une `AWS::Lambda::Function` ressource.

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

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

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

`Arn`  <a name="Arn-fn::getatt"></a>
L'ARN de la fonction Lambda sous-jacente.

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

### Fonction simple
<a name="sam-resource-function-examples-simple-function"></a>

Ce qui suit est un exemple basique d'une ressource [AWS::Serverless::Function](#sam-resource-function) du type de package `Zip` (par défaut) et du code de fonction dans un compartiment Amazon S3.

#### YAML
<a name="sam-resource-function-examples-simple-function--yaml"></a>

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

### Exemple de propriétés de fonction
<a name="sam-resource-function-examples-function-properties-example"></a>

Voici un exemple d'une [AWS::Serverless::Function](#sam-resource-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
<a name="sam-resource-function-examples-function-properties-example--yaml"></a>

```
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
```

### ImageConfig exemple
<a name="sam-resource-function-examples-imageconfig-example"></a>

Voici un exemple d'`ImageConfig` pour une fonction Lambda de type de package `Image`.

#### YAML
<a name="sam-resource-function-examples-imageconfig-example--yaml"></a>

```
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
<a name="sam-resource-function-examples-runtimemanagementconfig-examples"></a>

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
```

### SnapStart exemples
<a name="sam-resource-function-examples-snapstart-examples"></a>

Exemple de fonction Lambda SnapStart activée pour les futures versions :

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

### TenancyConfig exemples
<a name="sam-resource-function-examples-tenancyconfig-examples"></a>

Exemple de fonction Lambda avec le mode d'isolation des locataires activé :

```
TestFunction
  Type: AWS::Serverless::Function
  Properties:
    ...
    TenancyConfig:
      TenantIsolationMode: PER_TENANT
```

# DeadLetterQueue
<a name="sam-property-function-deadletterqueue"></a>

Spécifie une file d'attente SQS ou une rubrique SNS à laquelle ( AWS Lambda Lambda) envoie des événements lorsqu'elle ne peut pas les traiter. Pour en savoir plus sur la fonctionnalité de file d'attente de lettres mortes, consultez [File d'attente de lettres mortes](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq) dans le *Guide du développeur AWS Lambda *.

SAM ajoutera automatiquement l'autorisation appropriée à votre rôle d'exécution de fonction Lambda pour permettre au service Lambda d'accéder à la ressource. sqs : SendMessage sera ajouté pour les files d'attente SQS et SNS:Publish pour les rubriques SNS.

## Syntaxe
<a name="sam-property-function-deadletterqueue-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-property-function-deadletterqueue-syntax.yaml"></a>

```
  [TargetArn](#sam-function-deadletterqueue-targetarn): String
  [Type](#sam-function-deadletterqueue-type): String
```

## Propriétés
<a name="sam-property-function-deadletterqueue-properties"></a>

 `TargetArn`   <a name="sam-function-deadletterqueue-targetarn"></a>
L'Amazon Resource Name (ARN) d'une file d'attente Amazon SQS ou d'une rubrique Amazon SNS.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TargetArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html#cfn-lambda-function-deadletterconfig-targetarn)` propriété du type de `AWS::Lambda::Function` `DeadLetterConfig` données.

 `Type`   <a name="sam-function-deadletterqueue-type"></a>
Le type de file d'attente de lettres mortes.  
*Valeurs valides *: `SNS`, `SQS`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-deadletterqueue--examples"></a>

### DeadLetterQueue
<a name="sam-property-function-deadletterqueue--examples--deadletterqueue"></a>

Exemple de file d'attente de lettres mortes pour une rubrique SNS.

#### YAML
<a name="sam-property-function-deadletterqueue--examples--deadletterqueue--yaml"></a>

```
DeadLetterQueue:
  Type: SNS
  TargetArn: arn:aws:sns:us-east-2:123456789012:my-topic
```

# DeploymentPreference
<a name="sam-property-function-deploymentpreference"></a>

Spécifie les configurations permettant d'activer les déploiements Lambda progressifs. Pour plus d'informations sur les configurations de déploiement progressif Lambda, consultez [Déploiement progressif d'applications sans serveur avec AWS SAM](automating-updates-to-serverless-apps.md).

**Note**  
Vous devez spécifier un `AutoPublishAlias` dans votre fonction [AWS::Serverless::Function](sam-resource-function.md) pour utiliser un objet `DeploymentPreference`. Si vous ne le faites pas, une erreur se produit.

## Syntaxe
<a name="sam-property-function-deploymentpreference-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-property-function-deploymentpreference-syntax.yaml"></a>

```
  [Alarms](#sam-function-deploymentpreference-alarms): List
  [Enabled](#sam-function-deploymentpreference-enabled): Boolean
  [Hooks](#sam-function-deploymentpreference-hooks): Hooks
  [PassthroughCondition](#sam-function-deploymentpreference-passthroughcondition): Boolean
  [Role](#sam-function-deploymentpreference-role): String
  [TriggerConfigurations](#sam-function-deploymentpreference-triggerconfigurations): List
  [Type](#sam-function-deploymentpreference-type): String
```

## Propriétés
<a name="sam-property-function-deploymentpreference-properties"></a>

 `Alarms`   <a name="sam-function-deploymentpreference-alarms"></a>
Liste des CloudWatch alarmes que vous souhaitez déclencher en cas d'erreur provoquée par le déploiement.  
Cette propriété accepte la fonction intrinsèque `Fn::If`. Reportez-vous à la section Exemples au bas de cette rubrique pour obtenir un exemple de modèle qui utilise `Fn::If`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Enabled`   <a name="sam-function-deploymentpreference-enabled"></a>
Indique si cette préférence de déploiement est activée.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Valeur par défaut* : VRAI  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Hooks`   <a name="sam-function-deploymentpreference-hooks"></a>
Validation des fonctions Lambda qui sont exécutées avant et après le déplacement du trafic.  
*Type* : [crochets](sam-property-function-hooks.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `PassthroughCondition`   <a name="sam-function-deploymentpreference-passthroughcondition"></a>
Si la valeur est True, et si cette préférence de déploiement est activée, la condition de la fonction sera transmise à la CodeDeploy ressource générée. En règle générale, vous devez définir cette valeur sur True (Vrai). Dans le cas contraire, la CodeDeploy ressource serait créée même si la condition de la fonction prend la valeur False.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Role`   <a name="sam-function-deploymentpreference-role"></a>
Un ARN de rôle IAM qui CodeDeploy sera utilisé pour le transfert du trafic. Un rôle IAM ne sera pas créé si cela est fourni.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `TriggerConfigurations`   <a name="sam-function-deploymentpreference-triggerconfigurations"></a>
Une liste des configurations de déclenchement que vous souhaitez associer au groupe de déploiement. Utilisé pour notifier une rubrique SNS sur les événements du cycle de vie.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TriggerConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations)` propriété d'une `AWS::CodeDeploy::DeploymentGroup` ressource.

 `Type`   <a name="sam-function-deploymentpreference-type"></a>
Il existe actuellement deux catégories de types de déploiement : Linéaire et Canary. Pour plus d'informations sur les types de déploiements, consultez [Déploiement progressif d'applications sans serveur avec AWS SAM](automating-updates-to-serverless-apps.md).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-deploymentpreference--examples"></a>

### DeploymentPreference avec des crochets avant et après le trafic.
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks."></a>

Exemple de préférence de déploiement contenant des crochets pré- et post-trafic.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks.--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    - !Ref: AliasErrorMetricGreaterThanZeroAlarm
    - !Ref: LatestVersionErrorMetricGreaterThanZeroAlarm
  Hooks:
    PreTraffic:
      !Ref: PreTrafficLambdaFunction
    PostTraffic:
      !Ref: PostTrafficLambdaFunction
```

### DeploymentPreference avec fonction intrinsèque Fn : :If
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function"></a>

Exemple de préférence de déploiement qui utilise `Fn::If` pour configurer les alarmes. Dans cet exemple,`Alarm1` sera configuré si `MyCondition` est `true`, et `Alarm2` et `Alarm5` seront configurés si `MyCondition` est `false`.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    Fn::If:
      - MyCondition
      - - Alarm1
      - - Alarm2
        - Alarm5
```

# Hooks
<a name="sam-property-function-hooks"></a>

Validation des fonctions Lambda qui sont exécutées avant et après le déplacement du trafic.

**Note**  
Les fonctions Lambda référencées dans cette propriété configurent l'objet `CodeDeployLambdaAliasUpdate` de la ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html) qui en résulte. Pour plus d'informations, consultez la section [CodeDeployLambdaAliasUpdate Politique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate) du *guide de AWS CloudFormation l'utilisateur*.

## Syntaxe
<a name="sam-property-function-hooks-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-property-function-hooks-syntax.yaml"></a>

```
  [PostTraffic](#sam-function-hooks-posttraffic): String
  [PreTraffic](#sam-function-hooks-pretraffic): String
```

## Propriétés
<a name="sam-property-function-hooks-properties"></a>

 `PostTraffic`   <a name="sam-function-hooks-posttraffic"></a>
Fonction Lambda qui est exécutée après le déplacement du trafic.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `PreTraffic`   <a name="sam-function-hooks-pretraffic"></a>
Fonction Lambda qui est exécutée avant le déplacement du trafic.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-hooks--examples"></a>

### Crochets
<a name="sam-property-function-hooks--examples--hooks"></a>

Exemple de fonctions de crochet

#### YAML
<a name="sam-property-function-hooks--examples--hooks--yaml"></a>

```
Hooks:
  PreTraffic:
    Ref: PreTrafficLambdaFunction
  PostTraffic:
    Ref: PostTrafficLambdaFunction
```

# DurableConfig
<a name="sam-property-function-durableconfig"></a>

Configure les paramètres d'exécution durables des AWS Lambda fonctions. Les fonctions durables peuvent fonctionner jusqu'à un an et contrôler automatiquement la progression des points de travail, ce qui permet des flux de travail de longue durée et des applications tolérantes aux pannes. Pour plus d'informations sur les fonctions durables, consultez la section [Fonctions durables Lambda](https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html) dans le Guide du *AWS Lambda développeur*.

## Syntaxe
<a name="sam-property-function-durableconfig-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-property-function-durableconfig-syntax.yaml"></a>

```
  [ExecutionTimeout](#sam-function-durableconfig-executiontimeout): Integer
  [RetentionPeriodInDays](#sam-function-durableconfig-retentionperiodindays): Integer
```

## Propriétés
<a name="sam-property-function-durableconfig-properties"></a>

 `ExecutionTimeout`   <a name="sam-function-durableconfig-executiontimeout"></a>
Durée (en secondes) pendant laquelle Lambda permet à une fonction durable de s'exécuter avant de l'arrêter. Le maximum est d'une année de 366 jours ou 31 622 400 secondes.  
*Type* : entier  
*Obligatoire* : oui  
*Minimum* : 1  
*Maximum* : 31622400  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ExecutionTimeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-durableconfig.html#cfn-lambda-function-durableconfig-executiontimeout)` propriété du type de `AWS::Lambda::Function` `DurableConfig` données.

 `RetentionPeriodInDays`   <a name="sam-function-durableconfig-retentionperiodindays"></a>
Le nombre de jours après la clôture d'une exécution durable pendant lesquels Lambda conserve son historique, de un à 90 jours. La durée par défaut est de 14 jours.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut* : 14  
*Minimum* : 1  
*Maximum* : 90  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RetentionPeriodInDays](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-durableconfig.html#cfn-lambda-function-durableconfig-retentionperiodindays)` propriété du type de `AWS::Lambda::Function` `DurableConfig` données.

## Exemples
<a name="sam-property-function-durableconfig--examples"></a>

### DurableConfig
<a name="sam-property-function-durableconfig--examples--durableconfig"></a>

Exemple de configuration durable pour une fonction avec un délai d'exécution d'une heure et une période de rétention de 7 jours.

#### YAML
<a name="sam-property-function-durableconfig--examples--durableconfig--yaml"></a>

```
DurableConfig:
  ExecutionTimeout: 3600
  RetentionPeriodInDays: 7
```

# EventInvokeConfiguration
<a name="sam-property-function-eventinvokeconfiguration"></a>

Options de configuration pour les appels Lambda Alias ou Version [Asynchrones](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html).

## Syntaxe
<a name="sam-property-function-eventinvokeconfiguration-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-property-function-eventinvokeconfiguration-syntax.yaml"></a>

```
  [DestinationConfig](#sam-function-eventinvokeconfiguration-destinationconfig): EventInvokeDestinationConfiguration
  [MaximumEventAgeInSeconds](#sam-function-eventinvokeconfiguration-maximumeventageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-eventinvokeconfiguration-maximumretryattempts): Integer
```

## Propriétés
<a name="sam-property-function-eventinvokeconfiguration-properties"></a>

 `DestinationConfig`   <a name="sam-function-eventinvokeconfiguration-destinationconfig"></a>
Objet de configuration qui spécifie la destination d'un événement après son traitement par Lambda.  
*Type :* [EventInvokeDestinationConfiguration](sam-property-function-eventinvokedestinationconfiguration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html)` d'une `AWS::Lambda::EventInvokeConfig` ressource. SAM nécessite un paramètre supplémentaire, « Type », qui n'existe pas dans CloudFormation.

 `MaximumEventAgeInSeconds`   <a name="sam-function-eventinvokeconfiguration-maximumeventageinseconds"></a>
Âge maximum d’une demande que Lambda envoie à une fonction pour traitement.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumEventAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumeventageinseconds)` propriété d'une `AWS::Lambda::EventInvokeConfig` ressource.

 `MaximumRetryAttempts`   <a name="sam-function-eventinvokeconfiguration-maximumretryattempts"></a>
Nombre maximal de tentatives autorisées avant que la fonction renvoie une erreur.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumretryattempts)` propriété d'une `AWS::Lambda::EventInvokeConfig` ressource.

## Exemples
<a name="sam-property-function-eventinvokeconfiguration--examples"></a>

### MaximumEventAgeInSeconds
<a name="sam-property-function-eventinvokeconfiguration--examples--maximumeventageinseconds"></a>

MaximumEventAgeInSeconds exemple

#### YAML
<a name="sam-property-function-eventinvokeconfiguration--examples--maximumeventageinseconds--yaml"></a>

```
EventInvokeConfig:
  MaximumEventAgeInSeconds: 60
  MaximumRetryAttempts: 2
  DestinationConfig:
    OnSuccess:
      Type: SQS
      Destination: arn:aws:sqs:us-west-2:012345678901:my-queue
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn
```

# EventInvokeDestinationConfiguration
<a name="sam-property-function-eventinvokedestinationconfiguration"></a>

Objet de configuration qui spécifie la destination d'un événement après son traitement par Lambda.

## Syntaxe
<a name="sam-property-function-eventinvokedestinationconfiguration-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-property-function-eventinvokedestinationconfiguration-syntax.yaml"></a>

```
  [OnFailure](#sam-function-eventinvokedestinationconfiguration-onfailure): OnFailure
  [OnSuccess](#sam-function-eventinvokedestinationconfiguration-onsuccess): OnSuccess
```

## Propriétés
<a name="sam-property-function-eventinvokedestinationconfiguration-properties"></a>

 `OnFailure`   <a name="sam-function-eventinvokedestinationconfiguration-onfailure"></a>
Destination des événements dont le traitement a échoué.  
*Type :* [OnFailure](sam-property-function-onfailure.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onfailure.html)` d'une `AWS::Lambda::EventInvokeConfig` ressource. Nécessite `Type`, une propriété SAM-only supplémentaire.

 `OnSuccess`   <a name="sam-function-eventinvokedestinationconfiguration-onsuccess"></a>
Destination des événements traités avec succès.  
*Type :* [OnSuccess](sam-property-function-onsuccess.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[OnSuccess](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onsuccess)` d'une `AWS::Lambda::EventInvokeConfig` ressource. Nécessite `Type`, une propriété SAM-only supplémentaire.

## Exemples
<a name="sam-property-function-eventinvokedestinationconfiguration--examples"></a>

### OnSuccess
<a name="sam-property-function-eventinvokedestinationconfiguration--examples--onsuccess"></a>

OnSuccess exemple

#### YAML
<a name="sam-property-function-eventinvokedestinationconfiguration--examples--onsuccess--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
      Destination: arn:aws:sqs:us-west-2:012345678901:my-queue
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn
```

# OnFailure
<a name="sam-property-function-onfailure"></a>

Destination des événements dont le traitement a échoué.

## Syntaxe
<a name="sam-property-function-onfailure-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-property-function-onfailure-syntax.yaml"></a>

```
  [Destination](#sam-function-onfailure-destination): String
  [Type](#sam-function-onfailure-type): String
```

## Propriétés
<a name="sam-property-function-onfailure-properties"></a>

 `Destination`   <a name="sam-function-onfailure-destination"></a>
Amazon Resource Name (ARN) de la ressource de destination.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onfailure.html)` d'une `AWS::Lambda::EventInvokeConfig` ressource. SAM ajoute toutes les autorisations nécessaires au rôle IAM généré automatiquement associé à cette fonction pour accéder à la ressource référencée dans cette propriété.  
*Remarques supplémentaires* : Si le type est Lambda/EventBridge, Destination est obligatoire.

 `Type`   <a name="sam-function-onfailure-type"></a>
Type de la ressource référencée dans la destination. Les types pris en charge sont `SQS` `SNS``S3`,`Lambda`, et`EventBridge`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Remarques supplémentaires* : Si le type est SQS/SNS et que la `Destination` propriété est laissée vide, la SQS/SNS ressource est générée automatiquement par SAM. Pour référencer la ressource, utilisez `<function-logical-id>.DestinationQueue` pour SQS ou `<function-logical-id>.DestinationTopic` pour SNS. Si le type est Lambda/EventBridge, `Destination` c'est obligatoire.

## Exemples
<a name="sam-property-function-onfailure--examples"></a>

### EventInvoke Exemple de configuration avec des destinations SQS et Lambda
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations"></a>

Dans cet exemple, aucune destination n'est donnée pour la OnSuccess configuration SQS. SAM crée donc implicitement une file d'attente SQS et ajoute les autorisations nécessaires. Dans cet exemple également, une destination pour une ressource Lambda déclarée dans le fichier modèle est spécifiée dans la OnFailure configuration. SAM ajoute donc les autorisations nécessaires à cette fonction Lambda pour appeler la fonction Lambda de destination.

#### YAML
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn  # Arn of a Lambda function declared in the template file.
```

### EventInvoke Exemple de configuration avec destination SNS
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sns-destination"></a>

Dans cet exemple, une destination est donnée pour une rubrique SNS déclarée dans le fichier modèle de OnSuccess configuration.

#### YAML
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sns-destination--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SNS
      Destination:
        Ref: DestinationSNS       # Arn of an SNS topic declared in the tempate file
```

# OnSuccess
<a name="sam-property-function-onsuccess"></a>

Destination des événements traités avec succès.

## Syntaxe
<a name="sam-property-function-onsuccess-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-property-function-onsuccess-syntax.yaml"></a>

```
  [Destination](#sam-function-onsuccess-destination): String
  [Type](#sam-function-onsuccess-type): String
```

## Propriétés
<a name="sam-property-function-onsuccess-properties"></a>

 `Destination`   <a name="sam-function-onsuccess-destination"></a>
L'Amazon Resource Name (ARN) de la ressource de destination.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[OnSuccess](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onsuccess)` d'une `AWS::Lambda::EventInvokeConfig` ressource. SAM ajoute toutes les autorisations nécessaires au rôle IAM généré automatiquement associé à cette fonction pour accéder à la ressource référencée dans cette propriété.  
*Remarques supplémentaires* : Si le type est Lambda/EventBridge, Destination est obligatoire.

 `Type`   <a name="sam-function-onsuccess-type"></a>
Type de la ressource référencée dans la destination. Les types pris en charge sont `SQS` `SNS``S3`,`Lambda`, et`EventBridge`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Remarques supplémentaires* : Si le type est SQS/SNS et que la `Destination` propriété est laissée vide, la SQS/SNS ressource est générée automatiquement par SAM. Pour référencer la ressource, utilisez `<function-logical-id>.DestinationQueue` pour SQS ou `<function-logical-id>.DestinationTopic` pour SNS. Si le type est Lambda/EventBridge, `Destination` c'est obligatoire.

## Exemples
<a name="sam-property-function-onsuccess--examples"></a>

### EventInvoke Exemple de configuration avec des destinations SQS et Lambda
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations"></a>

Dans cet exemple, aucune destination n'est donnée pour la OnSuccess configuration SQS. SAM crée donc implicitement une file d'attente SQS et ajoute les autorisations nécessaires. Dans cet exemple également, une destination pour une ressource Lambda déclarée dans le fichier modèle est spécifiée dans la OnFailure configuration. SAM ajoute donc les autorisations nécessaires à cette fonction Lambda pour appeler la fonction Lambda de destination.

#### YAML
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn  # Arn of a Lambda function declared in the template file.
```

### EventInvoke Exemple de configuration avec destination SNS
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sns-destination"></a>

Dans cet exemple, une destination est donnée pour une rubrique SNS déclarée dans le fichier modèle de OnSuccess configuration.

#### YAML
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sns-destination--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SNS
      Destination:
        Ref: DestinationSNS       # Arn of an SNS topic declared in the tempate file
```

# EventSource
<a name="sam-property-function-eventsource"></a>

L'objet décrivant la source des événements qui déclenchent la fonction. Chaque événement se compose d'un type et d'un ensemble de propriétés qui dépendent de ce type. Pour plus d'informations sur les propriétés de chaque source d'événement, consultez la rubrique correspondant à ce type.

## Syntaxe
<a name="sam-property-function-eventsource-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-property-function-eventsource-syntax.yaml"></a>

```
  [Properties](#sam-function-eventsource-properties): AlexaSkill | Api | CloudWatchEvent | CloudWatchLogs | Cognito | DocumentDB | DynamoDB | EventBridgeRule | HttpApi | IoTRule | Kinesis | MQ | MSK | S3 | Schedule | ScheduleV2 | SelfManagedKafka | SNS | SQS
  [Type](#sam-function-eventsource-type): String
```

## Propriétés
<a name="sam-property-function-eventsource-properties"></a>

 `Properties`   <a name="sam-function-eventsource-properties"></a>
Objet décrivant les propriétés de ce mappage de cet événement. L'ensemble de propriétés doit être conforme au Type défini.  
*Type* [[[[[: [AlexaSkill](sam-property-function-alexaskill.md)\$1 [Api](sam-property-function-api.md) \$1 \$1 [CloudWatchEvent](sam-property-function-cloudwatchevent.md)\$1 [Cognito [CloudWatchLogs](sam-property-function-cloudwatchlogs.md)](sam-property-function-cognito.md)\$1 DocumentDB \$1 [[DynamoDB](sam-property-function-dynamodb.md)](sam-property-function-documentdb.md) \$1 \$1 \$1 Io \$1 [Kinesis \$1 MQ EventBridgeRule HttpApi [[HttpApi](sam-property-function-httpapi.md)](sam-property-function-eventbridgerule.md)\$1 [MSK TRule](sam-property-function-iotrule.md) \$1 S3 \$1 Planification](sam-property-function-kinesis.md)[\$1 [ScheduleV2 \$1 \$1](sam-property-function-mq.md) SNS \$1 SQS [SelfManagedKafka](sam-property-function-selfmanagedkafka.md)](sam-property-function-msk.md)](sam-property-function-sqs.md)](sam-property-function-sns.md)](sam-property-function-schedulev2.md)](sam-property-function-schedule.md)](sam-property-function-s3.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Type`   <a name="sam-function-eventsource-type"></a>
Type d’événement.  
*Valeurs valides *: `AlexaSkill`, `Api`, `CloudWatchEvent`, `CloudWatchLogs`, `Cognito`, `DocumentDB`, `DynamoDB`, `EventBridgeRule`, `HttpApi`, `IoTRule`, `Kinesis`, `MQ`, `MSK`, `S3`, `Schedule`, `ScheduleV2`, `SelfManagedKafka`, `SNS`, `SQS`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-eventsource--examples"></a>

### APIEvent
<a name="sam-property-function-eventsource--examples--apievent"></a>

Exemple d'utilisation d'un événement API

#### YAML
<a name="sam-property-function-eventsource--examples--apievent--yaml"></a>

```
ApiEvent:
  Type: Api
  Properties:
    Method: get
    Path: /group/{user}
    RestApiId: 
      Ref: MyApi
```

# AlexaSkill
<a name="sam-property-function-alexaskill"></a>

L'objet décrivant un type de source d'événement `AlexaSkill`.

## Syntaxe
<a name="sam-property-function-alexaskill-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-property-function-alexaskill-syntax.yaml"></a>

```
  [SkillId](#sam-function-alexaskill-skillid): String
```

## Propriétés
<a name="sam-property-function-alexaskill-properties"></a>

 `SkillId`   <a name="sam-function-alexaskill-skillid"></a>
L'Alexa Skill ID (ID de compétence Alexa) pour votre compétence Alexa. Pour plus d'informations sur l'ID de compétence, consultez [Configurer le déclencheur pour une fonction Lambda](https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html#configuring-the-alexa-skills-kit-trigger) dans la documentation du Kit de compétences Alexa.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-alexaskill--examples"></a>

### AlexaSkillTrigger
<a name="sam-property-function-alexaskill--examples--alexaskilltrigger"></a>

Exemple d'événement de compétence Alexa

#### YAML
<a name="sam-property-function-alexaskill--examples--alexaskilltrigger--yaml"></a>

```
AlexaSkillEvent:
  Type: AlexaSkill
```

# Api
<a name="sam-property-function-api"></a>

L'objet décrivant un type de source d'événement `Api`. Si une ressource [AWS::Serverless::Api](sam-resource-api.md) est définie, les valeurs de chemin d'accès et de méthode doivent correspondre à une opération dans la définition OpenAPI de l'API.

Si aucune [AWS::Serverless::Api](sam-resource-api.md) n'est définie, l'entrée et la sortie de la fonction sont une représentation de la demande HTTP et de la réponse HTTP.

Par exemple, à l'aide de l' JavaScript API, le code d'état et le corps de la réponse peuvent être contrôlés en renvoyant un objet avec les clés statusCode et body.

## Syntaxe
<a name="sam-property-function-api-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-property-function-api-syntax.yaml"></a>

```
  [Auth](#sam-function-api-auth): ApiFunctionAuth
  [Method](#sam-function-api-method): String
  [Path](#sam-function-api-path): String
  [RequestModel](#sam-function-api-requestmodel): RequestModel
  [RequestParameters](#sam-function-api-requestparameters): List of [ String | RequestParameter ]
  [RestApiId](#sam-function-api-restapiid): String
  [ResponseTransferMode](#sam-function-api-responsetransfermode): String
  TimeoutInMillis: Integer
```

## Propriétés
<a name="sam-property-function-api-properties"></a>

 `Auth`   <a name="sam-function-api-auth"></a>
Configuration d'authentification pour cette méthode Api\$1Chemin\$1Méthode spécifique.  
Utile pour remplacer la configuration d'autorisation du paramètre de `DefaultAuthorizer` de l'API sur un chemin d'accès individuel, lorsqu'aucun `DefaultAuthorizer` n'est spécifié, ou pour remplacer le paramètre `ApiKeyRequired` par défaut.  
*Type :* [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Method`   <a name="sam-function-api-method"></a>
Méthode HTTP pour laquelle cette fonction est appelée. Les options incluent `DELETE``GET`,`HEAD`,`OPTIONS`,`PATCH`,`POST`,`PUT`, et`ANY`. Reportez-vous à la section [Configurer une méthode HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method) dans le *guide du développeur d'API Gateway* pour plus de détails.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Path`   <a name="sam-function-api-path"></a>
Chemin d'accès d'URI pour lequel cette fonction est appelée. Doit commencer par `/`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
Demander un modèle à utiliser pour cette formule Api\$1Chemin\$1Méthode spécifique. Cela devrait faire référence au nom d'un modèle spécifié dans la section `Models` d'une ressource [AWS::Serverless::Api](sam-resource-api.md).  
*Type :* [RequestModel](sam-property-function-requestmodel.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
Configuration des paramètres de demande pour cette formule Api\$1Chemin\$1Méthode spécifique. Tous les noms de paramètres doivent commencer par `method.request` et doivent être limités à `method.request.header`, `method.request.querystring`, ou `method.request.path`.  
Une liste peut contenir à la fois des chaînes de noms de paramètres et [RequestParameter](sam-property-function-requestparameter.md)des objets. Pour les chaînes, les propriétés `Required` et `Caching` prendront par défaut la valeur `false`.  
*Type* : Liste de [String \$1 [RequestParameter](sam-property-function-requestparameter.md)]  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
Identifiant d'une RestApi ressource, qui doit contenir une opération avec le chemin et la méthode donnés. Cela est généralement défini pour faire référence à une ressource [AWS::Serverless::Api](sam-resource-api.md), qui est définie dans ce modèle.  
Si vous ne définissez pas cette propriété, AWS SAM crée une [AWS::Serverless::Api](sam-resource-api.md) ressource par défaut à l'aide d'un `OpenApi` document généré. Cette ressource contient une union de tous les chemins et méthodes définis par `Api` dans le même modèle qui ne spécifient pas un `RestApiId`.  
Cela ne peut pas référencer une ressource [AWS::Serverless::Api](sam-resource-api.md) définie dans un autre modèle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
Mode de transfert de réponse pour l'intégration de la fonction Lambda. Définissez cette valeur `RESPONSE_STREAM` pour activer le streaming des réponses Lambda via API Gateway, ce qui permet à la fonction de renvoyer les réponses aux clients. Lorsqu'il est défini sur`RESPONSE_STREAM`, API Gateway utilise l'API Lambda InvokeWithResponseStreaming .  
*Type* : chaîne  
*Obligatoire* : non  
*Valeurs valides* : `BUFFERED` \$1 `RESPONSE_STREAM`  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode)propriété d'un`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
Délai d'attente personnalisé compris entre 50 et 29 000 millisecondes.  
Lorsque vous spécifiez cette propriété, cela AWS SAM modifie votre définition OpenAPI. La définition OpenAPI doit être spécifiée en ligne à l'aide de la propriété `DefinitionBody`. 
*Type* : entier  
*Obligatoire* : non  
*Par défaut* : 29 000 millisecondes ou 29 secondes  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-api--examples"></a>

### Exemple de base
<a name="sam-property-function-api--examples--apievent"></a>

#### YAML
<a name="sam-property-function-api--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
      RequestParameters:
        - method.request.header.Authorization
        - method.request.querystring.keyword:
            Required: true
            Caching: false
```

# ApiFunctionAuth
<a name="sam-property-function-apifunctionauth"></a>

Configure l'autorisation au niveau de l'événement, pour une API, un chemin et une méthode spécifiques.

## Syntaxe
<a name="sam-property-function-apifunctionauth-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-property-function-apifunctionauth-syntax.yaml"></a>

```
  [ApiKeyRequired](#sam-function-apifunctionauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-function-apifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-apifunctionauth-authorizer): String
  [InvokeRole](#sam-function-apifunctionauth-invokerole): String
  OverrideApiAuth: Boolean
  [ResourcePolicy](#sam-function-apifunctionauth-resourcepolicy): ResourcePolicyStatement
```

## Propriétés
<a name="sam-property-function-apifunctionauth-properties"></a>

 `ApiKeyRequired`   <a name="sam-function-apifunctionauth-apikeyrequired"></a>
Nécessite une clé API pour cette API, ce chemin d'accès et cette méthode.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AuthorizationScopes`   <a name="sam-function-apifunctionauth-authorizationscopes"></a>
Les étendues d'autorisation à appliquer à cette API, ce chemin d'accès et cette méthode.  
Les étendues que vous spécifiez remplaceront toutes les étendues appliquées par la propriété `DefaultAuthorizer` si vous l'avez spécifiée.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Authorizer`   <a name="sam-function-apifunctionauth-authorizer"></a>
Le `Authorizer` pour une fonction spécifique.  
Si un mécanisme d'autorisation global est spécifié pour votre ressource `AWS::Serverless::Api`, vous pouvez remplacer le mécanisme d'autorisation en définissant `Authorizer` sur `NONE`. Pour obtenir un exemple, consultez [Remplacer un mécanisme d'autorisation global pour votre API REST Amazon API Gateway](#sam-property-function-apifunctionauth--examples--override).  
Si vous utilisez la propriété `DefinitionBody` d'une ressource `AWS::Serverless::Api` pour décrire votre API, vous devez utiliser `OverrideApiAuth` avec `Authorizer` pour remplacer votre mécanisme d'autorisation global. Pour plus d’informations, consultez `OverrideApiAuth`.
*Valeurs valides* : `AWS_IAM``NONE`, ou l'identifiant logique de tout autorisateur défini dans votre AWS SAM modèle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `InvokeRole`   <a name="sam-function-apifunctionauth-invokerole"></a>
Spécifie le `InvokeRole` à utiliser pour l'autorisation `AWS_IAM`.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `CALLER_CREDENTIALS`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Informations complémentaires* : `CALLER_CREDENTIALS` mappe avec `arn:aws:iam:::<user>/`, qui utilise les informations d'identification de l'appelant pour appeler le point de terminaison.

`OverrideApiAuth`  <a name="sam-function-apifunctionauth-overrideapiauth"></a>
Définissez-la sur `true` pour remplacer la configuration du mécanisme d'autorisation global de votre ressource `AWS::Serverless::Api`. Cette propriété n'est requise que si vous spécifiez un mécanisme d'autorisation global et que vous utilisez la propriété `DefinitionBody` d'une ressource `AWS::Serverless::Api` pour décrire votre API.  
Lorsque vous spécifiez `OverrideApiAuth` comme`true`, AWS SAM cela remplacera votre autorisateur global par toutes les valeurs fournies pour `ApiKeyRequired``Authorizer`, ou. `ResourcePolicy` C'est pourquoi au moins une de ces propriétés doit également être spécifiée lors de l'utilisation de `OverrideApiAuth`. Pour obtenir un exemple, consultez [Remplacer un autorisateur global lorsque DefinitionBody for est spécifié AWS::Serverless::Api](#sam-property-function-apifunctionauth--examples--override2).
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ResourcePolicy`   <a name="sam-function-apifunctionauth-resourcepolicy"></a>
Configurez la stratégie de ressources pour ce chemin d'accès sur une API.  
*Type :* [ResourcePolicyStatement](sam-property-function-resourcepolicystatement.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-apifunctionauth--examples"></a>

### Fonction-Auth (Autorisation fonction)
<a name="sam-property-function-apifunctionauth--examples--function-auth"></a>

L'exemple suivant spécifie l'autorisation au niveau de la fonction.

#### YAML
<a name="sam-property-function-apifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

### Remplacer un mécanisme d'autorisation global pour votre API REST Amazon API Gateway
<a name="sam-property-function-apifunctionauth--examples--override"></a>

Vous pouvez spécifier un mécanisme d'autorisation global pour votre ressource `AWS::Serverless::Api`. Voici un exemple de configuration d'un mécanisme d'autorisation global par défaut :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

Pour remplacer l'autorisateur par défaut pour votre AWS Lambda fonction, vous pouvez spécifier `Authorizer` comme. `NONE` Voici un exemple :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  ...
  MyFn:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Events:
        LambdaRequest:
          Type: Api
          Properties:
            RestApiId: !Ref MyApiWithLambdaRequestAuth
            Method: GET
            Auth:
              Authorizer: NONE
```

### Remplacer un autorisateur global lorsque DefinitionBody for est spécifié AWS::Serverless::Api
<a name="sam-property-function-apifunctionauth--examples--override2"></a>

Lorsque vous utilisez la propriété `DefinitionBody` pour décrire votre ressource `AWS::Serverless::Api`, la méthode de remplacement précédente ne fonctionne pas. Voici un exemple d'utilisation de la propriété `DefinitionBody` pour une ressource `AWS::Serverless::Api` :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2.0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

Pour annuler le mécanisme d'autorisation global, utilisez la propriété `OverrideApiAuth`. Voici un exemple qui utilise `OverrideApiAuth` pour remplacer le mécanisme d'autorisation global par la valeur fournie pour `Authorizer` :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2-0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
    
    MyAuthFn:
      Type: AWS::Serverless::Function
      ...
    
    MyFn:
      Type: AWS::Serverless::Function
        Properties:
          ...
          Events:
            LambdaRequest:
              Type: Api
              Properties:
                RestApiId: !Ref MyApiWithLambdaRequestAuth
                Method: GET
                Auth:
                  Authorizer: NONE
                  OverrideApiAuth: true
                Path: /lambda-token
```

# ResourcePolicyStatement
<a name="sam-property-function-resourcepolicystatement"></a>

Configure une stratégie de ressource pour toutes les méthodes et chemins d'accès d'une API. Pour plus d'informations sur les stratégies de ressources, consultez [Contrôle de l'accès à une API avec des stratégies de ressources API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) dans le *Guide du développeur API*.

## Syntaxe
<a name="sam-property-function-resourcepolicystatement-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-property-function-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-function-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-function-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-function-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-function-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-function-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-function-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-function-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-function-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-function-resourcepolicystatement-sourcevpcwhitelist): List
```

## Propriétés
<a name="sam-property-function-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-function-resourcepolicystatement-awsaccountblacklist"></a>
Les AWS comptes à bloquer.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AwsAccountWhitelist`   <a name="sam-function-resourcepolicystatement-awsaccountwhitelist"></a>
Les AWS comptes à autoriser. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `CustomStatements`   <a name="sam-function-resourcepolicystatement-customstatements"></a>
Une liste des instructions de stratégie de ressource personnalisées à appliquer à cette API. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcblacklist"></a>
La liste des clouds privés virtuels (VPCs) à bloquer, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcwhitelist"></a>
La liste des VPCs à autoriser, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpceblacklist"></a>
Liste des points de terminaison VPC à bloquer, où chaque point de terminaison VPC est spécifié comme une référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcewhitelist"></a>
Liste des points de terminaison VPC à autoriser, où chaque point de terminaison VPC est spécifié en tant que référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeBlacklist`   <a name="sam-function-resourcepolicystatement-iprangeblacklist"></a>
L'adresse IP ou les plages d'adresses à bloquer. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeWhitelist`   <a name="sam-function-resourcepolicystatement-iprangewhitelist"></a>
L'adresse IP ou les plages d'adresses à autoriser.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcBlacklist`   <a name="sam-function-resourcepolicystatement-sourcevpcblacklist"></a>
Les points de terminaison VPC ou VPC source à bloquer. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcWhitelist`   <a name="sam-function-resourcepolicystatement-sourcevpcwhitelist"></a>
Les points de terminaison VPC ou VPC source à autoriser. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-resourcepolicystatement--examples"></a>

### Exemples de stratégie basée sur les ressources
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example"></a>

L'exemple suivant bloque deux adresses IP et un VPC source, et autorise un AWS compte.

#### YAML
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# RequestModel
<a name="sam-property-function-requestmodel"></a>

Configure un modèle de demande pour une formule Api\$1Chemin\$1Méthode spécifique.

## Syntaxe
<a name="sam-property-function-requestmodel-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-property-function-requestmodel-syntax.yaml"></a>

```
  [Model](#sam-function-requestmodel-model): String
  [Required](#sam-function-requestmodel-required): Boolean
  [ValidateBody](#sam-function-requestmodel-validatebody): Boolean
  [ValidateParameters](#sam-function-requestmodel-validateparameters): Boolean
```

## Propriétés
<a name="sam-property-function-requestmodel-properties"></a>

 `Model`   <a name="sam-function-requestmodel-model"></a>
Nom d'un modèle défini dans la propriété Modèles de la [AWS::Serverless::Api](sam-resource-api.md).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Required`   <a name="sam-function-requestmodel-required"></a>
Ajoute une `required` propriété dans la section des paramètres de la OpenApi définition pour le point de terminaison d'API donné.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ValidateBody`   <a name="sam-function-requestmodel-validatebody"></a>
Indique si API Gateway utilise le `Model` pour valider le corps de la demande. Pour de plus amples informations, veuillez consulter [Activer la validation de demande de base pour une API sur API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) dans le *Manuel du développeur API Gateway*.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ValidateParameters`   <a name="sam-function-requestmodel-validateparameters"></a>
Spécifie si API Gateway utilise le `Model` pour valider les paramètres du chemin de la requête, les chaînes de requête et les en-têtes. Pour de plus amples informations, veuillez consulter [Activer la validation de demande de base pour une API sur API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) dans le *Manuel du développeur API Gateway*.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-requestmodel--examples"></a>

### Modèle de demande
<a name="sam-property-function-requestmodel--examples--request-model"></a>

Exemple de modèle de demande

#### YAML
<a name="sam-property-function-requestmodel--examples--request-model--yaml"></a>

```
RequestModel:
  Model: User
  Required: true
  ValidateBody: true
  ValidateParameters: true
```

# RequestParameter
<a name="sam-property-function-requestparameter"></a>

Configurez le paramètre de demande pour une formule Api\$1Chemin\$1Méthode spécifique.

La propriété `Required` ou `Caching` doit être spécifiée pour le paramètre de demande

## Syntaxe
<a name="sam-property-function-requestparameter-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-property-function-requestparameter-syntax.yaml"></a>

```
  [Caching](#sam-function-requestparameter-caching): Boolean
  [Required](#sam-function-requestparameter-required): Boolean
```

## Propriétés
<a name="sam-property-function-requestparameter-properties"></a>

 `Caching`   <a name="sam-function-requestparameter-caching"></a>
Ajoute une `cacheKeyParameters` section à la OpenApi définition d'API Gateway  
*Type* : valeur booléenne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Required`   <a name="sam-function-requestparameter-required"></a>
Ce champ indique si un paramètre est nécessaire.  
*Type* : valeur booléenne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-requestparameter--examples"></a>

### Paramètre de demande
<a name="sam-property-function-requestparameter--examples--request-parameter"></a>

Exemple de définition des paramètres de demande

#### YAML
<a name="sam-property-function-requestparameter--examples--request-parameter--yaml"></a>

```
RequestParameters:
  - method.request.header.Authorization:
      Required: true
      Caching: true
```

# CloudWatchEvent
<a name="sam-property-function-cloudwatchevent"></a>

L'objet décrivant un type de source d'événement `CloudWatchEvent`.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)ressource lorsque ce type d'événement est défini.

**Remarque importante** : [EventBridgeRule](sam-property-function-eventbridgerule.md) c'est le type de source d'événements préféré à utiliser, à la place de`CloudWatchEvent`. `EventBridgeRule`et `CloudWatchEvent` utilisez le même service, la même API et les mêmes CloudFormation ressources sous-jacents. Cependant, AWS SAM ajoutera la prise en charge des nouvelles fonctionnalités uniquement à`EventBridgeRule`.

## Syntaxe
<a name="sam-property-function-cloudwatchevent-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-property-function-cloudwatchevent-syntax.yaml"></a>

```
  [Enabled](#sam-function-cloudwatchevent-enabled): Boolean
  [EventBusName](#sam-function-cloudwatchevent-eventbusname): String
  [Input](#sam-function-cloudwatchevent-input): String
  [InputPath](#sam-function-cloudwatchevent-inputpath): String
  [Pattern](#sam-function-cloudwatchevent-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  [State](#sam-function-cloudwatchevent-state): String
```

## Propriétés
<a name="sam-property-function-cloudwatchevent-properties"></a>

 `Enabled`   <a name="sam-function-cloudwatchevent-enabled"></a>
Indique si la règle est activée.  
Pour désactiver la règle, définissez cette propriété sur `false`.  
Spécifiez la propriété `Enabled` ou la propriété `State`, mais pas les deux.
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` d'une `AWS::Events::Rule` ressource. Si cette propriété est définie sur `true` then`ENABLED`, elle est AWS SAM transmise dans le cas contraire`DISABLED`.

 `EventBusName`   <a name="sam-function-cloudwatchevent-eventbusname"></a>
Le bus d'événements à associer à cette règle. Si vous omettez cette propriété, AWS SAM utilise le bus d'événements par défaut.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : bus d'événement par défaut  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propriété d'une `AWS::Events::Rule` ressource.

 `Input`   <a name="sam-function-cloudwatchevent-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propriété d'une `AWS::Events::Rule Target` ressource.

 `InputPath`   <a name="sam-function-cloudwatchevent-inputpath"></a>
Lorsque vous ne voulez pas transmettre l'événement correspondant complet, utilisez la propriété `InputPath` pour décrire quelles parties de l'événement transmettre à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propriété d'une `AWS::Events::Rule Target` ressource.

 `Pattern`   <a name="sam-function-cloudwatchevent-pattern"></a>
Décrit les événements qui sont acheminés vers la cible spécifiée. Pour plus d'informations, consultez la section [Événements et modèles d'événements EventBridge dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) le *guide de EventBridge l'utilisateur Amazon*.  
*Type :* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propriété d'une `AWS::Events::Rule` ressource.

 `State`   <a name="sam-function-cloudwatchevent-state"></a>
État de la règle.  
*Valeurs acceptées :* `DISABLED | ENABLED`  
Spécifiez la propriété `Enabled` ou la propriété `State`, mais pas les deux.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propriété d'une `AWS::Events::Rule` ressource.

## Exemples
<a name="sam-property-function-cloudwatchevent--examples"></a>

### CloudWatchEvent
<a name="sam-property-function-cloudwatchevent--examples--cloudwatchevent"></a>

Voici un exemple de type de source d'événement `CloudWatchEvent`.

#### YAML
<a name="sam-property-function-cloudwatchevent--examples--cloudwatchevent--yaml"></a>

```
CWEvent:
  Type: CloudWatchEvent
  Properties:
    Enabled: false
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - running
```

# CloudWatchLogs
<a name="sam-property-function-cloudwatchlogs"></a>

L'objet décrivant un type de source d'événement `CloudWatchLogs`.

Cet événement génère une ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html), puis précise un filtre d'abonnement et l'associe au groupe de journaux indiqué.

## Syntaxe
<a name="sam-property-function-cloudwatchlogs-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-property-function-cloudwatchlogs-syntax.yaml"></a>

```
  [FilterPattern](#sam-function-cloudwatchlogs-filterpattern): String
  [LogGroupName](#sam-function-cloudwatchlogs-loggroupname): String
```

## Propriétés
<a name="sam-property-function-cloudwatchlogs-properties"></a>

 `FilterPattern`   <a name="sam-function-cloudwatchlogs-filterpattern"></a>
Les expressions de filtrage qui limitent ce qui est livré à la AWS ressource de destination. Pour plus d'informations sur la syntaxe de modèle de filtre, consultez [Syntaxe de filtre et de modèle](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-filterpattern)` propriété d'une `AWS::Logs::SubscriptionFilter` ressource.

 `LogGroupName`   <a name="sam-function-cloudwatchlogs-loggroupname"></a>
Groupe de journaux auquel associer le filtre d'abonnement. Tous les événements de journal chargés dans ce groupe de journaux sont filtrés et transmis à la AWS ressource spécifiée si le modèle de filtre correspond aux événements du journal.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LogGroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-loggroupname)` propriété d'une `AWS::Logs::SubscriptionFilter` ressource.

## Exemples
<a name="sam-property-function-cloudwatchlogs--examples"></a>

### Filtres d'abonnement dans les journaux CloudWatch Logs
<a name="sam-property-function-cloudwatchlogs--examples--cloudwatchlogs-subscription-filter"></a>

Exemple de filtres d'abonnement dans les journaux CloudWatch Logs

#### YAML
<a name="sam-property-function-cloudwatchlogs--examples--cloudwatchlogs-subscription-filter--yaml"></a>

```
CWLog:
  Type: CloudWatchLogs
  Properties:
    LogGroupName:
      Ref: CloudWatchLambdaLogsGroup
    FilterPattern: My pattern
```

# Cognito
<a name="sam-property-function-cognito"></a>

L'objet décrivant un type de source d'événement `Cognito`.

## Syntaxe
<a name="sam-property-function-cognito-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-property-function-cognito-syntax.yaml"></a>

```
  [Trigger](#sam-function-cognito-trigger): List
  [UserPool](#sam-function-cognito-userpool): String
```

## Propriétés
<a name="sam-property-function-cognito-properties"></a>

 `Trigger`   <a name="sam-function-cognito-trigger"></a>
Informations relatives à la configuration des déclencheurs Lambda pour le nouveau pool d'utilisateurs.  
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LambdaConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html)` propriété d'une `AWS::Cognito::UserPool` ressource.

 `UserPool`   <a name="sam-function-cognito-userpool"></a>
Référence à UserPool définie dans le même modèle  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-cognito--examples"></a>

### Événement Cognito
<a name="sam-property-function-cognito--examples--cognito-event"></a>

Exemple d'événement Cognito

#### YAML
<a name="sam-property-function-cognito--examples--cognito-event--yaml"></a>

```
CognitoUserPoolPreSignup:
  Type: Cognito
  Properties:
    UserPool:
      Ref: MyCognitoUserPool
    Trigger: PreSignUp
```

# DocumentDB
<a name="sam-property-function-documentdb"></a>

L'objet décrivant un type de source d'événement `DocumentDB`. Pour plus d'informations, consultez la section [Utilisation AWS Lambda avec Amazon DocumentDB](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) dans le manuel du *AWS Lambda développeur*.

## Syntaxe
<a name="sam-property-function-documentdb-syntax"></a>

Pour déclarer cette entité dans votre AWS SAM modèle, utilisez la syntaxe suivante.

### YAML
<a name="sam-property-function-documentdb-syntax-yaml"></a>

```
BatchSize: Integer
Cluster: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
CollectionName: String
DatabaseName: String
Enabled: Boolean
FilterCriteria: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
FullDocument: String
KmsKeyArn: String  
MaximumBatchingWindowInSeconds: Integer
SecretsManagerKmsKeyId: String
SourceAccessConfigurations: List
StartingPosition: String
StartingPositionTimestamp: Double
```

## Propriétés
<a name="sam-property-function-documentdb-properties"></a>

 `BatchSize`   <a name="sam-function-documentdb-batchsize"></a>
Nombre maximum d'éléments à récupérer dans un seul lot.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Cluster`   <a name="sam-function-documentdb-cluster"></a>
Amazon Resource Name (ARN) du cluster Amazon DocumentDB.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `CollectionName`   <a name="sam-function-documentdb-collectionname"></a>
Le nom de la collection à consommer dans la base de données. Si vous ne spécifiez pas de collection, Lambda consomme toutes les collections.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ CollectionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-collectionname)` propriété d'un type de `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` données.

 `DatabaseName`   <a name="sam-function-documentdb-databasename"></a>
Le nom de la base de données à consommer dans le cluster Amazon DocumentDB.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ DatabaseName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-databasename)` propriété d'un type de `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` données.

 `Enabled`   <a name="sam-function-documentdb-enabled"></a>
Si la valeur est `true`, le mappage de source d'événement est actif. Pour suspendre l'interrogation et l'appel, définissez ce paramètre sur `false`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FilterCriteria`   <a name="sam-function-documentdb-filtercriteria"></a>
Un objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter [le filtrage d'événements Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) dans le *Guide du développeur AWS Lambda *.  
*Type :* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FullDocument`   <a name="sam-function-documentdb-fulldocument"></a>
Détermine ce qu'Amazon DocumentDB envoie à votre flux d'événements lors des opérations de mise à jour des documents. S'il est défini sur `UpdateLookup`, Amazon DocumentDB envoie un delta décrivant les modifications, ainsi qu'une copie de l'intégralité du document. Dans le cas contraire, Amazon DocumentDB n'envoie qu'un document partiel contenant les modifications.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ FullDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-fulldocument)` propriété d'un type de `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` données.

 `KmsKeyArn`   <a name="sam-function-documentdb-kmskeyarn"></a>
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-documentdb-maximumbatchingwindowinseconds"></a>
Intervalle de temps maximal (en secondes) pour collecter des enregistrements avant d’invoquer la fonction.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `SecretsManagerKmsKeyId`   <a name="sam-function-documentdb-secretsmanagerkmskeyid"></a>
L'identifiant de clé AWS Key Management Service (AWS KMS) d'une clé gérée par le client par AWS Secrets Manager. Requise lorsque vous utilisez une clé gérée par le client à partir de Secrets Manager avec un rôle d'exécution Lambda qui n'inclut pas l'autorisation `kms:Decrypt`.  
La valeur de cette propriété est un UUID. Par exemple: `1abc23d4-567f-8ab9-cde0-1fab234c5d67`.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceAccessConfigurations`   <a name="sam-function-documentdb-sourceaccessconfigurations"></a>
Un tableau du protocole d'authentification ou de l'hôte virtuel. Spécifiez-le à l'aide du type de [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html)données.  
Pour le type de source d'événement `DocumentDB`, le seul type de configuration valide est `BASIC_AUTH`.  
+ `BASIC_AUTH` – Le secret Secrets Manager qui stocke vos informations d'identification d'agent. Pour ce type, les informations d'identification doivent être au format suivant : `{"username": "your-username", "password": "your-password"}`. Un seul objet de type `BASIC_AUTH` est autorisé.
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPosition`   <a name="sam-function-documentdb-startingposition"></a>
Position de début de la lecture dans le flux.  
+ `AT_TIMESTAMP` : spécifier l'heure à partir de laquelle la lecture des enregistrements doit commencer.
+ `LATEST` : lire uniquement les nouveaux enregistrements.
+ `TRIM_HORIZON` : traiter tous les enregistrements disponibles.
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPositionTimestamp`   <a name="sam-function-documentdb-startingpositiontimestamp"></a>
L'heure à partir de laquelle commencer la lecture, en secondes au format horaire Unix. Définissez `StartingPositionTimestamp` lorsque `StartingPosition` est défini sur `AT_TIMESTAMP`.  
*Type* : double  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

## Exemples
<a name="sam-property-function-documentdb-examples"></a>

### Source d'événement Amazon DocumentDB
<a name="sam-property-function-documentdb-examples-example1"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
    ...
      Events:
        MyDDBEvent:
          Type: DocumentDB
          Properties:
            Cluster: "arn:aws:rds:us-west-2:123456789012:cluster:docdb-2023-01-01"
            BatchSize: 10
            MaximumBatchingWindowInSeconds: 5
            DatabaseName: "db1"
            CollectionName: "collection1"
            FullDocument: "UpdateLookup"
            SourceAccessConfigurations:
              - Type: BASIC_AUTH
                URI: "arn:aws:secretsmanager:us-west-2:123456789012:secret:doc-db"
```

# DynamoDB
<a name="sam-property-function-dynamodb"></a>

L'objet décrivant un type de source d'événement `DynamoDB`. *Pour plus d'informations, consultez la section [Utilisation AWS Lambda avec Amazon DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) dans AWS Lambda le manuel du développeur.*

AWS SAM génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)ressource lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-function-dynamodb-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-property-function-dynamodb-syntax.yaml"></a>

```
  [BatchSize](#sam-function-dynamodb-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-dynamodb-bisectbatchonfunctionerror): Boolean
  [DestinationConfig](#sam-function-dynamodb-destinationconfig): [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)
  [Enabled](#sam-function-dynamodb-enabled): Boolean
  [FilterCriteria](#sam-function-dynamodb-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-dynamodb-functionresponsetypes): List
  KmsKeyArn: String          
  [MaximumBatchingWindowInSeconds](#sam-function-dynamodb-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-dynamodb-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-dynamodb-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-dynamodb-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ParallelizationFactor](#sam-function-dynamodb-parallelizationfactor): Integer
  [StartingPosition](#sam-function-dynamodb-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-dynamodb-stream): String
  [TumblingWindowInSeconds](#sam-function-dynamodb-tumblingwindowinseconds): Integer
```

## Propriétés
<a name="sam-property-function-dynamodb-properties"></a>

 `BatchSize`   <a name="sam-function-dynamodb-batchsize"></a>
Nombre maximum d'éléments à récupérer dans un seul lot.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 100  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.  
*Minimum *: `1`  
*Maximum *: `1000`

 `BisectBatchOnFunctionError`   <a name="sam-function-dynamodb-bisectbatchonfunctionerror"></a>
Si la fonction renvoie une erreur, fractionnez le lot en deux et recommencez.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `DestinationConfig`   <a name="sam-function-dynamodb-destinationconfig"></a>
Une file d'attente Amazon Simple Queue Service (Amazon SQS) ou une rubrique de destination Amazon Simple Notification Service (Amazon SNS) pour les enregistrements ignorés.  
*Type :* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Enabled`   <a name="sam-function-dynamodb-enabled"></a>
Désactive le mappage de source d'événement pour suspendre l'interrogation et l'appel.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FilterCriteria`   <a name="sam-function-dynamodb-filtercriteria"></a>
Objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter [AWS Lambda le filtrage d’événements](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) dans le *AWS Lambda Manuel du développeur*.  
*Type :* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FunctionResponseTypes`   <a name="sam-function-dynamodb-functionresponsetypes"></a>
Une liste des type de réponse actuellement appliquées au mappage de la source d'événement. Pour plus d'informations, veuillez consulter la rubrique [Signalement des échecs d'éléments par lot](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting) dans le *Guide du développeur AWS Lambda *.  
*Valeurs valides* : `ReportBatchItemFailures`  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `KmsKeyArn`   <a name="sam-function-dynamodb-kmskeyarn"></a>
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-dynamodb-maximumbatchingwindowinseconds"></a>
Intervalle de temps maximal (en secondes) pour collecter des enregistrements avant d’invoquer la fonction.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-dynamodb-maximumrecordageinseconds"></a>
L'âge maximal d'une demande que Lambda envoie à une fonction pour traitement.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRetryAttempts`   <a name="sam-function-dynamodb-maximumretryattempts"></a>
Nombre maximum de tentatives autorisées lorsque la fonction renvoie une erreur.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MetricsConfig`   <a name="sam-function-dynamodb-metricsconfig"></a>
Une configuration optionnelle pour obtenir des métriques améliorées pour les mappages de sources d'événements qui capturent chaque étape du traitement. Pour obtenir un exemple, consultez [MetricsConfig événement](#sam-property-function-dynamodb-example-metricsconfigevent).  
*Type :* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ParallelizationFactor`   <a name="sam-function-dynamodb-parallelizationfactor"></a>
Le nombre de lots à traiter simultanément à partir de chaque partition.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ParallelizationFactor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPosition`   <a name="sam-function-dynamodb-startingposition"></a>
Position de début de la lecture dans le flux.  
+ `AT_TIMESTAMP` : spécifier l'heure à partir de laquelle la lecture des enregistrements doit commencer.
+ `LATEST` : lire uniquement les nouveaux enregistrements.
+ `TRIM_HORIZON` : traiter tous les enregistrements disponibles.
*Valeurs valides* : `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPositionTimestamp`   <a name="sam-function-dynamodb-startingpositiontimestamp"></a>
L'heure à partir de laquelle commencer la lecture, en secondes au format horaire Unix. Définissez `StartingPositionTimestamp` lorsque `StartingPosition` est défini sur `AT_TIMESTAMP`.  
*Type* : double  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Stream`   <a name="sam-function-dynamodb-stream"></a>
L'ARN (Amazon Resource Name) du flux de DynamoDB.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `TumblingWindowInSeconds`   <a name="sam-function-dynamodb-tumblingwindowinseconds"></a>
La durée d'une fenêtre de traitement en secondes. La plage valide est de 1 à 900 (15 minutes).  
Pour plus d'informations, consultez [Fenêtres bascules](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#streams-tumbling) dans le *Guide du développeur AWS Lambda *.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TumblingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

## Exemples
<a name="sam-property-function-dynamodb--examples"></a>

### MetricsConfig événement
<a name="sam-property-function-dynamodb-example-metricsconfigevent"></a>

Voici un exemple de ressource qui utilise la `MetricsConfig` propriété pour capturer chaque étape du traitement pour ses mappages de sources d'événements.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### Source d'événement DynamoDB pour une table DynamoDB existante
<a name="sam-property-function-dynamodb--examples--dynamodb-event-source-for-existing-dynamodb-table"></a>

Source d'événement DynamoDB pour une table DynamoDB qui existe déjà dans un compte. AWS 

#### YAML
<a name="sam-property-function-dynamodb--examples--dynamodb-event-source-for-existing-dynamodb-table--yaml"></a>

```
Events:
  DDBEvent:
    Type: DynamoDB
    Properties:
      Stream: arn:aws:dynamodb:us-east-1:123456789012:table/TestTable/stream/2016-08-11T21:21:33.291
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
```

### Événement DynamoDB pour la table DynamoDB déclarée dans le modèle
<a name="sam-property-function-dynamodb--examples--dynamodb-event-for-dynamodb-table-declared-in-template"></a>

Événement DynamoDB pour une table DynamoDB déclarée dans le même fichier de modèle.

#### YAML
<a name="sam-property-function-dynamodb--examples--dynamodb-event-for-dynamodb-table-declared-in-template--yaml"></a>

```
Events:
  DDBEvent:
    Type: DynamoDB
    Properties:
      Stream: 
        !GetAtt MyDynamoDBTable.StreamArn   # This must be the name of a DynamoDB table declared in the same template file
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
```

# EventBridgeRule
<a name="sam-property-function-eventbridgerule"></a>

L'objet décrivant un type de source d'`EventBridgeRule`événement, qui définit votre fonction sans serveur comme cible d'une EventBridge règle Amazon. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) dans le *guide de EventBridge l'utilisateur Amazon*.

AWS SAM génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)ressource lorsque ce type d'événement est défini. AWS SAM crée également une `AWS::Lambda::Permission` ressource, qui est nécessaire pour `EventBridgeRule` pouvoir appeler Lambda.

## Syntaxe
<a name="sam-property-function-eventbridgerule-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-property-function-eventbridgerule-syntax.yaml"></a>

```
  [DeadLetterConfig](#sam-function-eventbridgerule-deadletterconfig): DeadLetterConfig
  [EventBusName](#sam-function-eventbridgerule-eventbusname): String
  [Input](#sam-function-eventbridgerule-input): String
  [InputPath](#sam-function-eventbridgerule-inputpath): String
  InputTransformer: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)
  [Pattern](#sam-function-eventbridgerule-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  [RetryPolicy](#sam-function-eventbridgerule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  RuleName: String 
  State: String
  [Target](#sam-function-eventbridgerule-target): Target
```

## Propriétés
<a name="sam-property-function-eventbridgerule-properties"></a>

 `DeadLetterConfig`   <a name="sam-function-eventbridgerule-deadletterconfig"></a>
Configurez la file d'attente Amazon Simple Queue Service (Amazon SQS) dans EventBridge laquelle les événements sont envoyés après l'échec d'un appel cible. L'invocation peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas ou EventBridge lorsque les autorisations sont insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
Le type de ressource [AWS::Serverless::Function](sam-resource-function.md) a un type de données similaire, `DeadLetterQueue`, qui gère les échecs qui se produisent après l'invocation réussie de la fonction Lambda cible. Des exemples de ces types d'échecs incluent la limitation Lambda, ou les erreurs renvoyées par la fonction cible Lambda. Pour en savoir plus sur la propriété de fonction `DeadLetterQueue`, consultez [File d'attente de lettres mortes](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) dans le *Guide du développeur AWS Lambda *.
*Type :* [DeadLetterConfig](sam-property-function-deadletterconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle du type de `AWS::Events::Rule` `Target` données. `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` La AWS SAM version de cette propriété inclut des sous-propriétés supplémentaires, au cas où vous souhaiteriez AWS SAM créer la file d'attente de lettres mortes pour vous.

 `EventBusName`   <a name="sam-function-eventbridgerule-eventbusname"></a>
Le bus d'événements à associer à cette règle. Si vous omettez cette propriété, AWS SAM utilise le bus d'événements par défaut.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : bus d'événement par défaut  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propriété d'une `AWS::Events::Rule` ressource.

 `Input`   <a name="sam-function-eventbridgerule-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propriété d'une `AWS::Events::Rule Target` ressource.

 `InputPath`   <a name="sam-function-eventbridgerule-inputpath"></a>
Lorsque vous ne voulez pas transmettre l'événement correspondant complet, utilisez la propriété `InputPath` pour décrire quelles parties de l'événement transmettre à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propriété d'une `AWS::Events::Rule Target` ressource.

 `InputTransformer`   <a name="sam-function-eventbridgerule-inputtransformer"></a>
Paramètres qui vous permettent de fournir une entrée personnalisée à une cible en fonction de certaines données d'événement. Vous pouvez extraire une ou plusieurs paires clé-valeur à partir de l'événement, puis utiliser ces données pour envoyer l'entrée personnalisée à la cible. Pour plus d'informations, consultez la section [Transformation des EventBridge entrées Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) *dans le guide de EventBridge l'utilisateur Amazon*.   
*Type :* [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)` propriété d'un type de `AWS::Events::Rule` `Target` données.

 `Pattern`   <a name="sam-function-eventbridgerule-pattern"></a>
Décrit les événements qui sont acheminés vers la cible spécifiée. Pour plus d'informations, consultez les [ EventBridgeévénements Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) et les [modèles EventBridge d'événements](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) dans le *guide de EventBridge l'utilisateur Amazon*.  
*Type :* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propriété d'une `AWS::Events::Rule` ressource.

 `RetryPolicy`   <a name="sam-function-eventbridgerule-retrypolicy"></a>
Objet `RetryPolicy` qui inclut des informations sur les paramètres de politique de nouvelle tentative. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
*Type :* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propriété du type de `AWS::Events::Rule` `Target` données.

 `RuleName`   <a name="sam-function-eventbridgerule-rulename"></a>
Le nom de la règle .  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propriété d'une `AWS::Events::Rule` ressource.

 `State`   <a name="sam-function-eventbridgerule-state"></a>
État de la règle.  
*Valeurs acceptées* : `DISABLED` \$1 `ENABLED` \$1 `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state) ` propriété d'une `AWS::Events::Rule` ressource.

 `Target`   <a name="sam-function-eventbridgerule-target"></a>
La AWS ressource qui est EventBridge invoquée lorsqu'une règle est déclenchée. Vous pouvez utiliser cette propriété pour spécifier l'ID logique de la cible. Si cette propriété n'est pas spécifiée, AWS SAM génère l'ID logique de la cible.  
*Type* : [cible](sam-property-function-target.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` d'une `AWS::Events::Rule` ressource. `Amazon EC2 RebootInstances API call`est un exemple de propriété cible. La version AWS SAM de cette propriété vous permet uniquement de spécifier l'ID logique d'une seule cible.

## Exemples
<a name="sam-property-function-eventbridgerule--examples"></a>

### EventBridgeRule
<a name="sam-property-function-eventbridgerule--examples--eventbridgerule"></a>

Voici un exemple de type de source d'événement `EventBridgeRule`.

#### YAML
<a name="sam-property-function-eventbridgerule--examples--eventbridgerule--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - terminated
    RetryPolicy:
      MaximumRetryAttempts: 5
      MaximumEventAgeInSeconds: 900
    DeadLetterConfig:
      Type: SQS
      QueueLogicalId: EBRuleDLQ
    Target:
      Id: MyTarget
```

# DeadLetterConfig
<a name="sam-property-function-deadletterconfig"></a>

L'objet utilisé pour spécifier la file d'attente Amazon Simple Queue Service (Amazon SQS) EventBridge où envoie les événements après l'échec d'un appel cible. L'appel peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas, ou en cas d'autorisations insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *

**Note**  
Le type de ressource [AWS::Serverless::Function](sam-resource-function.md) a un type de données similaire, `DeadLetterQueue`, qui gère les échecs qui se produisent après l'appel réussi de la fonction Lambda cible. Des exemples de ce type de défaillance incluent la limitation Lambda ou les erreurs renvoyées par la fonction cible Lambda. Pour en savoir plus sur la propriété de fonction `DeadLetterQueue`, consultez [File d'attente de lettres mortes](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) dans le *Guide du développeur AWS Lambda *.

## Syntaxe
<a name="sam-property-function-deadletterconfig-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-property-function-deadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-function-deadletterconfig-arn): String
  [QueueLogicalId](#sam-function-deadletterconfig-queuelogicalid): String
  [Type](#sam-function-deadletterconfig-type): String
```

## Propriétés
<a name="sam-property-function-deadletterconfig-properties"></a>

 `Arn`   <a name="sam-function-deadletterconfig-arn"></a>
L'Amazon Resource Name (ARN) de la file d'attente Amazon SQS spécifiée comme cible pour la file d'attente de lettres mortes.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propriété du type de `AWS::Events::Rule` `DeadLetterConfig` données.

 `QueueLogicalId`   <a name="sam-function-deadletterconfig-queuelogicalid"></a>
Le nom personnalisé de la file d'attente de lettres mortes qui la AWS SAM crée `Type` est spécifié.  
Si la propriété `Type` n'est pas définie, cette propriété est ignorée.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Type`   <a name="sam-function-deadletterconfig-type"></a>
Type de la file d'attente. Lorsque cette propriété est définie, crée AWS SAM automatiquement une file d'attente de lettres mortes et y joint la [politique basée sur les ressources](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) nécessaire pour autoriser la ressource à envoyer des événements à la file d'attente.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Valeurs valides* : `SQS`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-deadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-function-deadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-function-deadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-function-target"></a>

Configure la AWS ressource qui est EventBridge invoquée lorsqu'une règle est déclenchée.

## Syntaxe
<a name="sam-property-function-target-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-property-function-target-syntax.yaml"></a>

```
  [Id](#sam-function-target-id): String
```

## Propriétés
<a name="sam-property-function-target-properties"></a>

 `Id`   <a name="sam-function-target-id"></a>
L'ID logique de la cible.  
La valeur de `Id` peut inclure des caractères alphanumériques, des points (`.`), des tirets (`-`) et des tirets du bas (`_`).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` propriété du type de `AWS::Events::Rule` `Target` données.

## Exemples
<a name="sam-property-function-target--examples"></a>

### Cible
<a name="sam-property-function-target--examples--target"></a>

#### YAML
<a name="sam-property-function-target--examples--target--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Target:
      Id: MyTarget
```

# HttpApi
<a name="sam-property-function-httpapi"></a>

L'objet décrivant une source d'événement avec type HttpApi.

Si une OpenApi définition du chemin et de la méthode spécifiés existe dans l'API, SAM ajoutera la section Intégration et sécurité Lambda (le cas échéant) pour vous.

Si aucune OpenApi définition pour le chemin et la méthode spécifiés n'existe dans l'API, SAM créera cette définition pour vous.

## Syntaxe
<a name="sam-property-function-httpapi-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-property-function-httpapi-syntax.yaml"></a>

```
  [ApiId](#sam-function-httpapi-apiid): String
  [Auth](#sam-function-httpapi-auth): HttpApiFunctionAuth
  [Method](#sam-function-httpapi-method): String
  [Path](#sam-function-httpapi-path): String
  [PayloadFormatVersion](#sam-function-httpapi-payloadformatversion): String
  [RouteSettings](#sam-function-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [TimeoutInMillis](#sam-function-httpapi-timeoutinmillis): Integer
```

## Propriétés
<a name="sam-property-function-httpapi-properties"></a>

 `ApiId`   <a name="sam-function-httpapi-apiid"></a>
Identificateur d'une ressource [AWS::Serverless::HttpApi](sam-resource-httpapi.md) définie dans ce modèle.  
Si elle n'est pas définie, une [AWS::Serverless::HttpApi](sam-resource-httpapi.md) ressource par défaut est créée appelée à `ServerlessHttpApi` l'aide d'un OpenApi document généré contenant une union de tous les chemins et méthodes définis par les événements Api définis dans ce modèle qui ne spécifient pas de`ApiId`.  
Cela ne peut pas référencer une ressource [AWS::Serverless::HttpApi](sam-resource-httpapi.md) définie dans un autre modèle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Auth`   <a name="sam-function-httpapi-auth"></a>
Configuration d'authentification pour cette méthode Api\$1Chemin\$1Méthode spécifique.  
Utile pour remplacer la configuration d'autorisation du paramètre de `DefaultAuthorizer` de l'API sur un chemin d'accès individuel, lorsqu'aucun `DefaultAuthorizer` n'est spécifié.  
*Type :* [HttpApiFunctionAuth](sam-property-function-httpapifunctionauth.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Method`   <a name="sam-function-httpapi-method"></a>
Méthode HTTP pour laquelle cette fonction est appelée.  
 \$1Si non`Path`and`Method`sont spécifiés, SAM créera un chemin d'API par défaut qui achemine toute requête qui ne mappe pas à un autre point de terminaison vers cette fonction Lambda. Seul un de ces chemins par défaut peut exister par API.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Path`   <a name="sam-function-httpapi-path"></a>
Chemin d'accès d'URI pour lequel cette fonction est appelée. Doit commencer par `/`.  
Si aucun `Path` et `Method` ne sont spécifiés, SAM créera un chemin d'API par défaut qui acheminera toute demande qui ne mappe pas à un autre point de terminaison vers cette fonction Lambda. Seul un de ces chemins par défaut peut exister par API.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `PayloadFormatVersion`   <a name="sam-function-httpapi-payloadformatversion"></a>
Spécifie le format de la charge utile envoyée à une intégration.  
REMARQUE : PayloadFormatVersion nécessite que SAM modifie votre définition d'OpenAPI, de sorte que cela ne fonctionne qu'avec les éléments en ligne OpenApi définis dans la propriété. `DefinitionBody`  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : 2.0  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RouteSettings`   <a name="sam-function-httpapi-routesettings"></a>
Les paramètres d'acheminement par acheminement pour cette API HTTP. Pour plus d'informations sur les paramètres d'itinéraire, consultez [AWS::ApiGatewayV2::Stage RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html)le *guide du développeur d'API Gateway*.  
Remarque : S' RouteSettings ils sont spécifiés à la fois dans la source de HttpApi ressource et dans la source d'événement, AWS SAM fusionnez-les avec les propriétés de la source d'événements prioritaires.  
*Type :* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` propriété d'une `AWS::ApiGatewayV2::Stage` ressource.

 `TimeoutInMillis`   <a name="sam-function-httpapi-timeoutinmillis"></a>
Délai d'attente personnalisé compris entre 50 et 29 000 millisecondes.  
REMARQUE : TimeoutInMillis nécessite que SAM modifie votre définition d'OpenAPI, de sorte que cela ne fonctionne qu'avec les éléments en ligne OpenApi définis dans la propriété. `DefinitionBody`  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 5000  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-httpapi--examples"></a>

### HttpApi Événement par défaut
<a name="sam-property-function-httpapi--examples--default-httpapi-event"></a>

HttpApi Evénement utilisant le chemin par défaut. Tous les chemins d‘accès et méthodes non mappés sur cette API seront acheminés vers ce point de terminaison.

#### YAML
<a name="sam-property-function-httpapi--examples--default-httpapi-event--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
```

### HttpApi
<a name="sam-property-function-httpapi--examples--httpapi"></a>

HttpApi Evénement utilisant un chemin et une méthode spécifiques.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /
      Method: GET
```

### HttpApi Autorisation
<a name="sam-property-function-httpapi--examples--httpapi-authorization"></a>

HttpApi Événement utilisant un autorisateur.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi-authorization--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /authenticated
      Method: GET
      Auth:
        Authorizer: OpenIdAuth
        AuthorizationScopes:
          - scope1
          - scope2
```

# HttpApiFunctionAuth
<a name="sam-property-function-httpapifunctionauth"></a>

Configure l'autorisation au niveau de l'événement.

Configurez l'autorisation pour une formule Api\$1Chemin\$1Méthode spécifique.

## Syntaxe
<a name="sam-property-function-httpapifunctionauth-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-property-function-httpapifunctionauth-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-function-httpapifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-httpapifunctionauth-authorizer): String
```

## Propriétés
<a name="sam-property-function-httpapifunctionauth-properties"></a>

 `AuthorizationScopes`   <a name="sam-function-httpapifunctionauth-authorizationscopes"></a>
Les étendues d'autorisation à appliquer à cette API, ce chemin d'accès et cette méthode.  
Les portées répertoriées ici remplaceront toutes les portées appliquées par le `DefaultAuthorizer` s'il en existe un.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Authorizer`   <a name="sam-function-httpapifunctionauth-authorizer"></a>
Le `Authorizer` pour une Fonction spécifique. Pour utiliser l'autorisation IAM, spécifiez `AWS_IAM` et spécifiez `true` pour `EnableIamAuthorizer` dans la section `Globals` de votre modèle.  
Si vous avez spécifié un mécanisme d'autorisation global sur l'API et que vous souhaitez rendre publique une fonction spécifique, remplacez en définissant `Authorizer` sur `NONE`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-httpapifunctionauth--examples"></a>

### Fonction-Auth (Autorisation fonction)
<a name="sam-property-function-httpapifunctionauth--examples--function-auth"></a>

Spécification de l'autorisation au niveau de la fonction

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  Authorizer: OpenIdAuth
  AuthorizationScopes:
    - scope1
    - scope2
```

### autorisation IAM
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization"></a>

Spécifie l'autorisation IAM au niveau de l'événement. Pour utiliser l'autorisation `AWS_IAM` au niveau de l'événement, vous devez également spécifier `true` pour `EnableIamAuthorizer` dans la section `Globals` de votre modèle. Pour de plus amples informations, veuillez consulter [Section « Globales » du modèle AWS SAM](sam-specification-template-anatomy-globals.md).

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization--yaml"></a>

```
Globals:
  HttpApi:
    Auth:
      EnableIamAuthorizer: true

Resources:
  HttpApiFunctionWithIamAuth:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
          Properties:
            Path: /iam-auth
            Method: GET
            Auth:
              Authorizer: AWS_IAM
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
          return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200}
      Runtime: python3.9
```

# IoTRule
<a name="sam-property-function-iotrule"></a>

L'objet décrivant un type de source d'événement `IoTRule`.

Crée une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)ressource pour déclarer une AWS IoT règle. Pour plus d'informations, consultez la [documentation CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html).

## Syntaxe
<a name="sam-property-function-iotrule-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-property-function-iotrule-syntax.yaml"></a>

```
  [AwsIotSqlVersion](#sam-function-iotrule-awsiotsqlversion): String
  [Sql](#sam-function-iotrule-sql): String
```

## Propriétés
<a name="sam-property-function-iotrule-properties"></a>

 `AwsIotSqlVersion`   <a name="sam-function-iotrule-awsiotsqlversion"></a>
Version du moteur de règles SQL à utiliser lors de l'évaluation de la règle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AwsIotSqlVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-awsiotsqlversion)` propriété d'une `AWS::IoT::TopicRule TopicRulePayload` ressource.

 `Sql`   <a name="sam-function-iotrule-sql"></a>
Instruction SQL utilisée pour interroger la rubrique. Pour plus d'informations, consultez la [Référence SQL AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) dans le *Guide du développeur AWS IoT *.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Sql](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-sql)` propriété d'une `AWS::IoT::TopicRule TopicRulePayload` ressource.

## Exemples
<a name="sam-property-function-iotrule--examples"></a>

### Règle IOT
<a name="sam-property-function-iotrule--examples--iot-rule"></a>

Exemples de règle IOT

#### YAML
<a name="sam-property-function-iotrule--examples--iot-rule--yaml"></a>

```
IoTRule:
  Type: IoTRule
  Properties:
    Sql: SELECT * FROM 'topic/test'
```

# Kinesis
<a name="sam-property-function-kinesis"></a>

L'objet décrivant un type de source d'événement `Kinesis`. Pour plus d'informations, consultez la section [Utilisation AWS Lambda avec Amazon Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) dans le Guide du *AWS Lambda développeur*.

AWS SAM génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)ressource lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-function-kinesis-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-property-function-kinesis-syntax.yaml"></a>

```
  [BatchSize](#sam-function-kinesis-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-kinesis-bisectbatchonfunctionerror): Boolean
  [DestinationConfig](#sam-function-kinesis-destinationconfig): [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)
  [Enabled](#sam-function-kinesis-enabled): Boolean
  [FilterCriteria](#sam-function-kinesis-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-kinesis-functionresponsetypes): List
  KmsKeyArn: String          
  [MaximumBatchingWindowInSeconds](#sam-function-kinesis-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-kinesis-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-kinesis-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-kinesis-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ParallelizationFactor](#sam-function-kinesis-parallelizationfactor): Integer
  [StartingPosition](#sam-function-kinesis-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-kinesis-stream): String
  [TumblingWindowInSeconds](#sam-function-kinesis-tumblingwindowinseconds): Integer
```

## Propriétés
<a name="sam-property-function-kinesis-properties"></a>

 `BatchSize`   <a name="sam-function-kinesis-batchsize"></a>
Nombre maximum d'éléments à récupérer dans un seul lot.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 100  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.  
*Minimum *: `1`  
*Maximum *: `10000`

 `BisectBatchOnFunctionError`   <a name="sam-function-kinesis-bisectbatchonfunctionerror"></a>
Si la fonction renvoie une erreur, fractionnez le lot en deux et recommencez.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `DestinationConfig`   <a name="sam-function-kinesis-destinationconfig"></a>
Une file d'attente Amazon Simple Queue Service (Amazon SQS) ou une rubrique de destination Amazon Simple Notification Service (Amazon SNS) pour les enregistrements ignorés.  
*Type :* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Enabled`   <a name="sam-function-kinesis-enabled"></a>
Désactive le mappage de source d'événement pour suspendre l'interrogation et l'appel.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FilterCriteria`   <a name="sam-function-kinesis-filtercriteria"></a>
Objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter [AWS Lambda le filtrage d’événements](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) dans le *AWS Lambda Manuel du développeur*.  
*Type :* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FunctionResponseTypes`   <a name="sam-function-kinesis-functionresponsetypes"></a>
Une liste des type de réponse actuellement appliquées au mappage de la source d'événement. Pour plus d'informations, veuillez consulter la rubrique [Signalement des échecs d'éléments par lot](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-batchfailurereporting) dans le *Guide du développeur AWS Lambda *.  
*Valeurs valides* : `ReportBatchItemFailures`  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `KmsKeyArn`   <a name="sam-function-kinesis-kmskeyarn"></a>
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-kinesis-maximumbatchingwindowinseconds"></a>
Intervalle de temps maximal (en secondes) pour collecter des enregistrements avant d’invoquer la fonction.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-kinesis-maximumrecordageinseconds"></a>
L'âge maximal d'une demande que Lambda envoie à une fonction pour traitement.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRetryAttempts`   <a name="sam-function-kinesis-maximumretryattempts"></a>
Nombre maximum de tentatives autorisées lorsque la fonction renvoie une erreur.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MetricsConfig`   <a name="sam-function-kinesis-metricsconfig"></a>
Une configuration optionnelle pour obtenir des métriques améliorées pour les mappages de sources d'événements qui capturent chaque étape du traitement. Pour obtenir un exemple, consultez [MetricsConfig événement](sam-property-function-dynamodb.md#sam-property-function-dynamodb-example-metricsconfigevent).  
*Type :* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ParallelizationFactor`   <a name="sam-function-kinesis-parallelizationfactor"></a>
Le nombre de lots à traiter simultanément à partir de chaque partition.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ParallelizationFactor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPosition`   <a name="sam-function-kinesis-startingposition"></a>
Position de début de la lecture dans le flux.  
+ `AT_TIMESTAMP` : spécifier l'heure à partir de laquelle la lecture des enregistrements doit commencer.
+ `LATEST` : lire uniquement les nouveaux enregistrements.
+ `TRIM_HORIZON` : traiter tous les enregistrements disponibles.
*Valeurs valides* : `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPositionTimestamp`   <a name="sam-function-kinesis-startingpositiontimestamp"></a>
L'heure à partir de laquelle commencer la lecture, en secondes au format horaire Unix. Définissez `StartingPositionTimestamp` lorsque `StartingPosition` est défini sur `AT_TIMESTAMP`.  
*Type* : double  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Stream`   <a name="sam-function-kinesis-stream"></a>
L'Amazon Resource Name (ARN) du flux de données ou d'un consommateur de flux.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `TumblingWindowInSeconds`   <a name="sam-function-kinesis-tumblingwindowinseconds"></a>
La durée d'une fenêtre de traitement en secondes. La plage valide est de 1 à 900 (15 minutes).  
Pour plus d'informations, consultez [Fenêtres bascules](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#streams-tumbling) dans le *Guide du développeur AWS Lambda *.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TumblingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

## Exemples
<a name="sam-property-function-kinesis--examples"></a>

### MetricsConfig événement
<a name="sam-property-function-kinesis-example-metricsconfigevent"></a>

Voici un exemple de ressource qui utilise la `MetricsConfig` propriété pour capturer chaque étape du traitement pour ses mappages de sources d'événements.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### Source de l'événement Kinesis
<a name="sam-property-function-kinesis--examples--kinesis-event-source"></a>

Voici un exemple de source d'événement Kinesis.

#### YAML
<a name="sam-property-function-kinesis--examples--kinesis-event-source--yaml"></a>

```
Events:
  KinesisEvent:
    Type: Kinesis
    Properties:
      Stream: arn:aws:kinesis:us-east-1:123456789012:stream/my-stream
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
      FilterCriteria: 
        Filters: 
          - Pattern: '{"key": ["val1", "val2"]}'
```

# MQ
<a name="sam-property-function-mq"></a>

L'objet décrivant un type de source d'événement `MQ`. Pour plus d'informations, consultez [Utilisation AWS Lambda avec Amazon MQ](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html) dans le *Guide du développeur AWS Lambda *.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)ressource lorsque ce type d'événement est défini.

**Note**  
Pour avoir une file d'attente Amazon MQ dans un cloud privé virtuel (VPC) qui se connecte à une fonction Lambda dans un réseau public, le rôle d'exécution de votre fonction doit inclure les autorisations suivantes :   
`ec2:CreateNetworkInterface`
`ec2:DeleteNetworkInterface`
`ec2:DescribeNetworkInterfaces`
`ec2:DescribeSecurityGroups`
`ec2:DescribeSubnets`
`ec2:DescribeVpcs`
Pour plus d'informations, consultez [Autorisations de rôle d'exécution](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#events-mq-permissions) dans le *Guide du développeur AWS Lambda *.

## Syntaxe
<a name="sam-property-function-mq-syntax"></a>

Pour déclarer cette entité dans votre AWS SAM modèle, utilisez la syntaxe suivante.

### YAML
<a name="sam-property-function-mq-syntax.yaml"></a>

```
  [BatchSize](#sam-function-mq-batchsize): Integer
  [Broker](#sam-function-mq-broker): String
  DynamicPolicyName: Boolean
  [Enabled](#sam-function-mq-enabled): Boolean
  [FilterCriteria](#sam-function-mq-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  KmsKeyArn: String 
  [MaximumBatchingWindowInSeconds](#sam-function-mq-maximumbatchingwindowinseconds): Integer
  [Queues](#sam-function-mq-queues): List
  [SecretsManagerKmsKeyId](#sam-function-mq-secretsmanagerkmskeyid): String
  [SourceAccessConfigurations](#sam-function-mq-sourceaccessconfigurations): List
```

## Propriétés
<a name="sam-property-function-mq-properties"></a>

 `BatchSize`   <a name="sam-function-mq-batchsize"></a>
Nombre maximum d'éléments à récupérer dans un seul lot.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 100  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.  
*Minimum *: `1`  
*Maximum *: `10000`

 `Broker`   <a name="sam-function-mq-broker"></a>
Amazon Resource Name (ARN) de l'agent Amazon MQ.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `DynamicPolicyName`   <a name="sam-function-mq-dynamicpolicyname"></a>
Par défaut, le nom de la politique Gestion des identités et des accès AWS (IAM) est `SamAutoGeneratedAMQPolicy` destiné à la rétrocompatibilité. Spécifiez `true` pour utiliser un nom généré automatiquement pour votre politique IAM. Ce nom inclura l'ID logique de la source d'événements Amazon MQ.  
Lorsque vous utilisez plus d'une source d'événements Amazon MQ, spécifiez la valeur `true` pour éviter la duplication des noms de politique IAM.
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `false`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Enabled`   <a name="sam-function-mq-enabled"></a>
Si la valeur est `true`, le mappage de source d'événement est actif. Pour suspendre l'interrogation et l'appel, définissez ce paramètre sur `false`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FilterCriteria`   <a name="sam-function-mq-filtercriteria"></a>
Objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter [AWS Lambda le filtrage d’événements](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) dans le *AWS Lambda Manuel du développeur*.  
*Type :* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `KmsKeyArn`   <a name="sam-function-mq-kmskeyarn"></a>
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-mq-maximumbatchingwindowinseconds"></a>
Intervalle de temps maximal (en secondes) pour collecter des enregistrements avant d’invoquer la fonction.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Queues`   <a name="sam-function-mq-queues"></a>
Le nom de la file d'attente de destination de l'agent Amazon MQ à consommer.  
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Queues](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `SecretsManagerKmsKeyId`   <a name="sam-function-mq-secretsmanagerkmskeyid"></a>
L'identifiant de clé AWS Key Management Service (AWS KMS) d'une clé gérée par le client provenant de AWS Secrets Manager. Requise lorsque vous utilisez une clé gérée par le client à partir de Secrets Manager avec un rôle d'exécution Lambda qui n'inclut pas l'autorisation `kms:Decrypt`.  
La valeur de cette propriété est un UUID. Par exemple: `1abc23d4-567f-8ab9-cde0-1fab234c5d67`.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceAccessConfigurations`   <a name="sam-function-mq-sourceaccessconfigurations"></a>
Un tableau du protocole d'authentification ou de l'hôte virtuel. Spécifiez-le à l'aide du type de [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html)données.  
Pour le type de source d'événement `MQ`, les seuls types de configuration valides sont `BASIC_AUTH` et `VIRTUAL_HOST`.  
+ **`BASIC_AUTH`** – Le secret Secrets Manager qui stocke vos informations d'identification d'agent. Pour ce type, les informations d'identification doivent être au format suivant : `{"username": "your-username", "password": "your-password"}`. Un seul objet de type `BASIC_AUTH` est autorisé.
+ **`VIRTUAL_HOST`** – Le nom de l'hôte virtuel dans votre agent RabbitMQ. Lambda utilisera cet hôte RabbitMQ comme source d'événement. Un seul objet de type `VIRTUAL_HOST` est autorisé.
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

## Exemples
<a name="sam-property-function-mq--examples"></a>

### Source d'événement Amazon MQ
<a name="sam-property-function-mq--examples--amazon-mq-event-source"></a>

Voici un exemple de type de source d'événement `MQ` pour un agent Amazon MQ.

#### YAML
<a name="sam-property-function-mq--examples--amazon-mq-event-source--yaml"></a>

```
Events:
  MQEvent:
    Type: MQ
    Properties:
      Broker: arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9
      Queues: List of queues
      SourceAccessConfigurations:
        - Type: BASIC_AUTH
          URI: arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName
      BatchSize: 200
      Enabled: true
```

# MSK
<a name="sam-property-function-msk"></a>

L'objet décrivant un type de source d'événement `MSK`. Pour plus d'informations, consultez la section [Utilisation AWS Lambda avec Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) dans le *manuel du AWS Lambda développeur*.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)ressource lorsque ce type d'événement est défini.

Pour utiliser Schema Registry, vous devez définir des autorisations de rôle IAM spécifiques pour votre fonction. Voir [Configuration complète avec des rôles IAM](#sam-property-function-msk-example-complete) pour un exemple de configuration requise.

## Syntaxe
<a name="sam-property-function-msk-syntax"></a>

Pour déclarer cette entité dans votre AWS SAM modèle, utilisez la syntaxe suivante.

### YAML
<a name="sam-property-function-msk-syntax.yaml"></a>

```
  [BatchSize](#sam-function-msk-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-msk-bisectbatchonfunctionerror): Boolean
  [ConsumerGroupId](#sam-function-msk-consumergroupid): String
  DestinationConfig: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)
  [Enabled](#sam-function-msk-enabled): Boolean
  [FilterCriteria](#sam-function-msk-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-msk-functionresponsetypes): List
  KmsKeyArn: String
  [MaximumBatchingWindowInSeconds](#sam-function-msk-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-msk-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-msk-maximumretryattempts): Integer
  [LoggingConfig](#sam-function-msk-loggingconfig): [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)
  [MetricsConfig](#sam-function-msk-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)
  [ProvisionedPollerConfig](#sam-function-msk-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [SchemaRegistryConfig](#sam-function-msk-schemaregistryconfig): [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig.html)
  SourceAccessConfigurations: [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)
  [StartingPosition](#sam-function-msk-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-msk-stream): String
  [Topics](#sam-function-msk-topics): List
```

## Propriétés
<a name="sam-property-function-msk-properties"></a>

 `BatchSize`   <a name="sam-function-msk-batchsize"></a>
Nombre maximal d’enregistrements dans chaque lot que Lambda extrait de votre flux ou file d’attente et envoie à votre fonction. Lambda transmet tous les enregistrements du lot à la fonction en un seul appel, dans la limite de charge utile pour une invocation synchrone (6 Mo).  
*Par défaut *: 100  
*Plage valide* : valeur minimale de 1. Valeur maximale de 10 000.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `BisectBatchOnFunctionError`   <a name="sam-function-msk-bisectbatchonfunctionerror"></a>
Si la fonction renvoie une erreur, fractionnez le lot en deux et recommencez.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ConsumerGroupId`   <a name="sam-function-msk-consumergroupid"></a>
Chaîne qui configure la façon dont les événements seront lus à partir des rubriques Kafka.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AmazonManagedKafkaConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `DestinationConfig`   <a name="sam-function-msk-destinationconfig"></a>
Objet de configuration qui spécifie la destination d'un événement après son traitement par Lambda.  
Utilisez cette propriété pour spécifier la destination des invocations ayant échoués à partir de la source d'événements Amazon MSK.  
*Type :* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Enabled`   <a name="sam-function-msk-enabled"></a>
Désactive le mappage de source d'événement pour suspendre l'interrogation et l'appel.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FilterCriteria`   <a name="sam-function-msk-filtercriteria"></a>
Objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter [AWS Lambda le filtrage d’événements](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) dans le *AWS Lambda Manuel du développeur*.  
*Type :* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FunctionResponseTypes`   <a name="sam-function-msk-functionresponsetypes"></a>
Une liste des type de réponse actuellement appliquées au mappage de la source d'événement. Pour plus d'informations, veuillez consulter la rubrique [Signalement des échecs d'éléments par lot](https://docs.aws.amazon.com/lambda/latest/dg/kafka-retry-configurations.html) dans le *Guide du développeur AWS Lambda *.  
*Valeurs valides* : `ReportBatchItemFailures`  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `KmsKeyArn`   <a name="sam-function-msk-kmskeyarn"></a>
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-msk-maximumbatchingwindowinseconds"></a>
Intervalle de temps maximal (en secondes) pour collecter des enregistrements avant d’invoquer la fonction.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-msk-maximumrecordageinseconds"></a>
L'âge maximal d'une demande que Lambda envoie à une fonction pour traitement.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRetryAttempts`   <a name="sam-function-msk-maximumretryattempts"></a>
Nombre maximum de tentatives autorisées lorsque la fonction renvoie une erreur.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `LoggingConfig`   <a name="sam-function-msk-loggingconfig"></a>
Objet de configuration qui spécifie la configuration de journalisation pour le mappage des sources d'événements.  
*Type :* [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MetricsConfig`   <a name="sam-function-msk-metricsconfig"></a>
Objet de configuration qui spécifie la configuration des métriques pour le mappage des sources d'événements.  
*Type :* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ProvisionedPollerConfig`   <a name="sam-function-msk-provisionedpollerconfig"></a>
Configuration pour augmenter le nombre de sondeurs utilisés pour calculer les mappages de sources d'événements. Cette configuration permet un minimum de 1 sondeur et un maximum de 2 000 sondeurs. Pour un exemple, reportez-vous à[ProvisionedPollerConfig exemple](#sam-property-function-msk-example-provisionedpollerconfig).  
*Type :* [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

`SchemaRegistryConfig`  <a name="sam-function-msk-schemaregistryconfig"></a>
Configuration pour l'utilisation d'un registre de schémas avec la source d'événements Kafka.  
Cette fonctionnalité doit `ProvisionedPollerConfig` être configurée.
*Type* : SchemaRegistryConfig  
*Obligatoire* : non  
*CloudFormation compatibilité :* cette propriété est transmise directement à la `[AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `SourceAccessConfigurations`   <a name="sam-function-msk-sourceaccessconfigurations"></a>
Tableau du protocole d’authentification, composants VPC ou hôte virtuel pour sécuriser et définir votre source d’événement.  
*Valeurs valides* : `CLIENT_CERTIFICATE_TLS_AUTH`  
*Type* : liste de propriétés [SourceAccessConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html)  
*Obligatoire* : non  
*CloudFormation compatibilité :* cette propriété fait partie de la [AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig)propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPosition`   <a name="sam-function-msk-startingposition"></a>
Position de début de la lecture dans le flux.  
+ `AT_TIMESTAMP` : spécifier l'heure à partir de laquelle la lecture des enregistrements doit commencer.
+ `LATEST` : lire uniquement les nouveaux enregistrements.
+ `TRIM_HORIZON` : traiter tous les enregistrements disponibles.
*Valeurs valides* : `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPositionTimestamp`   <a name="sam-function-msk-startingpositiontimestamp"></a>
L'heure à partir de laquelle commencer la lecture, en secondes au format horaire Unix. Définissez `StartingPositionTimestamp` lorsque `StartingPosition` est défini sur `AT_TIMESTAMP`.  
*Type* : double  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Stream`   <a name="sam-function-msk-stream"></a>
L'Amazon Resource Name (ARN) du flux de données ou d'un consommateur de flux.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Topics`   <a name="sam-function-msk-topics"></a>
Nom de la rubrique Kafka.  
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Topics](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

## Exemples
<a name="sam-property-function-msk--examples"></a>

### Configuration complète avec des rôles IAM
<a name="sam-property-function-msk-example-complete"></a>

L'exemple suivant montre une configuration complète, y compris la configuration de rôle IAM requise pour utiliser Schema Registry :

```
Parameters:
  PreCreatedSubnetOne:
    Type: String
  PreCreatedSubnetTwo:
    Type: String
  MskClusterName4:
    Type: String

Resources:
  MyLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Action: [sts:AssumeRole]
          Effect: Allow
          Principal:
            Service: [lambda.amazonaws.com]
      Policies:
      - PolicyName: KafkaClusterPermissions
        PolicyDocument:
          Statement:
          - Action: [kafka:DescribeClusterV2, kafka:GetBootstrapBrokers]
            Effect: Allow
            Resource: 'arn:aws:kafka:us-east-1:123456789012:cluster/*'
      - PolicyName: KafkaAuthPolicy
        PolicyDocument:
          Statement:
          - Action: [secretsmanager:GetSecretValue, kms:Decrypt]
            Effect: "Allow"
            Resource: ['arn:aws:secretsmanager:us-west-2:123456789012:secret:kafkaSecret-******',
                        'arn:aws:kms:us-west-2:123456789012:key/keyId']
      - PolicyName: ENIPolicy
        PolicyDocument:
          Statement:
          - Action: [ec2:CreateNetworkInterface,
              ec2:DescribeNetworkInterfaces, ec2:DescribeVpcs, ec2:DeleteNetworkInterface,
              ec2:DescribeSubnets, ec2:DescribeSecurityGroups]
            Effect: Allow
            Resource: '*'
      - PolicyName: SchemaRegistryPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetRegistry]
            Effect: Allow
            Resource: 'arn:aws:glue:{region}:{account-id}:registry/{registry-name}'
      - PolicyName: SchemaVersionsPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetSchemaVersions]
            Effect: Allow
            Resource: '*'
      ManagedPolicyArns:
      - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Tags:
      - {Value: SAM, Key: lambda:createdBy}

  MyMskCluster:
    Type: AWS::MSK::Cluster
    Properties:
      BrokerNodeGroupInfo:
        ClientSubnets:
        - Ref: PreCreatedSubnetOne
        - Ref: PreCreatedSubnetTwo
        InstanceType: kafka.t3.small
        StorageInfo:
          EBSStorageInfo:
            VolumeSize: 1
      ClusterName:
        Ref: MskClusterName4
      KafkaVersion: 3.8.x
      NumberOfBrokerNodes: 2

  MyMskStreamProcessor:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs18.x
      Handler: index.handler
      CodeUri: ${codeuri}
      Role:
        Fn::GetAtt: [MyLambdaExecutionRole, Arn]
      Events:
        MyMskEvent:
          Type: MSK
          Properties:
            StartingPosition: LATEST
            Stream:
              Ref: MyMskCluster
            SourceAccessConfigurations:
            - Type: SASL_SCRAM_512_AUTH
              URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
            Topics:
            - SchemaRegistryTestTopic
            ProvisionedPollerConfig:
              MinimumPollers: 1
            SchemaRegistryConfig:
              AccessConfigs:
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
              SchemaValidationConfigs:
              - Attribute: KEY
              EventRecordFormat: JSON
              SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
```

### ProvisionedPollerConfig exemple
<a name="sam-property-function-msk-example-provisionedpollerconfig"></a>

```
ProvisionedPollerConfig:
  MinimumPollers: 1
  MaximumPollers: 200
```

### Exemple Amazon MSK pour un cluster existant
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster"></a>

Voici un exemple de type de source d'événement `MSK` pour un cluster Amazon MSK qui existe déjà dans un Compte AWS.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream: arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2
      Topics:
        - MyTopic
```

### Exemple Amazon MSK pour un cluster déclaré dans le même modèle
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template"></a>

Voici un exemple de type de source d'événement `MSK` pour un cluster Amazon MSK déclaré dans le même fichier modèle.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster   # This must be the name of an MSK cluster declared in the same template file
      Topics:
        - MyTopic
```

#### Source d'événements MSK avec registre de schémas
<a name="sam-property-function-msk-example-schemaregistry"></a>

Voici un exemple de type de source d'`MSK`événement configuré avec un registre de schémas.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
```

#### Source d'événements MSK avec registre de schémas Confluent
<a name="sam-property-function-msk-example-schemaregistry-confluent"></a>

Voici un exemple de type de source d'`MSK`événement configuré avec un registre de schémas Confluent.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: https://my-schema-registry.confluent.cloud
        AccessConfigs:
          - Type: BASIC_AUTH
            URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-secret
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
```

# S3
<a name="sam-property-function-s3"></a>

L'objet décrivant un type de source d'événement `S3`.

## Syntaxe
<a name="sam-property-function-s3-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-property-function-s3-syntax.yaml"></a>

```
  [Bucket](#sam-function-s3-bucket): String
  [Events](#sam-function-s3-events): String | List
  [Filter](#sam-function-s3-filter): [NotificationFilter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)
```

## Propriétés
<a name="sam-property-function-s3-properties"></a>

 `Bucket`   <a name="sam-function-s3-bucket"></a>
Nom du compartiment S3. Ce compartiment doit exister dans le même modèle.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[BucketName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name)` d'une `AWS::S3::Bucket` ressource. Ce champ est obligatoire dans SAM. Ce champ accepte uniquement une référence au compartiment S3 créé dans ce modèle

 `Events`   <a name="sam-function-s3-events"></a>
L'événement de compartiment Amazon S3 pour lequel appeler la fonction Lambda. Consultez [Types d'événements pris en charge par Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types) pour obtenir la liste des valeurs valides.  
*Type* : chaîne \$1 liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Event](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-event)` propriété du type de `AWS::S3::Bucket` `LambdaConfiguration` données.

 `Filter`   <a name="sam-function-s3-filter"></a>
Les règles de filtrage qui déterminent quels objets Amazon S3 appellent la fonction Lambda. Pour en savoir plus sur le filtrage par nom de clé Amazon S3, consultez [Configuration des notifications d'événement Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) dans le *Guide de l'utilisateur Amazon Simple Storage Service*.  
*Type :* [NotificationFilter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Filter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)` propriété du type de `AWS::S3::Bucket` `LambdaConfiguration` données.

## Exemples
<a name="sam-property-function-s3--examples"></a>

### Événement S3
<a name="sam-property-function-s3--examples--s3-event"></a>

Exemple d'événement S3.

#### YAML
<a name="sam-property-function-s3--examples--s3-event--yaml"></a>

```
Events:
  S3Event:
    Type: S3
    Properties:
      Bucket:
        Ref: ImagesBucket     # This must be the name of an S3 bucket declared in the same template file
      Events: s3:ObjectCreated:*
      Filter:
        S3Key:
          Rules:
          - Name: prefix      # or "suffix"
            Value: value      # The value to search for in the S3 object key names
```

# Schedule
<a name="sam-property-function-schedule"></a>

L'objet décrivant un type de source d'`Schedule`événement, qui définit votre fonction sans serveur comme cible d'une EventBridge règle Amazon qui se déclenche selon un calendrier. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) dans le *guide de EventBridge l'utilisateur Amazon*.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)ressource lorsque ce type d'événement est défini.

**Note**  
EventBridge propose désormais une nouvelle fonctionnalité de planification, [Amazon EventBridge Scheduler](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html). Amazon EventBridge Scheduler est un planificateur sans serveur qui vous permet de créer, d'exécuter et de gérer des tâches à partir d'un service géré centralisé. EventBridge Schedulerest hautement personnalisable et offre une évolutivité améliorée par rapport aux règles EventBridge planifiées, avec un ensemble plus large d'opérations d'API cibles et Services AWS.  
Nous vous recommandons d’utiliser EventBridge Scheduler pour invoquer des cibles selon un calendrier. Pour définir ce type de source d'événement dans vos AWS SAM modèles, consultez[ScheduleV2](sam-property-function-schedulev2.md).

## Syntaxe
<a name="sam-property-function-schedule-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-property-function-schedule-syntax.yaml"></a>

```
  [DeadLetterConfig](#sam-function-schedule-deadletterconfig): DeadLetterConfig
  [Description](#sam-function-schedule-description): String
  [Enabled](#sam-function-schedule-enabled): Boolean
  [Input](#sam-function-schedule-input): String
  [Name](#sam-function-schedule-name): String
  [RetryPolicy](#sam-function-schedule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  [Schedule](#sam-function-schedule-schedule): String
  [State](#sam-function-schedule-state): String
```

## Propriétés
<a name="sam-property-function-schedule-properties"></a>

 `DeadLetterConfig`   <a name="sam-function-schedule-deadletterconfig"></a>
Configurez la file d'attente Amazon Simple Queue Service (Amazon SQS) dans EventBridge laquelle les événements sont envoyés après l'échec d'un appel cible. L'invocation peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas ou EventBridge lorsque les autorisations sont insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
Le type de ressource [AWS::Serverless::Function](sam-resource-function.md) a un type de données similaire, `DeadLetterQueue`, qui gère les échecs qui se produisent après l'invocation réussie de la fonction Lambda cible. Des exemples de ces types d'échecs incluent la limitation Lambda, ou les erreurs renvoyées par la fonction cible Lambda. Pour en savoir plus sur la propriété de fonction `DeadLetterQueue`, consultez [File d'attente de lettres mortes](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) dans le *Guide du développeur AWS Lambda *.
*Type :* [DeadLetterConfig](sam-property-function-scheduledeadletterconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle du type de `AWS::Events::Rule` `Target` données. `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` La AWS SAM version de cette propriété inclut des sous-propriétés supplémentaires, au cas où vous souhaiteriez AWS SAM créer la file d'attente de lettres mortes pour vous.

 `Description`   <a name="sam-function-schedule-description"></a>
Description de la règle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description)` propriété d'une `AWS::Events::Rule` ressource.

 `Enabled`   <a name="sam-function-schedule-enabled"></a>
Indique si la règle est activée.  
Pour désactiver la règle, définissez cette propriété sur `false`.  
Spécifiez la propriété `Enabled` ou la propriété `State`, mais pas les deux.
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` d'une `AWS::Events::Rule` ressource. Si cette propriété est définie sur `true` then`ENABLED`, elle est AWS SAM transmise dans le cas contraire`DISABLED`.

 `Input`   <a name="sam-function-schedule-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propriété d'une `AWS::Events::Rule Target` ressource.

 `Name`   <a name="sam-function-schedule-name"></a>
Le nom de la règle . Si vous ne spécifiez pas de nom, CloudFormation génère un identifiant physique unique et utilise cet identifiant comme nom de règle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propriété d'une `AWS::Events::Rule` ressource.

 `RetryPolicy`   <a name="sam-function-schedule-retrypolicy"></a>
Objet `RetryPolicy` qui inclut des informations sur les paramètres de politique de nouvelle tentative. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
*Type :* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propriété du type de `AWS::Events::Rule` `Target` données.

 `Schedule`   <a name="sam-function-schedule-schedule"></a>
Expression de planification qui détermine quand et à quelle fréquence la règle s'exécute. Pour plus d'informations, consultez [Expression de planification des règles](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression)` propriété d'une `AWS::Events::Rule` ressource.

 `State`   <a name="sam-function-schedule-state"></a>
État de la règle.  
*Valeurs acceptées :* `DISABLED | ENABLED`  
Spécifiez la propriété `Enabled` ou la propriété `State`, mais pas les deux.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propriété d'une `AWS::Events::Rule` ressource.

## Exemples
<a name="sam-property-function-schedule--examples"></a>

### CloudWatch Planifier un événement
<a name="sam-property-function-schedule--examples--cloudwatch-schedule-event"></a>

CloudWatch Exemple de planification d'un événement

#### YAML
<a name="sam-property-function-schedule--examples--cloudwatch-schedule-event--yaml"></a>

```
CWSchedule:
  Type: Schedule
  Properties:
    Schedule: 'rate(1 minute)'
    Name: TestSchedule
    Description: test schedule
    Enabled: false
```

# DeadLetterConfig
<a name="sam-property-function-scheduledeadletterconfig"></a>

L'objet utilisé pour spécifier la file d'attente Amazon Simple Queue Service (Amazon SQS) EventBridge où envoie les événements après l'échec d'un appel cible. L'appel peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas, ou en cas d'autorisations insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *

**Note**  
Le type de ressource [AWS::Serverless::Function](sam-resource-function.md) a un type de données similaire, `DeadLetterQueue`, qui gère les échecs qui se produisent après l'appel réussi de la fonction Lambda cible. Des exemples de ce type de défaillance incluent la limitation Lambda ou les erreurs renvoyées par la fonction cible Lambda. Pour en savoir plus sur la propriété de fonction `DeadLetterQueue`, consultez [File d'attente de lettres mortes](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) dans le *Guide du développeur AWS Lambda *.

## Syntaxe
<a name="sam-property-function-scheduledeadletterconfig-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-property-function-scheduledeadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-function-scheduledeadletterconfig-arn): String
  [QueueLogicalId](#sam-function-scheduledeadletterconfig-queuelogicalid): String
  [Type](#sam-function-scheduledeadletterconfig-type): String
```

## Propriétés
<a name="sam-property-function-scheduledeadletterconfig-properties"></a>

 `Arn`   <a name="sam-function-scheduledeadletterconfig-arn"></a>
L'Amazon Resource Name (ARN) de la file d'attente Amazon SQS spécifiée comme cible pour la file d'attente de lettres mortes.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propriété du type de `AWS::Events::Rule` `DeadLetterConfig` données.

 `QueueLogicalId`   <a name="sam-function-scheduledeadletterconfig-queuelogicalid"></a>
Le nom personnalisé de la file d'attente de lettres mortes qui la AWS SAM crée `Type` est spécifié.  
Si la propriété `Type` n'est pas définie, cette propriété est ignorée.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Type`   <a name="sam-function-scheduledeadletterconfig-type"></a>
Type de la file d'attente. Lorsque cette propriété est définie, crée AWS SAM automatiquement une file d'attente de lettres mortes et y joint la [politique basée sur les ressources](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) nécessaire pour autoriser la ressource à envoyer des événements à la file d'attente.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Valeurs valides* : `SQS`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-scheduledeadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-function-scheduledeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-function-scheduledeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# ScheduleV2
<a name="sam-property-function-schedulev2"></a>

L'objet décrivant un type de source d'`ScheduleV2`événement, qui définit votre fonction sans serveur comme cible d'un événement Amazon EventBridge Scheduler qui se déclenche selon un calendrier. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge Scheduler ?](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html) dans le guide de l'*utilisateur EventBridge du planificateur*.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)ressource lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-function-schedulev2-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-property-function-schedulev2-syntax.yaml"></a>

```
[DeadLetterConfig](#sam-function-schedulev2-deadletterconfig): DeadLetterConfig
[Description](#sam-function-schedulev2-description): String
[EndDate](#sam-function-schedulev2-enddate): String
[FlexibleTimeWindow](#sam-function-schedulev2-flexibletimewindow): FlexibleTimeWindow
[GroupName](#sam-function-schedulev2-groupname): String
[Input](#sam-function-schedulev2-input): String
[KmsKeyArn](#sam-function-schedulev2-kmskeyarn): String
[Name](#sam-function-schedulev2-name): String
OmitName: Boolean
[PermissionsBoundary](#sam-function-schedulev2-permissionsboundary): String
[RetryPolicy](#sam-function-schedulev2-retrypolicy): RetryPolicy
[RoleArn](#sam-function-schedulev2-rolearn): String
[ScheduleExpression](#sam-function-schedulev2-schedule): String
[ScheduleExpressionTimezone](#sam-function-schedulev2-scheduleexpressiontimezone): String
[StartDate](#sam-function-schedulev2-startdate): String
[State](#sam-function-schedulev2-state): String
```

## Propriétés
<a name="sam-property-function-schedulev2-properties"></a>

 `DeadLetterConfig`   <a name="sam-function-schedulev2-deadletterconfig"></a>
Configurez la file d'attente Amazon Simple Queue Service (Amazon SQS) dans EventBridge laquelle les événements sont envoyés après l'échec d'un appel cible. L'invocation peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas ou EventBridge lorsque les autorisations sont insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [section Configuration d'une file d'attente de lettres mortes pour le EventBridge planificateur dans le guide de l'utilisateur du EventBridge planificateur](https://docs.aws.amazon.com/scheduler/latest/UserGuide/configuring-schedule-dlq.html).*  
Le type de ressource [AWS::Serverless::Function](sam-resource-function.md) a un type de données similaire, `DeadLetterQueue`, qui gère les échecs qui se produisent après l'invocation réussie de la fonction Lambda cible. Des exemples de ces types d'échecs incluent la limitation Lambda, ou les erreurs renvoyées par la fonction cible Lambda. Pour en savoir plus sur la propriété de fonction `DeadLetterQueue`, consultez [File d'attente de lettres mortes](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) dans le *Guide du développeur AWS Lambda *.
*Type :* [DeadLetterConfig](sam-property-function-scheduledeadletterconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle du type de `AWS::Scheduler::Schedule` `Target` données. `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-deadletterconfig)` La AWS SAM version de cette propriété inclut des sous-propriétés supplémentaires, au cas où vous souhaiteriez AWS SAM créer la file d'attente de lettres mortes pour vous.

 `Description`   <a name="sam-function-schedulev2-description"></a>
Description de la planification.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-description)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `EndDate`   <a name="sam-function-schedulev2-enddate"></a>
Date, au format UTC, avant laquelle la planification peut invoquer sa cible. En fonction de l'expression de récurrence de la planification, les appels peuvent s'arrêter avant, ou au moment de, la **EndDate** spécifiée.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EndDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-enddate)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `FlexibleTimeWindow`   <a name="sam-function-schedulev2-flexibletimewindow"></a>
Permet de configurer une fenêtre dans laquelle une planification peut être appelée.  
*Type :* [FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `GroupName`   <a name="sam-function-schedulev2-groupname"></a>
Nom du groupe de planifications à associer à cette planification. S'il n'est pas défini, le groupe par défaut est utilisé.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[GroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `Input`   <a name="sam-function-schedulev2-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-input)` propriété d'une `AWS::Scheduler::Schedule Target` ressource.

 `KmsKeyArn`   <a name="sam-function-schedulev2-kmskeyarn"></a>
ARN d'une clé KMS utilisée pour chiffrer les données client.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-kmskeyarn)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `Name`   <a name="sam-function-schedulev2-name"></a>
Nom du calendrier. Si vous ne spécifiez pas de nom, AWS SAM génère un nom au format `Function-Logical-IDEvent-Source-Name` et utilise cet ID pour le nom du planning.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-name)` propriété d'une `AWS::Scheduler::Schedule` ressource.

`OmitName`  <a name="sam-function-schedulev2-omitname"></a>
Par défaut, AWS SAM génère et utilise un nom de calendrier au format de*<Function-logical-ID><event-source-name>*. Définissez cette propriété `true` pour CloudFormation générer un identifiant physique unique et utilisez-le plutôt pour le nom du calendrier.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `false`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `PermissionsBoundary`   <a name="sam-function-schedulev2-permissionsboundary"></a>
ARN de la politique utilisée pour définir la limite d'autorisations du rôle.  
S'il `PermissionsBoundary` est défini, les mêmes limites AWS SAM seront appliquées au rôle IAM cible du calendrier du planificateur.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` propriété d'une `AWS::IAM::Role` ressource.

 `RetryPolicy`   <a name="sam-function-schedulev2-retrypolicy"></a>
Objet **RetryPolicy** qui inclut des informations sur les paramètres de politique de nouvelle tentative.  
*Type :* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)` propriété du type de `AWS::Scheduler::Schedule` `Target` données.

 `RoleArn`   <a name="sam-function-schedulev2-rolearn"></a>
L'ARN du rôle IAM que le EventBridge planificateur utilisera pour la cible lorsque le calendrier est invoqué.  
*Type :* [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` propriété du type de `AWS::Scheduler::Schedule` `Target` données.

 `ScheduleExpression`   <a name="sam-function-schedulev2-scheduleexpression"></a>
Expression de planification qui détermine quand et à quelle fréquence l'événement de planification du planificateur s'exécute.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpression)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `ScheduleExpressionTimezone`   <a name="sam-function-schedulev2-scheduleexpressiontimezone"></a>
Fuseau horaire dans lequel l'expression de planification est évaluée.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ScheduleExpressionTimezone](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpressiontimezone)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `StartDate`   <a name="sam-function-schedulev2-startdate"></a>
Date, au format UTC, après laquelle la planification peut commencer à appeler une cible. En fonction de l'expression de récurrence de la planification, les appels peuvent se dérouler après, ou au moment de, la **StartDate** spécifiée.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-startdate)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `State`   <a name="sam-function-schedulev2-state"></a>
État de la planification du planificateur.  
*Valeurs acceptées :* `DISABLED | ENABLED`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-state)` propriété d'une `AWS::Scheduler::Schedule` ressource.

## Exemples
<a name="sam-property-function-schedulev2--examples"></a>

### Exemple de base de définition d'une ressource ScheduleV2
<a name="sam-property-function-schedulev2--examples--example1"></a>

```
Resources:
  Function:
    Properties:
      ...
      Events:
        ScheduleEvent:
          Type: ScheduleV2
          Properties:
            ScheduleExpression: "rate(1 minute)"
        ComplexScheduleEvent:
          Type: ScheduleV2
          Properties:
            ScheduleExpression: rate(1 minute)
            FlexibleTimeWindow:
              Mode: FLEXIBLE
              MaximumWindowInMinutes: 5
            StartDate: '2022-12-28T12:00:00.000Z'
            EndDate: '2023-01-28T12:00:00.000Z'
            ScheduleExpressionTimezone: UTC
            RetryPolicy:
              MaximumRetryAttempts: 5
              MaximumEventAgeInSeconds: 300
            DeadLetterConfig:
              Type: SQS
```

**Note**  
L'ID physique généré par ScheduleV2 n'inclut pas le nom de la pile.

# SelfManagedKafka
<a name="sam-property-function-selfmanagedkafka"></a>

L'objet décrivant un type de source d'événement `SelfManagedKafka`. Pour plus d'informations, consultez la section [Utilisation AWS Lambda avec Apache Kafka autogéré](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html) dans le Guide du *AWS Lambda développeur*.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)ressource lorsque ce type d'événement est défini.

Pour utiliser Schema Registry, vous devez définir des autorisations de rôle IAM spécifiques pour votre fonction. Voir [Configuration complète avec des rôles IAM](sam-property-function-msk.md#sam-property-function-msk-example-complete) pour un exemple de configuration requise.

## Syntaxe
<a name="sam-property-function-selfmanagedkafka-syntax"></a>

Pour déclarer cette entité dans votre AWS SAM modèle, utilisez la syntaxe suivante.

### YAML
<a name="sam-property-function-selfmanagedkafka-syntax.yaml"></a>

```
  [BatchSize](#sam-function-selfmanagedkafka-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-selfmanagedkafka-bisectbatchonfunctionerror): Boolean
  [ConsumerGroupId](#sam-function-selfmanagedkafka-consumergroupid): String
  DestinationConfig: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)
  [Enabled](#sam-function-selfmanagedkafka-enabled): Boolean
  [FilterCriteria](#sam-function-selfmanagedkafka-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [KafkaBootstrapServers](#sam-function-selfmanagedkafka-kafkabootstrapservers): List
  [FunctionResponseTypes](#sam-function-selfmanagedkafka-functionresponsetypes): List
  KmsKeyArn: String
  [LoggingConfig](#sam-function-selfmanagedkafka-loggingconfig): LoggingConfig
  [MaximumRecordAgeInSeconds](#sam-function-selfmanagedkafka-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-selfmanagedkafka-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-selfmanagedkafka-metricsconfig): MetricsConfig
  [ProvisionedPollerConfig](#sam-function-selfmanagedkafka-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [SchemaRegistryConfig](#sam-function-selfmanagedkafka-schemaregistryconfig): [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig.html)
  [SourceAccessConfigurations](#sam-function-selfmanagedkafka-sourceaccessconfigurations): [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)
  StartingPosition: String
  StartingPositionTimestamp: Double
  [Topics](#sam-function-selfmanagedkafka-topics): List
```

## Propriétés
<a name="sam-property-function-selfmanagedkafka-properties"></a>

 `BatchSize`   <a name="sam-function-selfmanagedkafka-batchsize"></a>
Nombre maximal d’enregistrements dans chaque lot que Lambda extrait de votre flux et envoie à votre fonction.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 100  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.  
*Minimum *: `1`  
*Maximum *: `10000`

 `BisectBatchOnFunctionError`   <a name="sam-function-selfmanagedkafka-bisectbatchonfunctionerror"></a>
Si la fonction renvoie une erreur, fractionnez le lot en deux et recommencez.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ConsumerGroupId`   <a name="sam-function-selfmanagedkafka-consumergroupid"></a>
Chaîne qui configure la façon dont les événements seront lus à partir des rubriques Kafka.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `DestinationConfig`   <a name="sam-function-selfmanagedkafka-destinationconfig"></a>
Objet de configuration qui spécifie la destination d'un événement après son traitement par Lambda.  
Utilisez cette propriété pour spécifier la destination des invocations échouées de la source d'événements Kafka autogérée.  
*Type :* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Enabled`   <a name="sam-function-selfmanagedkafka-enabled"></a>
Désactive le mappage de source d'événement pour suspendre l'interrogation et l'appel.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FilterCriteria`   <a name="sam-function-selfmanagedkafka-filtercriteria"></a>
Objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter [AWS Lambda le filtrage d’événements](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) dans le *AWS Lambda Manuel du développeur*.  
*Type :* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-filtercriteria)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `KafkaBootstrapServers`   <a name="sam-function-selfmanagedkafka-kafkabootstrapservers"></a>
La liste des serveurs d’amorçage pour vos agents Kafka. Inclure le port, par exemple `broker.example.com:xxxx`  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionResponseTypes`   <a name="sam-function-selfmanagedkafka-functionresponsetypes"></a>
Une liste des type de réponse actuellement appliquées au mappage de la source d'événement. Pour plus d'informations, veuillez consulter la rubrique [Signalement des échecs d'éléments par lot](https://docs.aws.amazon.com/lambda/latest/dg/kafka-retry-configurations.html) dans le *Guide du développeur AWS Lambda *.  
*Valeurs valides* : `ReportBatchItemFailures`  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `KmsKeyArn`   <a name="sam-function-selfmanagedkafka-kmskeyarn"></a>
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `LoggingConfig`   <a name="sam-function-selfmanagedkafka-loggingconfig"></a>
La configuration de journalisation de votre source d'événements.  
*Type :* [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-loggingconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-selfmanagedkafka-maximumrecordageinseconds"></a>
L'âge maximal d'une demande que Lambda envoie à une fonction pour traitement.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MetricsConfig`   <a name="sam-function-selfmanagedkafka-metricsconfig"></a>
La configuration des métriques pour votre source d'événements.  
*Type :* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-metricsconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumRetryAttempts`   <a name="sam-function-selfmanagedkafka-maximumretryattempts"></a>
Nombre maximum de tentatives autorisées lorsque la fonction renvoie une erreur.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ProvisionedPollerConfig`   <a name="sam-function-selfmanagedkafka-provisionedpollerconfig"></a>
Configuration pour augmenter le nombre de sondeurs utilisés pour calculer les mappages de sources d'événements. Cette configuration permet un minimum de 1 sondeur et un maximum de 2 000 sondeurs. Pour un exemple, reportez-vous à [ProvisionedPollerConfig exemple](#sam-property-function-selfmanagedkafka-example-provisionedpollerconfig)  
*Type :* [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-provisionedpollerconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

`SchemaRegistryConfig`  <a name="sam-function-selfmanagedkafka-schemaregistryconfig"></a>
Configuration pour l'utilisation d'un registre de schémas avec la source d'événements Kafka autogérée.  
Cette fonctionnalité doit `ProvisionedPollerConfig` être configurée.
*Type :* [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité :* cette propriété est transmise directement à la `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `SourceAccessConfigurations`   <a name="sam-function-selfmanagedkafka-sourceaccessconfigurations"></a>
Tableau du protocole d’authentification, composants VPC ou hôte virtuel pour sécuriser et définir votre source d’événement.  
*Valeurs valides* : `BASIC_AUTH | CLIENT_CERTIFICATE_TLS_AUTH | SASL_SCRAM_256_AUTH | SASL_SCRAM_512_AUTH | SERVER_ROOT_CA_CERTIFICATE`  
*Type* : liste de propriétés [SourceAccessConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration)  
*Obligatoire* : oui  
*CloudFormation compatibilité :* cette propriété fait partie de la `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPosition`   <a name="sam-function-selfmanagedkafka-startingposition"></a>
Position de début de la lecture dans le flux.  
+ `AT_TIMESTAMP` : spécifier l'heure à partir de laquelle la lecture des enregistrements doit commencer.
+ `LATEST` : lire uniquement les nouveaux enregistrements.
+ `TRIM_HORIZON` : traiter tous les enregistrements disponibles.
*Valeurs valides* : `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `StartingPositionTimestamp`   <a name="sam-function-selfmanagedkafka-startingpositiontimestamp"></a>
L'heure à partir de laquelle commencer la lecture, en secondes au format horaire Unix. Définissez `StartingPositionTimestamp` lorsque `StartingPosition` est défini sur `AT_TIMESTAMP`.  
*Type* : double  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Topics`   <a name="sam-function-selfmanagedkafka-topics"></a>
Nom de la rubrique Kafka.  
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Topics](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

## Exemples
<a name="sam-property-function-selfmanagedkafka--examples"></a>

### Configuration complète avec des rôles IAM
<a name="sam-property-function-selfmanagedkafka-example-complete"></a>

L'exemple suivant montre une configuration complète, y compris la configuration de rôle IAM requise pour utiliser Schema Registry :

```
Parameters:
  PreCreatedSubnetOne:
    Type: String
  PreCreatedSubnetTwo:
    Type: String

Resources:
  MyLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Action: [sts:AssumeRole]
          Effect: Allow
          Principal:
            Service: [lambda.amazonaws.com]
      Policies:
      - PolicyName: KafkaAuthPolicy
        PolicyDocument:
          Statement:
          - Action: [secretsmanager:GetSecretValue, kms:Decrypt]
            Effect: "Allow"
            Resource: ['arn:aws:secretsmanager:us-west-2:123456789012:secret:kafkaSecret-******',
                        'arn:aws:kms:us-west-2:123456789012:key/keyId']
      - PolicyName: ENIPolicy
        PolicyDocument:
          Statement:
          - Action: [ec2:CreateNetworkInterface,
              ec2:DescribeNetworkInterfaces, ec2:DescribeVpcs, ec2:DeleteNetworkInterface,
              ec2:DescribeSubnets, ec2:DescribeSecurityGroups]
            Effect: Allow
            Resource: '*'
      - PolicyName: SchemaRegistryPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetRegistry]
            Effect: Allow
            Resource: 'arn:aws:glue:{region}:{account-id}:registry/{registry-name}'
      - PolicyName: SchemaVersionsPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetSchemaVersions]
            Effect: Allow
            Resource: '*'
      ManagedPolicyArns:
      - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Tags:
      - {Value: SAM, Key: lambda:createdBy}

  MyKafkaProcessor:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs18.x
      Handler: index.handler
      CodeUri: ${codeuri}
      Role:
        Fn::GetAtt: [MyLambdaExecutionRole, Arn]
      Events:
        SelfManagedKafkaEvent:
          Type: SelfManagedKafka
          Properties:
            KafkaBootstrapServers:
              - my-kafka-broker-1:9092
              - my-kafka-broker-2:9092
            Topics:
              - SchemaRegistryTestTopic
            StartingPosition: LATEST
            SourceAccessConfigurations:
              - Type: VPC_SUBNET
                URI: subnet:subnet-12345678
              - Type: VPC_SECURITY_GROUP
                URI: security_group:sg-12345678
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
            ProvisionedPollerConfig:
              MinimumPollers: 1
            SchemaRegistryConfig:
              AccessConfigs:
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
              SchemaValidationConfigs:
              - Attribute: KEY
              EventRecordFormat: JSON
              SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
```

### ProvisionedPollerConfig exemple
<a name="sam-property-function-selfmanagedkafka-example-provisionedpollerconfig"></a>

```
ProvisionedPollerConfig:
  MinimumPollers: 1
  MaximumPollers: 200
```

### Source d’événements Kafka autogéré
<a name="sam-property-function-selfmanagedkafka--examples--self-managed-kafka-event-source"></a>

Voici un exemple de type de source d'événement `SelfManagedKafka`.

#### YAML
<a name="sam-property-function-selfmanagedkafka--examples--self-managed-kafka-event-source--yaml"></a>

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      BatchSize: 1000
      Enabled: true
      KafkaBootstrapServers:
        - abc.xyz.com:xxxx
      SourceAccessConfigurations:
        -  Type: BASIC_AUTH
           URI: arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
      Topics:
        - MyKafkaTopic
```

### Source d'événements Kafka autogérée avec registre de schémas AWS Glue
<a name="sam-property-function-selfmanagedkafka-example-schemaregistry"></a>

Voici un exemple de type de source d'`SelfManagedKafka`événement configuré avec AWS Glue Schema Registry.

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      KafkaBootstrapServers:
        - abc.xyz.com:9092
      Topics:
        - SchemaRegistryTestTopic
      StartingPosition: LATEST
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
      SourceAccessConfigurations:
        - Type: VPC_SUBNET
          URI: subnet:subnet-12345678
        - Type: VPC_SECURITY_GROUP
          URI: security_group:sg-12345678
```

### Source d'événements Kafka autogérée avec registre de schémas Confluent
<a name="sam-property-function-selfmanagedkafka-example-schemaregistry-confluent"></a>

Voici un exemple de type de source d'`SelfManagedKafka`événement configuré avec Confluent Schema Registry.

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      KafkaBootstrapServers:
        - abc.xyz.com:9092
      Topics:
        - SchemaRegistryTestTopic
      StartingPosition: LATEST
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: https://my-schema-registry.confluent.cloud
        AccessConfigs:
          - Type: BASIC_AUTH
            URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-secret
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
      SourceAccessConfigurations:
        - Type: VPC_SUBNET
          URI: subnet:subnet-12345678
        - Type: VPC_SECURITY_GROUP
          URI: security_group:sg-12345678
        - Type: BASIC_AUTH
          URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:kafka-secret
```

# SNS
<a name="sam-property-function-sns"></a>

L'objet décrivant un type de source d'événement `SNS`.

SAM génère une ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-function-sns-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-property-function-sns-syntax.yaml"></a>

```
  [FilterPolicy](#sam-function-sns-filterpolicy): [SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)
  FilterPolicyScope: String
  RedrivePolicy: Json
  [Region](#sam-function-sns-region): String
  [SqsSubscription](#sam-function-sns-sqssubscription): Boolean | SqsSubscriptionObject
  [Topic](#sam-function-sns-topic): String
```

## Propriétés
<a name="sam-property-function-sns-properties"></a>

 `FilterPolicy`   <a name="sam-function-sns-filterpolicy"></a>
Politique de filtre JSON attribuée à l’abonnement. Pour plus d'informations, consultez [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)le manuel Amazon Simple Notification Service API Reference.  
*Type :* [SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)` propriété d'une `AWS::SNS::Subscription` ressource.

 `FilterPolicyScope`   <a name="sam-function-sns-filterpolicyscope"></a>
Cet attribut vous permet de choisir l'étendue du filtrage en utilisant l'un des types de valeurs de chaîne suivants :  
+ `MessageAttributes` : le filtre est appliqué aux attributs du message.
+ `MessageBody` : le filtre est appliqué sur le corps du message.
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `MessageAttributes`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la ` [ FilterPolicyScope](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicyscope)` propriété d'une `AWS::SNS::Subscription` ressource.

 `RedrivePolicy`   <a name="sam-function-sns-redrivepolicy"></a>
Lorsque ce paramètre est spécifié, envoie des messages non livrables à la file d'attente de lettres mortes Amazon SQS spécifiée. Les messages qui ne peuvent pas être remis en raison d'erreurs client (par exemple, lorsque le point de terminaison abonné est inaccessible) ou d'erreurs de serveur (par exemple, lorsque le service qui alimente le point de terminaison abonné devient indisponible) sont conservés dans la file d'attente des lettres mortes pour une analyse ou un retraitement ultérieurs.  
Pour de plus amples informations sur la stratégie de redirection et les files d'attente de lettres mortes, veuillez consulter [Files d'attente de lettres mortes Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) dans le *Manuel du développeur Amazon Simple Queue Service*.  
*Type* : Json  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ RedrivePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy)` propriété d'une `AWS::SNS::Subscription` ressource.

 `Region`   <a name="sam-function-sns-region"></a>
Pour les abonnements entre régions, la région dans laquelle le topic réside.  
Si aucune région n'est spécifiée, CloudFormation utilise la région de l'appelant par défaut.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region)` propriété d'une `AWS::SNS::Subscription` ressource.

 `SqsSubscription`   <a name="sam-function-sns-sqssubscription"></a>
Définissez cette propriété sur VRAI ou spécifiez `SqsSubscriptionObject` pour activer le traitement par lots des notifications de rubrique SNS dans une file d'attente SQS. Le fait de définir cette propriété sur `true` crée une nouvelle file d'attente SQS, alors que la spécification d'un `SqsSubscriptionObject` utilise une file d'attente SQS existante.  
*Type* : Booléen \$1 [SqsSubscriptionObject](sam-property-function-sqssubscriptionobject.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Topic`   <a name="sam-function-sns-topic"></a>
ARN de la rubrique à laquelle s'abonner.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TopicArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn)` propriété d'une `AWS::SNS::Subscription` ressource.

## Exemples
<a name="sam-property-function-sns--examples"></a>

### Exemple de source d'événement SNS
<a name="sam-property-function-sns--examples--sns-event-source-example"></a>

Exemple de source d'événement SNS

#### YAML
<a name="sam-property-function-sns--examples--sns-event-source-example--yaml"></a>

```
Events:
  SNSEvent:
    Type: SNS
    Properties:
      Topic: arn:aws:sns:us-east-1:123456789012:my_topic
      SqsSubscription: true
      FilterPolicy:
        store:
          - example_corp
        price_usd:
          - numeric:
              - ">="
              - 100
```

# SqsSubscriptionObject
<a name="sam-property-function-sqssubscriptionobject"></a>

Spécifiez une option de file d'attente SQS existante pour l'événement SNS

## Syntaxe
<a name="sam-property-function-sqssubscriptionobject-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-property-function-sqssubscriptionobject-syntax.yaml"></a>

```
  [BatchSize](#sam-function-sqssubscriptionobject-batchsize): String
  [Enabled](#sam-function-sqssubscriptionobject-enabled): Boolean
  [QueueArn](#sam-function-sqssubscriptionobject-queuearn): String
  [QueuePolicyLogicalId](#sam-function-sqssubscriptionobject-queuepolicylogicalid): String
  [QueueUrl](#sam-function-sqssubscriptionobject-queueurl): String
```

## Propriétés
<a name="sam-property-function-sqssubscriptionobject-properties"></a>

 `BatchSize`   <a name="sam-function-sqssubscriptionobject-batchsize"></a>
Le nombre maximal d'éléments à récupérer dans un seul lot pour la file d'attente SQS.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : 10  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Enabled`   <a name="sam-function-sqssubscriptionobject-enabled"></a>
Désactive le mappage de source d'événement SQS pour suspendre l'interrogation et l'appel.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Valeur par défaut* : VRAI  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `QueueArn`   <a name="sam-function-sqssubscriptionobject-queuearn"></a>
Spécifiez un arn de file d'attente SQS existant.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `QueuePolicyLogicalId`   <a name="sam-function-sqssubscriptionobject-queuepolicylogicalid"></a>
Donnez un nom LogicalID personnalisé à la [AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html)ressource.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `QueueUrl`   <a name="sam-function-sqssubscriptionobject-queueurl"></a>
Spécifiez l'URL de la file d'attente associée à la propriété `QueueArn`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-sqssubscriptionobject--examples"></a>

### Événement SQS existant pour SNS
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event"></a>

Exemple d'ajout d'une file d'attente SQS existante pour l'abonnement à une rubrique SNS.

#### YAML
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event--yaml"></a>

```
QueuePolicyLogicalId: CustomQueuePolicyLogicalId
QueueArn:
  Fn::GetAtt: MyCustomQueue.Arn
QueueUrl:
  Ref: MyCustomQueue
BatchSize: 5
```

# SQS
<a name="sam-property-function-sqs"></a>

L'objet décrivant un type de source d'événement `SQS`. Pour plus d'informations, consultez la section [Utilisation AWS Lambda avec Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) dans le manuel du *AWS Lambda développeur*.

SAM génère une ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-function-sqs-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-property-function-sqs-syntax.yaml"></a>

```
  [BatchSize](#sam-function-sqs-batchsize): Integer
  [Enabled](#sam-function-sqs-enabled): Boolean
  [FilterCriteria](#sam-function-sqs-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-sqs-functionresponsetypes): List
  KmsKeyArn: String
  [MaximumBatchingWindowInSeconds](#sam-function-sqs-maximumbatchingwindowinseconds): Integer
  [MetricsConfig](#sam-function-sqs-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ProvisionedPollerConfig](#sam-function-sqs-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [Queue](#sam-function-sqs-queue): String
  ScalingConfig: [ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)
```

## Propriétés
<a name="sam-property-function-sqs-properties"></a>

 `BatchSize`   <a name="sam-function-sqs-batchsize"></a>
Nombre maximum d'éléments à récupérer dans un seul lot.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut* : 10  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.  
*Minimum *: `1`  
*Maximum *: `10000`

 `Enabled`   <a name="sam-function-sqs-enabled"></a>
Désactive le mappage de source d'événement pour suspendre l'interrogation et l'appel.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FilterCriteria`   <a name="sam-function-sqs-filtercriteria"></a>
Objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter [AWS Lambda le filtrage d’événements](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) dans le *AWS Lambda Manuel du développeur*.  
*Type :* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `FunctionResponseTypes`   <a name="sam-function-sqs-functionresponsetypes"></a>
 Une liste des type de réponse actuellement appliquées au mappage de la source d'événement. Pour plus d'informations, veuillez consulter la rubrique [Signalement des échecs d'éléments par lot](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting) dans le *Guide du développeur AWS Lambda *.   
 *Valeurs valides* : `ReportBatchItemFailures`   
 *Type* : liste   
 *Obligatoire* : non   
 *CloudFormation compatibilité* : cette propriété est transmise directement à la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource. 

 `KmsKeyArn`   <a name="sam-function-sqs-kmskeyarn"></a>
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-sqs-maximumbatchingwindowinseconds"></a>
L'intervalle de temps maximal (en secondes) pour collecter des enregistrements avant d'appeler la fonction.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `MetricsConfig`   <a name="sam-function-sqs-metricsconfig"></a>
Une configuration optionnelle permettant d'obtenir des métriques améliorées pour les mappages de sources d'événements qui capturent chaque étape du traitement. Pour obtenir un exemple, consultez [MetricsConfig événement](sam-property-function-dynamodb.md#sam-property-function-dynamodb-example-metricsconfigevent).  
*Type :* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ProvisionedPollerConfig`   <a name="sam-function-sqs-provisionedpollerconfig"></a>
Configuration pour augmenter le nombre de sondeurs utilisés pour calculer les mappages de sources d'événements. Cette configuration permet un minimum de 2 sondeurs et un maximum de 2 000 sondeurs. Pour un exemple, reportez-vous à[ProvisionedPollerConfig exemple](#sam-property-function-sqs-example-provisionedpollerconfig).  
*Type :* [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `Queue`   <a name="sam-function-sqs-queue"></a>
L'ARN de la file d'attente.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

 `ScalingConfig`   <a name="sam-function-sqs-scalingconfig"></a>
Mise à l'échelle de la configuration des observateurs SQS pour contrôler le taux d'appels et définir le nombre maximal d'appels simultanés.  
*Type :* `[ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)`  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)` propriété d'une `AWS::Lambda::EventSourceMapping` ressource.

## Exemples
<a name="sam-property-function-sqs--examples"></a>

### MetricsConfig événement
<a name="sam-property-function-sqs-example-metricsconfigevent"></a>

Voici un exemple de ressource qui utilise la `MetricsConfig` propriété pour capturer chaque étape du traitement pour ses mappages de sources d'événements.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### Événement SQS de base
<a name="sam-property-function-sqs--examples--sqs-event"></a>

```
Events:
  SQSEvent:
    Type: SQS
    Properties:
      Queue: arn:aws:sqs:us-west-2:012345678901:my-queue
      BatchSize: 10
      Enabled: false
      FilterCriteria:
        Filters:
          - Pattern: '{"key": ["val1", "val2"]}'
```

### Configurer des rapports partiels par lots pour votre file d'attente SQS
<a name="sam-property-function-sqs--examples--sqs-partial-batch"></a>

```
Events:
  SQSEvent:
    Type: SQS
    Properties:
      Enabled: true
      FunctionResponseTypes:
        - ReportBatchItemFailures
      Queue: !GetAtt MySqsQueue.Arn
      BatchSize: 10
```

### Fonction Lambda avec un événement SQS pour lequel la mise à l'échelle est configurée
<a name="sam-property-function-sqs--examples--sqs-event-scaling"></a>

```
MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    ...
    Events:
      MySQSEvent:
        Type: SQS
        Properties:
          ...
          ScalingConfig:
            MaximumConcurrency: 10
```

### ProvisionedPollerConfig exemple
<a name="sam-property-function-sqs-example-provisionedpollerconfig"></a>

```
MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.handler
    Runtime: nodejs18.x
    Timeout: 30
    Events:
      SQSEvent:
        Type: SQS
        Properties:
          Queue: !GetAtt MyQueue.Arn
          BatchSize: 10
          Enabled: True
          ProvisionedPollerConfig:
            MaximumPollers: 300
            MinimumPollers: 10
```

# FunctionCode
<a name="sam-property-function-functioncode"></a>

[Package de déploiement](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html) d'une fonction Lambda.

## Syntaxe
<a name="sam-property-function-functioncode-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-property-function-functioncode-syntax.yaml"></a>

```
  [Bucket](#sam-function-functioncode-bucket): String
  [Key](#sam-function-functioncode-key): String
  [Version](#sam-function-functioncode-version): String
```

## Propriétés
<a name="sam-property-function-functioncode-properties"></a>

 `Bucket`   <a name="sam-function-functioncode-bucket"></a>
Un compartiment Amazon S3 dans la même AWS région que votre fonction.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[S3Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket)` propriété du type de `AWS::Lambda::Function` `Code` données.

 `Key`   <a name="sam-function-functioncode-key"></a>
Clé Amazon S3 du package de déploiement.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[S3Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3key)` propriété du type de `AWS::Lambda::Function` `Code` données.

 `Version`   <a name="sam-function-functioncode-version"></a>
Pour les objets versionnés, la version de l’objet de package de déploiement à utiliser.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[S3ObjectVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3objectversion)` propriété du type de `AWS::Lambda::Function` `Code` données.

## Exemples
<a name="sam-property-function-functioncode--examples"></a>

### FunctionCode
<a name="sam-property-function-functioncode--examples--functioncode"></a>

`CodeUri`: exemple de code de fonction

#### YAML
<a name="sam-property-function-functioncode--examples--functioncode--yaml"></a>

```
CodeUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# FunctionUrlConfig
<a name="sam-property-function-functionurlconfig"></a>

Crée une URL de AWS Lambda fonction avec les paramètres de configuration spécifiés. Une URL de la fonction Lambda est un point de terminaison HTTPS que vous pouvez utiliser pour appeler votre fonction.

Par défaut, l'URL de la fonction que vous avez créée utilise la version `$LATEST` de votre fonction Lambda. Si vous spécifiez un `AutoPublishAlias` pour votre fonction Lambda, le point de terminaison se connecte à l'alias de fonction spécifié.

Pour plus d'informations, consultez la section [Fonction Lambda URLs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) dans le Guide du *AWS Lambda développeur*.

## Syntaxe
<a name="sam-property-function-functionurlconfig-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-property-function-functionurlconfig-syntax.yaml"></a>

```
[AuthType](#sam-function-functionurlconfig-authtype): String
[Cors](#sam-function-functionurlconfig-cors): [Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)
[InvokeMode](#sam-function-functionurlconfig-invokemode): String
```

## Propriétés
<a name="sam-property-function-functionurlconfig-properties"></a>

 `AuthType`   <a name="sam-function-functionurlconfig-authtype"></a>
Le type d'autorisation pour votre URL de fonction. Pour utiliser Gestion des identités et des accès AWS (IAM) pour autoriser les demandes, définissez sur. `AWS_IAM` Pour un accès ouvert, définissez la valeur sur `NONE`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AuthType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-authtype)` propriété d'une `AWS::Lambda::Url` ressource.

 `Cors`   <a name="sam-function-functionurlconfig-cors"></a>
Les paramètres du partage de ressources cross-origin (CORS) pour l’URL de votre fonction.  
*Type* : [Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)` propriété d'une `AWS::Lambda::Url` ressource.

 `InvokeMode`  <a name="sam-function-functionurlconfig-invokemode"></a>
Mode selon lequel votre URL de la fonction sera appelée. Pour que votre fonction renvoie la réponse une fois l'appel terminé, définissez la valeur sur `BUFFERED`. Pour que votre fonction diffuse la réponse, définissez la valeur sur `RESPONSE_STREAM`. La valeur par défaut est `BUFFERED`.  
*Valeurs valides* : `BUFFERED` ou `RESPONSE_STREAM`  
*Type* : chaîne  
*Obligatoire* : non  
*AWS CloudFormation compatibilité* : cette propriété est transmise directement à la [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-invokemode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-invokemode)propriété d'une `AWS::Lambda::Url` ressource.

## Exemples
<a name="sam-property-function-functionurlconfig--examples"></a>

### URL de fonction
<a name="sam-property-function-functionurlconfig--examples--function-url"></a>

L'exemple suivant crée une fonction Lambda avec une URL de la fonction. L'URL de fonction utilise l'autorisation IAM.

#### YAML
<a name="sam-property-function-functionurlconfig--examples--function-url--yaml"></a>

```
HelloWorldFunction:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: hello_world/
    Handler: index.handler
    Runtime: nodejs20.x
    FunctionUrlConfig:
      AuthType: AWS_IAM
      InvokeMode: RESPONSE_STREAM

Outputs:
  MyFunctionUrlEndpoint:
      Description: "My Lambda Function URL Endpoint"
      Value:
        Fn::GetAtt: HelloWorldFunctionUrl.FunctionUrl
```

# CapacityProviderConfig
<a name="sam-property-function-capacityproviderconfig"></a>

Configure le fournisseur de capacité auquel les versions publiées de la fonction seront associées. Cela permet à la fonction de s'exécuter sur des EC2 instances appartenant au client et gérées par Lambda.

**Note**  
Cette configuration détermine le type de calcul d'une fonction et doit être spécifiée lors du premier déploiement de la fonction. Il est impossible de l'ajouter ou de le supprimer une fois que la ressource fonctionnelle a été créée.

## Syntaxe
<a name="sam-property-function-capacityproviderconfig-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-property-function-capacityproviderconfig-syntax.yaml"></a>

```
[Arn](#sam-function-capacityproviderconfig-arn): String
[ExecutionEnvironmentMemoryGiBPerVCpu](#sam-function-capacityproviderconfig-executionenvironmentmemorygibpervcpu): Float
[PerExecutionEnvironmentMaxConcurrency](#sam-function-capacityproviderconfig-perexecutionenvironmentmaxconcurrency): Integer
```

## Propriétés
<a name="sam-property-function-capacityproviderconfig-properties"></a>

 `Arn`   <a name="sam-function-capacityproviderconfig-arn"></a>
L'ARN du fournisseur de capacité à utiliser pour cette fonction.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est propre à SAM.

 `ExecutionEnvironmentMemoryGiBPerVCpu`   <a name="sam-function-capacityproviderconfig-executionenvironmentmemorygibpervcpu"></a>
Rapport entre la mémoire (en GiB) et le vCPU pour chaque environnement d'exécution.  
Le ratio de mémoire par processeur ne peut pas dépasser la mémoire totale de la fonction de 2048 Mo. Les memory-to-CPU ratios pris en charge sont de 2 Go, 4 Go ou 8 Go par processeur.
*Type* : flotteur  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ExecutionEnvironmentMemoryGiBPerVCpu](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-lambdamanagedinstancescapacityproviderconfig)` propriété d'une `AWS::Lambda::Function` ressource.

 `PerExecutionEnvironmentMaxConcurrency`   <a name="sam-function-capacityproviderconfig-perexecutionenvironmentmaxconcurrency"></a>
Nombre maximal d'exécutions simultanées par environnement d'exécution (sandbox).  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[PerExecutionEnvironmentMaxConcurrency](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-lambdamanagedinstancescapacityproviderconfig)` propriété d'une `AWS::Lambda::Function` ressource.

## Exemples
<a name="sam-property-function-capacityproviderconfig-examples"></a>

### Configuration du fournisseur de capacité
<a name="sam-property-function-capacityproviderconfig-examples-basic"></a>

L'exemple suivant montre une configuration de fournisseur de capacité qui fait référence à une ressource de fournisseur de capacité.

```
CapacityProviderConfig:
  Arn: !GetAtt MyCapacityProvider.Arn
  ExecutionEnvironmentMemoryGiBPerVCpu: 4.0
  PerExecutionEnvironmentMaxConcurrency: 100
```

# FunctionScalingConfig
<a name="sam-property-function-functionscalingconfig"></a>

Configure le comportement de dimensionnement pour les versions de fonctions Lambda, en contrôlant le nombre d'environnements d'exécution (sandboxes) pouvant être créés. Cette configuration s'applique à la fois à \$1LATEST.PUBLISHED et aux versions de fonctions numériques.

## Syntaxe
<a name="sam-property-function-functionscalingconfig-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-property-function-functionscalingconfig-syntax.yaml"></a>

```
[MinExecutionEnvironments](#sam-function-functionscalingconfig-minexecutionenvironments): Integer
[MaxExecutionEnvironments](#sam-function-functionscalingconfig-maxexecutionenvironments): Integer
```

## Propriétés
<a name="sam-property-function-functionscalingconfig-properties"></a>

 `MinExecutionEnvironments`   <a name="sam-function-functionscalingconfig-minexecutionenvironments"></a>
Le nombre minimal d'environnements d'exécution à gérer pour la version de la fonction.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut* : `3`  
*Minimum *: `0`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MinExecutionEnvironments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig-minexecutionenvironments)` propriété d'une `AWS::Lambda::Function` ressource.

 `MaxExecutionEnvironments`   <a name="sam-function-functionscalingconfig-maxexecutionenvironments"></a>
Nombre maximal d'environnements d'exécution pouvant être créés pour la version de la fonction.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut* : `3`  
*Minimum *: `0`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaxExecutionEnvironments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig-maxexecutionenvironments)` propriété d'une `AWS::Lambda::Function` ressource.

## Exemples
<a name="sam-property-function-functionscalingconfig-examples"></a>

### Configuration du dimensionnement des fonctions
<a name="sam-property-function-functionscalingconfig-examples-basic"></a>

L'exemple suivant montre une configuration de dimensionnement des fonctions avec des environnements d'exécution minimale et maximale.

```
FunctionScalingConfig:
  MinExecutionEnvironments: 5
  MaxExecutionEnvironments: 100
```

# AWS::Serverless::GraphQLApi
<a name="sam-resource-graphqlapi"></a>

Utilisez le type de `AWS::Serverless::GraphQLApi` ressource AWS Serverless Application Model (AWS SAM) pour créer et configurer une AWS AppSync GraphQL API pour votre application sans serveur.

Pour en savoir plus AWS AppSync, voir [Qu'est-ce que c'est AWS AppSync ?](https://docs.aws.amazon.com/appsync/latest/devguide/what-is-appsync.html) dans le *Guide AWS AppSync du développeur*.

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

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

```
LogicalId:
  Type: AWS::Serverless::GraphQLApi
  Properties:
    ApiKeys: ApiKeys
    Auth: Auth
    Cache: [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)
    DataSources: DataSource
    DomainName: [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)
    Functions: Function
    Logging: [LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html)
    Name: String
    Resolvers: Resolver
    SchemaInline: String
    SchemaUri: String
    Tags:
    - [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)
    XrayEnabled: Boolean
```

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

`ApiKeys`  <a name="sam-graphqlapi-apikeys"></a>
Créez une clé unique qui peut être utilisée pour effectuer des opérations GraphQL nécessitant une clé d'API.  
*Type :* [ApiKeys](sam-property-graphqlapi-apikeys.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`Auth`  <a name="sam-graphqlapi-auth"></a>
Configurez l'authentification pour votre API GraphQL.  
*Type* : [Authentification](sam-property-graphqlapi-auth.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`Cache`  <a name="sam-graphqlapi-cache"></a>
Entrée d'une opération `CreateApiCache`.  
*Type :* [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)ressource.

`DataSources`  <a name="sam-graphqlapi-datasources"></a>
Créez des sources de données auxquelles les fonctions AWS AppSync peuvent se connecter. AWS SAM prend en charge Amazon DynamoDB et les sources de données AWS Lambda .  
*Type :* [DataSource](sam-property-graphqlapi-datasource.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`DomainName`  <a name="sam-graphqlapi-domainname"></a>
Nom de domaine personnalisé pour votre API GraphQL.  
*Type :* [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)ressource. AWS SAM génère automatiquement la [AWS::AppSync::DomainNameApiAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)ressource.

`Functions`  <a name="sam-graphqlapi-functions"></a>
Configurez les fonctions GraphQL APIs pour effectuer certaines opérations.  
*Type* : [Fonction](sam-property-graphqlapi-function.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`Logging`  <a name="sam-graphqlapi-logging"></a>
Configure la CloudWatch journalisation Amazon pour votre GraphQL API.  
Si vous ne spécifiez pas cette propriété, AWS SAM générera `CloudWatchLogsRoleArn` et définira les valeurs suivantes :  
+ `ExcludeVerboseContent: true`
+ `FieldLogLevel: ALL`
Pour désactiver la journalisation, spécifiez les informations suivantes :  

```
Logging: false
```
*Type :* [LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-logconfig)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

`LogicalId`  <a name="sam-graphqlapi-logicalid"></a>
Le nom unique de votre API GraphQL.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

`Name`  <a name="sam-graphqlapi-name"></a>
Nom de votre API GraphQL. Spécifiez cette propriété pour remplacer la valeur `LogicalId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

`Resolvers`  <a name="sam-graphqlapi-resolvers"></a>
Configurez des résolveurs pour les champs de votre API GraphQL. AWS SAM  prend en charge les [résolveurs de pipelines JavaScript](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html#anatomy-of-a-pipeline-resolver-js).  
*Type* : [Résolveur](sam-property-graphqlapi-resolver.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`SchemaInline`  <a name="sam-graphqlapi-schemainline"></a>
Représentation texte d'un schéma GraphQL au format SDL.  
*Type* : chaîne  
*Obligatoire :* selon les conditions. Vous devez spécifier `SchemaInline` ou `SchemaUri`.  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Definition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definition)` propriété d'une `AWS::AppSync::GraphQLSchema` ressource.

`SchemaUri`  <a name="sam-graphqlapi-schemauri"></a>
L'URI du compartiment Amazon Simple Storage Service (Amazon S3) du schéma ou le chemin d'accès à un dossier local.  
Si vous spécifiez un chemin d'accès à un dossier local, le fichier CloudFormation doit d'abord être chargé sur Amazon S3 avant le déploiement. Vous pouvez utiliser la CLI  AWS SAM pour faciliter ce processus. Pour de plus amples informations, veuillez consulter [Comment AWS SAM télécharge les fichiers locaux lors du déploiement](deploy-upload-local-files.md).  
*Type* : chaîne  
*Obligatoire :* selon les conditions. Vous devez spécifier `SchemaInline` ou `SchemaUri`.  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DefinitionS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definitions3location)` propriété d'une `AWS::AppSync::GraphQLSchema` ressource.

`Tags`  <a name="sam-graphqlapi-tags"></a>
Balises (paires clé-valeur) pour cette API GraphQL. Utilisez les balises pour identifier et classer les ressources.  
*Type :* liste des éléments [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-tags)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

`XrayEnabled`  <a name="sam-graphqlapi-xrayenabled"></a>
Indiquez si vous souhaitez utiliser [le traçage aux rayons X AWS](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) pour cette ressource.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[XrayEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-xrayenabled)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

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

Pour obtenir la liste des valeurs renvoyées, reportez-vous [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#aws-resource-appsync-graphqlapi-return-values.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#aws-resource-appsync-graphqlapi-return-values.html)au [Guide de l'CloudFormation utilisateur](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

### GraphQL API avec source de données DynamoDB
<a name="sam-resource-graphqlapi-examples-example1"></a>

Dans cet exemple, nous créons une API GraphQL qui utilise une table DynamoDB comme source de données.

**schema.graphql**

```
schema {
  query: Query
  mutation: Mutation
}

type Query {
  getPost(id: String!): Post
}

type Mutation {
  addPost(author: String!, title: String!, content: String!): Post!
}

type Post {
  id: String!
  author: String
  title: String
  content: String
  ups: Int!
  downs: Int!
  version: Int!
}
```

**template.yaml**

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  DynamoDBPostsTable:
    Type: AWS::Serverless::SimpleTable

  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      SchemaUri: ./sam_graphql_api/schema.graphql
      Auth:
        Type: AWS_IAM
      DataSources:
        DynamoDb:
          PostsDataSource:
            TableName: !Ref DynamoDBPostsTable
            TableArn: !GetAtt DynamoDBPostsTable.Arn
      Functions:
        preprocessPostItem:
          Runtime:
            Name: APPSYNC_JS
            Version: 1.0.0
          DataSource: NONE
          CodeUri: ./sam_graphql_api/preprocessPostItem.js
        createPostItem:
          Runtime:
            Name: APPSYNC_JS
            Version: "1.0.0"
          DataSource: PostsDataSource
          CodeUri: ./sam_graphql_api/createPostItem.js
        getPostFromTable:
          Runtime:
            Name: APPSYNC_JS
            Version: "1.0.0"
          DataSource: PostsDataSource
          CodeUri: ./sam_graphql_api/getPostFromTable.js
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: "1.0.0"
            Pipeline:
            - preprocessPostItem
            - createPostItem
        Query:
          getPost:
            CodeUri: ./sam_graphql_api/getPost.js
            Runtime:
              Name: APPSYNC_JS
              Version: "1.0.0"
            Pipeline:
            - getPostFromTable
```

**createPostItem.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const { key, values } = ctx.prev.result;
  return {
    operation: "PutItem",
    key: util.dynamodb.toMapValues(key),
    attributeValues: util.dynamodb.toMapValues(values),
  };
}

export function response(ctx) {
  return ctx.result;
}
```

**getPostFromTable.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  return dynamoDBGetItemRequest({ id: ctx.args.id });
}

export function response(ctx) {
  return ctx.result;
}

/**
 * A helper function to get a DynamoDB item
 */
function dynamoDBGetItemRequest(key) {
  return {
    operation: "GetItem",
    key: util.dynamodb.toMapValues(key),
  };
}
```

**preprocessPostItem.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const id = util.autoId();
  const { ...values } = ctx.args;
  values.ups = 1;
  values.downs = 0;
  values.version = 1;
  return { payload: { key: { id }, values: values } };
}

export function response(ctx) {
  return ctx.result;
}
```

Voici notre code de résolution :

**getPost.js**

```
export function request(ctx) {
  return {};
}

export function response(ctx) {
  return ctx.prev.result;
}
```

### API GraphQL avec une fonction Lambda comme source de données
<a name="sam-resource-graphqlapi-examples-example2"></a>

Dans cet exemple, nous créons une API GraphQL qui utilise une fonction Lambda comme source de données.

**template.yaml**

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs20.x
      CodeUri: ./lambda

  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Name: MyApi
      SchemaUri: ./gql/schema.gql
      Auth:
        Type: API_KEY
      ApiKeys:
        MyApiKey:
          Description: my api key
      DataSources:
        Lambda:
          MyLambdaDataSource:
            FunctionArn: !GetAtt MyLambdaFunction.Arn
      Functions:
        lambdaInvoker:
          Runtime:
            Name: APPSYNC_JS
            Version: 1.0.0
          DataSource: MyLambdaDataSource
          CodeUri: ./gql/invoker.js
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - lambdaInvoker
        Query:
          getPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - lambdaInvoker

Outputs:
  MyGraphQLAPI:
    Description: AppSync API
    Value: !GetAtt MyGraphQLAPI.GraphQLUrl
  MyGraphQLAPIMyApiKey:
    Description: API Key for authentication
    Value: !GetAtt MyGraphQLAPIMyApiKey.ApiKey
```

**schema.graphql**

```
schema {
  query: Query
  mutation: Mutation
}
type Query {
  getPost(id: ID!): Post
}
type Mutation {
  addPost(id: ID!, author: String!, title: String, content: String): Post!
}
type Post {
  id: ID!
  author: String!
  title: String
  content: String
  ups: Int
  downs: Int
}
```

Voici nos fonctions :

**lambda/index.js**

```
exports.handler = async (event) => {
  console.log("Received event {}", JSON.stringify(event, 3));

  const posts = {
    1: {
      id: "1",
      title: "First book",
      author: "Author1",
      content: "Book 1 has this content",
      ups: "100",
      downs: "10",
    },
  };

  console.log("Got an Invoke Request.");
  let result;
  switch (event.field) {
    case "getPost":
      return posts[event.arguments.id];
    case "addPost":
      // return the arguments back
      return event.arguments;
    default:
      throw new Error("Unknown field, unable to resolve " + event.field);
  }
};
```

**invoker.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const { source, args } = ctx;
  return {
    operation: "Invoke",
    payload: { field: ctx.info.fieldName, arguments: args, source },
  };
}

export function response(ctx) {
  return ctx.result;
}
```

# ApiKeys
<a name="sam-property-graphqlapi-apikeys"></a>

Créez une clé unique qui peut être utilisée pour effectuer des opérations GraphQL nécessitant une clé d'API.

## Syntaxe
<a name="sam-property-graphqlapi-apikeys-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-property-graphqlapi-apikeys-syntax-yaml"></a>

```
LogicalId:
  ApiKeyId: String
  Description: String
  ExpiresOn: Double
```

## Propriétés
<a name="sam-property-graphqlapi-apikeys-properties"></a>

`ApiKeyId`  <a name="sam-graphqlapi-apikeys-apikeyid"></a>
Nom unique de votre clé d'API. Spécifiez pour remplacer la valeur `LogicalId`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ApiKeyId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid)` propriété d'une `AWS::AppSync::ApiKey` ressource.

`Description`  <a name="sam-graphqlapi-apikeys-description"></a>
Description de votre clé d'API.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description)` propriété d'une `AWS::AppSync::ApiKey` ressource.

`ExpiresOn`  <a name="sam-graphqlapi-apikeys-expireson"></a>
Heure après laquelle la clé API expire. La date est représentée en secondes depuis la date epoch, arrondie à l'heure la plus proche.  
*Type* : double  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Expires](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires)` propriété d'une `AWS::AppSync::ApiKey` ressource.

`LogicalId`  <a name="sam-graphqlapi-apikeys-logicalid"></a>
Nom unique de votre clé d'API.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ApiKeyId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid)` propriété d'une `AWS::AppSync::ApiKey` ressource.

# Auth
<a name="sam-property-graphqlapi-auth"></a>

Configurez l'autorisation pour votre API GraphQL.

## Syntaxe
<a name="sam-property-graphqlapi-auth-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-property-graphqlapi-auth-syntax-yaml"></a>

```
Additional:
- AuthProvider
LambdaAuthorizer: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)
OpenIDConnect: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)
Type: String
UserPool: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)
```

## Propriétés
<a name="sam-property-graphqlapi-auth-properties"></a>

`Additional`  <a name="sam-graphqlapi-auth-additional"></a>
Liste de types d'authentification supplémentaires pour votre API GraphQL.  
*Type* : Liste des [AuthProvider](sam-property-graphqlapi-auth-authprovider.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`LambdaAuthorizer`  <a name="sam-graphqlapi-auth-lambdaauthorizer"></a>
Spécifiez la configuration d'autorisation facultative pour votre mécanisme d'autorisation de fonctions Lambda. Vous pouvez configurer cette propriété facultative lorsque `AWS_LAMBDA` est spécifié pour `Type`.  
*Type* : [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-lambdaauthorizerconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

`OpenIDConnect`  <a name="sam-graphqlapi-auth-openidconnect"></a>
Spécifiez la configuration d'autorisation facultative pour votre service conforme à OpenID Connect. Vous pouvez configurer cette propriété facultative lorsque `OPENID_CONNECT` est spécifié pour `Type`.  
*Type* : [Open IDConnect Config](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

`Type`  <a name="sam-graphqlapi-auth-type"></a>
Type d'autorisation par défaut entre les applications et votre AWS AppSync GraphQL API.  
Pour obtenir la liste et la description des valeurs autorisées, consultez la section [Autorisation et authentification](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html) dans le *Guide du développeur AWS AppSync *.  
Lorsque vous spécifiez un autorisateur Lambda (`AWS_LAMBDA`), il AWS SAM crée une politique Gestion des identités et des accès AWS (IAM) pour octroyer des autorisations entre votre API GraphQL et la fonction Lambda.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AuthenticationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-authenticationtype)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

`UserPool`  <a name="sam-graphqlapi-auth-userpool"></a>
Spécifiez la configuration d'autorisation facultative pour l'utilisation des groupes d'utilisateurs Amazon Cognito. Vous pouvez configurer cette propriété facultative lorsque `AMAZON_COGNITO_USER_POOLS` est spécifié pour `Type`.  
*Type* : [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)` propriété d'une `AWS::AppSync::GraphQLApi` ressource.

## Exemples
<a name="sam-property-graphqlapi-auth-examples"></a>

### Configurer un type d'autorisation par défaut et un type d'autorisation supplémentaire
<a name="sam-property-graphqlapi-auth-examples-example1"></a>

Dans cet exemple, nous commençons par configurer un mécanisme d'autorisation Lambda comme type d'autorisation par défaut pour notre API GraphQL.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Auth:
        Type: AWS_LAMBDA
        LambdaAuthorizer:
          AuthorizerUri: !GetAtt Authorizer1.Arn
          AuthorizerResultTtlInSeconds: 10
          IdentityValidationExpression: hello
```

Ensuite, nous configurons des types d'autorisation supplémentaires pour notre API GraphQL en ajoutant les éléments suivants à notre modèle  AWS SAM  :

```
        Additional:
        - Type: AWS_IAM
        - Type: API_KEY
        - Type: OPENID_CONNECT
          OpenIDConnect:
            AuthTTL: 10
            ClientId: myId
            IatTTL: 10
            Issuer: prod
```

Cela donne le AWS SAM modèle suivant :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Auth:
        Type: AWS_LAMBDA
        LambdaAuthorizer:
          AuthorizerUri: !GetAtt Authorizer1.Arn
          AuthorizerResultTtlInSeconds: 10
          IdentityValidationExpression: hello
        Additional:
        - Type: AWS_IAM
        - Type: API_KEY
        - Type: OPENID_CONNECT
          OpenIDConnect:
            AuthTTL: 10
            ClientId: myId
            IatTTL: 10
            Issuer: prod
```

# AuthProvider
<a name="sam-property-graphqlapi-auth-authprovider"></a>

Configuration d'autorisation facultative pour vos types d'autorisation supplémentaires de l'API GraphQL.

## Syntaxe
<a name="sam-property-graphqlapi-auth-authprovider-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-property-graphqlapi-auth-authprovider-syntax-yaml"></a>

```
LambdaAuthorizer: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)
OpenIDConnect: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)
Type: String
UserPool: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)
```

## Propriétés
<a name="sam-property-graphqlapi-auth-authprovider-properties"></a>

`LambdaAuthorizer`  <a name="sam-graphqlapi-auth-authprovider-lambdaauthorizer"></a>
Spécifiez la configuration d'autorisation facultative pour votre autorisateur de AWS Lambda fonction. Vous pouvez configurer cette propriété facultative lorsque `AWS_LAMBDA` est spécifié pour `Type`.  
*Type* : [ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-lambdaauthorizerconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)` propriété d'un `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` objet.

`OpenIDConnect`  <a name="sam-graphqlapi-auth-authprovider-openidconnect"></a>
Spécifiez la configuration d'autorisation facultative pour votre service conforme à OpenID Connect. Vous pouvez configurer cette propriété facultative lorsque `OPENID_CONNECT` est spécifié pour `Type`.  
*Type* : [Open IDConnect Config](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)` propriété d'un `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` objet.

`Type`  <a name="sam-graphqlapi-auth-authprovider-type"></a>
Type d'autorisation par défaut entre les applications et votre AWS AppSync GraphQL API.  
Pour obtenir la liste et la description des valeurs autorisées, consultez la section [Autorisation et authentification](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html) dans le *Guide du développeur AWS AppSync *.  
Lorsque vous spécifiez un autorisateur Lambda (`AWS_LAMBDA`), il AWS SAM crée une politique Gestion des identités et des accès AWS (IAM) pour octroyer des autorisations entre votre API GraphQL et la fonction Lambda.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ AuthenticationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-authenticationtype)` propriété d'un `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` objet.

`UserPool`  <a name="sam-graphqlapi-auth-authprovider-userpool"></a>
Spécifiez la configuration d'autorisation facultative pour l'utilisation des groupes d'utilisateurs Amazon Cognito. Vous pouvez configurer cette propriété facultative lorsque `AMAZON_COGNITO_USER_POOLS` est spécifié pour `Type`.  
*Type* : [ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)` propriété d'un `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` objet.

# DataSource
<a name="sam-property-graphqlapi-datasource"></a>

Configurez une source de données à laquelle votre résolveur d'API GraphQL peut se connecter. Vous pouvez utiliser des modèles AWS Serverless Application Model (AWS SAM) pour configurer les connexions aux sources de données suivantes :
+ Amazon DynamoDB
+ AWS Lambda

Pour en savoir plus sur les sources de données, consultez [Joindre une source de données](https://docs.aws.amazon.com/appsync/latest/devguide/attaching-a-data-source.html) dans le *Guide du développeur AWS AppSync *.

## Syntaxe
<a name="sam-property-graphqlapi-datasource-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-property-graphqlapi-datasource-syntax-yaml"></a>

```
DynamoDb: DynamoDb
Lambda: Lambda
```

## Propriétés
<a name="sam-property-graphqlapi-datasource-properties"></a>

`DynamoDb`  <a name="sam-graphqlapi-datasource-dynamodb"></a>
Configurez une table DynamoDB comme source de données pour votre résolveur d'API GraphQL.  
*Type :* [DynamoDb](sam-property-graphqlapi-datasource-dynamodb.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`Lambda`  <a name="sam-graphqlapi-datasource-lambda"></a>
Configurez une fonction Lambda en tant que source de données pour votre résolveur d'API GraphQL.  
*Type* : [Lambda](sam-property-graphqlapi-datasource-lambda.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

# DynamoDb
<a name="sam-property-graphqlapi-datasource-dynamodb"></a>

Configurez une table Amazon DynamoDB comme source de données pour votre résolveur d'API GraphQL.

## Syntaxe
<a name="sam-property-graphqlapi-datasource-dynamodb-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-property-graphqlapi-datasource-dynamodb-syntax-yaml"></a>

```
LogicalId:
  DeltaSync: [DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)
  Description: String
  Name: String
  Permissions: List
  Region: String
  ServiceRoleArn: String
  TableArn: String
  TableName: String
  UseCallerCredentials: Boolean
  Versioned: Boolean
```

## Propriétés
<a name="sam-property-graphqlapi-datasource-dynamodb-properties"></a>

`DeltaSync`  <a name="sam-graphqlapi-datasource-dynamodb-deltasync"></a>
Décrit une configuration Delta Sync.  
*Type :* [DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-deltasyncconfig)` propriété d'un `AWS::AppSync::DataSource DynamoDBConfig` objet.

`Description`  <a name="sam-graphqlapi-datasource-dynamodb-description"></a>
Description de la source de données.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description)` propriété d'une `AWS::AppSync::DataSource` ressource.

`LogicalId`  <a name="sam-graphqlapi-datasource-dynamodb-logicalid"></a>
Nom unique de la source de données.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propriété d'une `AWS::AppSync::DataSource` ressource.

`Name`  <a name="sam-graphqlapi-datasource-dynamodb-name"></a>
Nom de la source de données. Spécifiez cette propriété pour remplacer la valeur `LogicalId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propriété d'une `AWS::AppSync::DataSource` ressource.

`Permissions`  <a name="sam-graphqlapi-datasource-dynamodb-permissions"></a>
Accordez des autorisations à votre source de données à l'aide de [Connecteurs AWS SAM ](managing-permissions-connectors.md). Vous pouvez fournir une entrée des façons suivantes :  
+ `Read`— Autorisez votre résolveur à lire votre source de données.
+ `Write`— Autorisez votre résolveur à écrire dans votre source de données.
AWS SAM utilise une `AWS::Serverless::Connector` ressource qui est transformée lors du déploiement pour fournir vos autorisations. Pour en savoir plus sur les ressources générées, consultez [CloudFormation ressources générées lorsque vous spécifiez AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).  
Vous pouvez spécifier `Permissions` ou `ServiceRoleArn`, mais pas les deux. Si aucune des deux n'est spécifiée, AWS SAM générera les valeurs par défaut de `Read` et`Write`. Pour révoquer l'accès à votre source de données, supprimez l'objet DynamoDB de votre modèle. AWS SAM 
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent. Elle est similaire à la propriété`Permissions` d'une ressource `AWS::Serverless::Connector`.

`Region`  <a name="sam-graphqlapi-datasource-dynamodb-region"></a>
Le Région AWS de votre table DynamoDB. Si vous ne le spécifiez pas, AWS SAM utilise`[AWS::Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-region)`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AwsRegion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-awsregion)` propriété d'un `AWS::AppSync::DataSource DynamoDBConfig` objet.

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-dynamodb-servicerolearn"></a>
L'ARN du rôle de service Gestion des identités et des accès AWS (IAM) pour la source de données. Le système assume ce rôle lors de l'accès à la source de données.  
Vous pouvez spécifier `Permissions` ou `ServiceRoleArn`, mais pas les deux.  
*Type* : chaîne  
*Nécessaire* : Non Si elle n'est pas spécifiée, AWS SAM applique la valeur par défaut pour`Permissions`.  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)` propriété d'une `AWS::AppSync::DataSource` ressource.

`TableArn`  <a name="sam-graphqlapi-datasource-dynamodb-tablearn"></a>
L'ARN de la table DynamoDB.  
*Type* : chaîne  
*Obligatoire :* selon les conditions. Si vous ne spécifiez pas `ServiceRoleArn`, `TableArn` est obligatoire.  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`TableName`  <a name="sam-graphqlapi-datasource-dynamodb-tablename"></a>
Nom de la table.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TableName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-tablename)` propriété d'un `AWS::AppSync::DataSource DynamoDBConfig` objet.

`UseCallerCredentials`  <a name="sam-graphqlapi-datasource-dynamodb-usecallercredentials"></a>
Définir sur `true` pour utiliser IAM avec cette source de données.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[UseCallerCredentials](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials)` propriété d'un `AWS::AppSync::DataSource DynamoDBConfig` objet.

`Versioned`  <a name="sam-graphqlapi-datasource-dynamodb-versioned"></a>
Définir sur `true` pour utiliser [la détection et la résolution des conflits et synchroniser](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) avec cette source de données.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Versioned](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned)` propriété d'un `AWS::AppSync::DataSource DynamoDBConfig` objet.

# Lambda
<a name="sam-property-graphqlapi-datasource-lambda"></a>

Configurez une AWS Lambda fonction en tant que source de données pour votre résolveur GraphQL d'API.

## Syntaxe
<a name="sam-property-graphqlapi-datasource-lambda-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-property-graphqlapi-datasource-lambda-syntax-yaml"></a>

```
LogicalId:
  Description: String
  FunctionArn: String
  Name: String
  ServiceRoleArn: String
```

## Propriétés
<a name="sam-property-graphqlapi-datasource-lambda-properties"></a>

`Description`  <a name="sam-graphqlapi-datasource-lambda-description"></a>
Description de la source de données.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description)` propriété d'une `AWS::AppSync::DataSource` ressource.

`FunctionArn`  <a name="sam-graphqlapi-datasource-lambda-functionarn"></a>
ARN de la fonction Lambda  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LambdaFunctionArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn)` propriété d'un `AWS::AppSync::DataSource LambdaConfig` objet.

`LogicalId`  <a name="sam-graphqlapi-datasource-lambda-logicalid"></a>
Nom unique de la source de données.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propriété d'une `AWS::AppSync::DataSource` ressource.

`Name`  <a name="sam-graphqlapi-datasource-lambda-name"></a>
Nom de la source de données. Spécifiez cette propriété pour remplacer la valeur `LogicalId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propriété d'une `AWS::AppSync::DataSource` ressource.

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-lambda-servicerolearn"></a>
L'ARN du rôle de service Gestion des identités et des accès AWS (IAM) pour la source de données. Le système assume ce rôle lors de l'accès à la source de données.  
Pour révoquer l'accès à votre source de données, supprimez l'objet Lambda de votre modèle  AWS SAM .
*Type* : chaîne  
*Nécessaire* : Non Si ce n'est pas spécifié, AWS SAM fournira `Write` les autorisations à l'aide de[Connecteurs AWS SAM ](managing-permissions-connectors.md).  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)` propriété d'une `AWS::AppSync::DataSource` ressource.

# Fonction
<a name="sam-property-graphqlapi-function"></a>

Configurez les fonctions GraphQL APIs pour effectuer certaines opérations.

## Syntaxe
<a name="sam-property-graphqlapi-function-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-property-graphqlapi-function-syntax-yaml"></a>

```
LogicalId:
  CodeUri: String
  DataSource: String
  Description: String
  Id: String
  InlineCode: String
  MaxBatchSize: Integer
  Name: String
  Runtime: Runtime
  Sync: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html)
```

## Propriétés
<a name="sam-property-graphqlapi-function-properties"></a>

`CodeUri`  <a name="sam-graphqlapi-function-codeuri"></a>
L'URI Amazon Simple Storage Service (Amazon S3) du code de fonction ou le chemin d'accès au dossier local.  
Si vous spécifiez un chemin d'accès à un dossier local, le fichier CloudFormation doit d'abord être chargé sur Amazon S3 avant le déploiement. Vous pouvez utiliser la CLI  AWS SAM pour faciliter ce processus. Pour de plus amples informations, veuillez consulter [Comment AWS SAM télécharge les fichiers locaux lors du déploiement](deploy-upload-local-files.md).  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-codes3location)` propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

`DataSource`  <a name="sam-graphqlapi-function-datasource"></a>
Le nom de source de données que cette fonction va joindre.  
+ Pour référencer une source de données dans la ressource `AWS::Serverless::GraphQLApi`, spécifiez son ID logique.
+ Pour référencer une source de données en dehors de la ressource `AWS::Serverless::GraphQLApi`, fournissez son attribut `Name` à l'aide de la fonction intrinsèque `Fn::GetAtt`. Par exemple, `!GetAtt MyLambdaDataSource.Name`.
+ Pour référencer une source de données provenant d'une autre pile, utilisez `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)`.
Si une variation de `[NONE | None | none]` est spécifiée, une `None` valeur AWS SAM sera générée pour l'`AWS::AppSync::DataSource``[Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-type)`objet.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DataSourceName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-datasourcename)` propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

`Description`  <a name="sam-graphqlapi-function-description"></a>
La description de votre fonction.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-description)` propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

`Id`  <a name="sam-graphqlapi-function-id"></a>
L'ID de fonction d'une fonction située en dehors de la ressource `AWS::Serverless::GraphQLApi`.  
+ Pour référencer une fonction dans le même AWS SAM modèle, utilisez la fonction `Fn::GetAtt` intrinsèque. Par exemple `Id: !GetAtt createPostItemFunc.FunctionId`.
+ Pour référencer une fonction provenant d'une autre pile, utilisez `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)`.
Lors de l'utilisation`Id`, toutes les autres propriétés ne sont pas autorisées. AWS SAM transmettra automatiquement l'ID de fonction de votre fonction référencée.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`InlineCode`  <a name="sam-graphqlapi-function-inlinecode"></a>
Le code de fonction contenant les fonctions de demande et de réponse.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-code)` propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

`LogicalId`  <a name="sam-graphqlapi-function-logicalid"></a>
Le nom unique de votre fonction.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name)` propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

`MaxBatchSize`  <a name="sam-graphqlapi-function-maxbatchsize"></a>
Le nombre maximal d'entrées de requêtes de résolveur qui seront envoyées à une seule fonction AWS Lambda dans une opération `BatchInvoke`.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la [MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-maxbatchsize)propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

`Name`  <a name="sam-graphqlapi-function-name"></a>
Nom de la fonction. Spécifiez pour remplacer la valeur `LogicalId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name)` propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

`Runtime`  <a name="sam-graphqlapi-function-runtime"></a>
Décrit un environnement d'exécution utilisé par une AWS AppSync fonction ou un résolveur de AWS AppSync pipeline. Spécifie le nom et la version d'exécution à utiliser.  
*Type* : [temps d'exécution](sam-property-graphqlapi-function-runtime.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent. Elle est similaire à la propriété`[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-runtime)` d'une ressource `AWS::AppSync::FunctionConfiguration`.

`Sync`  <a name="sam-graphqlapi-function-sync"></a>
Décrit une configuration Sync pour une fonction.  
Spécifie la stratégie de détection de conflits et de résolution à utiliser lorsque la fonction est appelée.  
*Type :* [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-syncconfig)` propriété d'une `AWS::AppSync::FunctionConfiguration` ressource.

# Environnement d’exécution
<a name="sam-property-graphqlapi-function-runtime"></a>

Le temps d'exécution de votre résolveur ou de votre fonction de pipeline. Spécifie le nom et la version d'exécution à utiliser.

## Syntaxe
<a name="sam-property-graphqlapi-function-runtime-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-property-graphqlapi-function-runtime-syntax-yaml"></a>

```
Name: String
Version: String
```

## Propriétés
<a name="sam-property-graphqlapi-function-runtime-properties"></a>

`Name`  <a name="sam-graphqlapi-function-runtime-name"></a>
Le nom du temps d'exécution à utiliser. Actuellement, la seule valeur autorisée est `APPSYNC_JS`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-name)` propriété d'un `AWS::AppSync::FunctionConfiguration AppSyncRuntime` objet.

`Version`  <a name="sam-graphqlapi-function-runtime-version"></a>
La version du temps d'exécution à utiliser. Actuellement, la seule version autorisée est `1.0.0`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-runtimeversion)` propriété d'un `AWS::AppSync::FunctionConfiguration AppSyncRuntime` objet.

# Résolveur
<a name="sam-property-graphqlapi-resolver"></a>

Configurez des résolveurs pour les champs de votre GraphQL API. AWS Serverless Application Model (AWS SAM) prend en charge les [résolveurs de JavaScript pipeline](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html).

## Syntaxe
<a name="sam-property-graphqlapi-resolver-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-property-graphqlapi-resolver-syntax-yaml"></a>

```
OperationType:
  LogicalId:
    Caching: [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)
    CodeUri: String
    FieldName: String
    InlineCode: String 
    MaxBatchSize: Integer
    Pipeline: List
    Runtime: Runtime
    Sync: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)
```

## Propriétés
<a name="sam-property-graphqlapi-resolver-properties"></a>

`Caching`  <a name="sam-graphqlapi-resolver-caching"></a>
La configuration de mise en cache pour un résolveur dont la mise en cache est activée.  
*Type :* [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-cachingconfig)` propriété d'une `AWS::AppSync::Resolver` ressource.

`CodeUri`  <a name="sam-graphqlapi-resolver-codeuri"></a>
L'URI ou le chemin d'accès à un dossier local d'Amazon Simple Storage Service (Amazon S3) du code de la fonction de résolution.  
Si vous spécifiez un chemin d'accès à un dossier local, le fichier CloudFormation doit d'abord être chargé sur Amazon S3 avant le déploiement. Vous pouvez utiliser la CLI  AWS SAM pour faciliter ce processus. Pour de plus amples informations, veuillez consulter [Comment AWS SAM télécharge les fichiers locaux lors du déploiement](deploy-upload-local-files.md).  
Si aucun `CodeUri` des deux `InlineCode` n'est fourni, AWS SAM générera `InlineCode` qui redirigera la demande vers la première fonction de pipeline et recevra la réponse de la dernière fonction de pipeline.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-codes3location)` propriété d'une `AWS::AppSync::Resolver` ressource.

`FieldName`  <a name="sam-graphqlapi-resolver-fieldname"></a>
Le nom de votre résolveur. Spécifiez cette propriété pour remplacer la valeur `LogicalId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FieldName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-fieldname)` propriété d'une `AWS::AppSync::Resolver` ressource.

`InlineCode`  <a name="sam-graphqlapi-resolver-inlinecode"></a>
Code de votre résolveur contenant les fonctions de demande et de réponse.  
Si aucun `CodeUri` des deux `InlineCode` n'est fourni, AWS SAM générera `InlineCode` qui redirigera la demande vers la première fonction de pipeline et recevra la réponse de la dernière fonction de pipeline.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-code)` propriété d'une `AWS::AppSync::Resolver` ressource.

`LogicalId`  <a name="sam-graphqlapi-resolver-logicalid"></a>
Le nom unique de votre résolveur. Dans un schéma GraphQL, le nom de votre résolveur doit correspondre au nom du champ pour lequel il est utilisé. Utilisez le même nom de champ pour `LogicalId`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`MaxBatchSize`  <a name="sam-graphqlapi-resolver-maxbatchsize"></a>
Le nombre maximal d'entrées de requêtes de résolveur qui seront envoyées à une seule fonction AWS Lambda dans une opération `BatchInvoke`.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-maxbatchsize)` propriété d'une `AWS::AppSync::Resolver` ressource.

`OperationType`  <a name="sam-graphqlapi-resolver-operationtype"></a>
Type d'opération GraphQL associé à votre résolveur. Par exemple, `Query`, `Mutation` ou `Subscription`. Vous pouvez imbriquer plusieurs résolveurs `LogicalId` au sein d'un même `OperationType`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TypeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename)` propriété d'une `AWS::AppSync::Resolver` ressource.

`Pipeline`  <a name="sam-graphqlapi-resolver-pipeline"></a>
Fonctions liées avec le résolveur de pipeline. Spécifiez les fonctions par ID logique dans une liste.  
*Type* : liste  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent. Elle est similaire à la propriété `[PipelineConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig)` d'une ressource `AWS::AppSync::Resolver`.

`Runtime`  <a name="sam-graphqlapi-resolver-runtime"></a>
Le temps d'exécution de votre résolveur ou de votre fonction de pipeline. Spécifie le nom et la version à utiliser.  
*Type* : [Temps d'exécution](sam-property-graphqlapi-resolver-runtime.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent. Elle est similaire à la propriété `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-runtime)` d'une propriété `AWS::AppSync::Resolver`.

`Sync`  <a name="sam-graphqlapi-resolver-sync"></a>
Décrit une configuration Sync pour un résolveur.  
Spécifie la stratégie de détection de conflits et de résolution à utiliser lorsque le résolveur est appelé.  
*Type :* [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-syncconfig)` propriété d'une `AWS::AppSync::Resolver` ressource.

## Exemples
<a name="sam-property-graphqlapi-resolver-examples"></a>

### Utilisez le code de fonction de résolution AWS SAM généré et enregistrez les champs sous forme de variables
<a name="sam-property-graphqlapi-resolver-examples-example1"></a>

Voici le schéma GraphQL de notre exemple :

```
schema {
  query: Query
  mutation: Mutation
}

type Query {
  getPost(id: ID!): Post
}

type Mutation {
  addPost(author: String!, title: String!, content: String!): Post!
}

type Post {
  id: ID!
  author: String
  title: String
  content: String
}
```

Voici un extrait de notre AWS SAM modèle :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLApi:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      ...
      Functions:
        preprocessPostItem:
          ...
        createPostItem:
          ...
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - preprocessPostItem
            - createPostItem
```

Dans notre AWS SAM modèle, nous ne spécifions pas `CodeUri` ou`InlineCode`. Lors du déploiement, génère AWS SAM automatiquement le code en ligne suivant pour notre résolveur :

```
export function request(ctx) {
  return {};
}

export function response(ctx) {
  return ctx.prev.result;
}
```

Ce code de résolution par défaut redirige la demande vers la première fonction de pipeline et reçoit la réponse de la dernière fonction de pipeline.

Dans notre première fonction de pipeline, nous pouvons utiliser le champ `args` fourni pour analyser l'objet de la requête et créer nos variables. Nous pouvons ensuite utiliser ces variables dans notre fonction. Voici un exemple de notre fonction `preprocessPostItem` :

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const author = ctx.args.author;
  const title = ctx.args.title;
  const content = ctx.args.content;
  
  // Use variables to process data
  
}

export function response(ctx) {
  return ctx.result;
}
```

# Environnement d’exécution
<a name="sam-property-graphqlapi-resolver-runtime"></a>

Le temps d'exécution de votre résolveur ou de votre fonction de pipeline. Spécifie le nom et la version d'exécution à utiliser.

## Syntaxe
<a name="sam-property-graphqlapi-resolver-runtime-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-property-graphqlapi-resolver-runtime-syntax-yaml"></a>

```
Name: String
Version: String
```

## Propriétés
<a name="sam-property-graphqlapi-resolver-runtime-properties"></a>

`Name`  <a name="sam-graphqlapi-resolver-runtime-name"></a>
Le nom du temps d'exécution à utiliser. Actuellement, la seule valeur autorisée est `APPSYNC_JS`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-name)` propriété d'un `AWS::AppSync::Resolver AppSyncRuntime` objet.

`Version`  <a name="sam-graphqlapi-resolver-runtime-version"></a>
La version du temps d'exécution à utiliser. Actuellement, la seule version autorisée est `1.0.0`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-runtimeversion)` propriété d'un `AWS::AppSync::Resolver AppSyncRuntime` objet.

# AWS::Serverless::HttpApi
<a name="sam-resource-httpapi"></a>

Crée une API HTTP Amazon API Gateway, qui vous permet de créer RESTful APIs avec une latence et des coûts inférieurs à ceux de REST APIs. Pour plus d'informations, consultez la section [Working with HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) dans le *guide du développeur d'API Gateway*.

Nous vous recommandons d'utiliser CloudFormation des hooks ou des politiques IAM pour vérifier que les ressources API Gateway sont associées à des autorisateurs afin de contrôler l'accès à celles-ci.

Pour plus d'informations sur l'utilisation CloudFormation des hooks, consultez la section [Enregistrement des hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) dans le *guide de l'utilisateur de la CloudFormation CLI* et dans le [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub référentiel.

Pour plus d'informations sur l'utilisation de politiques IAM, veuillez consulter [Exiger que les routes d'API disposent d'une autorisation](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) dans le *Guide du développeur API Gateway*.

**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](sam-specification-generated-resources.md).

## Syntaxe
<a name="sam-resource-httpapi-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-httpapi-syntax.yaml"></a>

```
Type: AWS::Serverless::HttpApi
Properties:
  [AccessLogSettings](#sam-httpapi-accesslogsettings): [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)
  [Auth](#sam-httpapi-auth): HttpApiAuth
  [CorsConfiguration](#sam-httpapi-corsconfiguration): String | HttpApiCorsConfiguration
  [DefaultRouteSettings](#sam-httpapi-defaultroutesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [DefinitionBody](#sam-httpapi-definitionbody): JSON
  [DefinitionUri](#sam-httpapi-definitionuri): String | HttpApiDefinition
  [Description](#sam-httpapi-description): String
  [DisableExecuteApiEndpoint](#sam-httpapi-disableexecuteapiendpoint): Boolean
  [Domain](#sam-httpapi-domain): HttpApiDomainConfiguration
  [FailOnWarnings](#sam-httpapi-failonwarnings): Boolean
  Name: String
  PropagateTags: Boolean
  [RouteSettings](#sam-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [StageName](#sam-httpapi-stagename): String
  [StageVariables](#sam-httpapi-stagevariables): [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)
  [Tags](#sam-httpapi-tags): Map
```

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

 `AccessLogSettings`   <a name="sam-httpapi-accesslogsettings"></a>
Les paramètres pour la journalisation des accès dans une étape.  
*Type :* [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)` propriété d'une `AWS::ApiGatewayV2::Stage` ressource.

 `Auth`   <a name="sam-httpapi-auth"></a>
Configure l'autorisation pour le contrôle de l'accès à votre API HTTP API Gateway.  
Pour plus d'informations, consultez la section [Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) dans le guide du *développeur d'API Gateway*.  
*Type :* [HttpApiAuth](sam-property-httpapi-httpapiauth.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `CorsConfiguration`   <a name="sam-httpapi-corsconfiguration"></a>
Gère le partage de ressources entre origines (CORS) pour tous vos API Gateway HTTP. APIs Spécifiez le domaine à autoriser en tant que chaîne ou spécifiez un objet `HttpApiCorsConfiguration`. Notez que CORS nécessite AWS SAM de modifier votre définition OpenAPI. CORS ne fonctionne donc que si `DefinitionBody` la propriété est spécifiée.  
Pour plus d'informations, consultez la [Configuration CORS pour une API HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) dans le *Guide du développeur API Gateway*.  
Il `CorsConfiguration` est défini à la fois dans une définition OpenAPI et au niveau de la propriété, puis AWS SAM fusionne les deux sources de configuration avec les propriétés prioritaires. Si cette propriété est définie sur `true`, alors toutes les origines sont autorisées.
*Type* : Chaîne \$1 [HttpApiCorsConfiguration](sam-property-httpapi-httpapicorsconfiguration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `DefaultRouteSettings`   <a name="sam-httpapi-defaultroutesettings"></a>
Les paramètres d'acheminement par défaut pour cette API HTTP. Ces paramètres s'appliquent à tous les acheminements sauf s'ils sont remplacés par le paramètre `RouteSettings` pour certains acheminements.  
*Type :* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` propriété d'une `AWS::ApiGatewayV2::Stage` ressource.

 `DefinitionBody`   <a name="sam-httpapi-definitionbody"></a>
La définition OpenAPI qui décrit votre API HTTP. Si vous ne spécifiez pas a `DefinitionUri` ou a`DefinitionBody`, AWS SAM génère un `DefinitionBody` pour vous en fonction de la configuration de votre modèle.  
*Type* : JSON  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` d'une `AWS::ApiGatewayV2::Api` ressource. Si certaines propriétés sont fournies, vous AWS SAM pouvez y insérer du contenu ou le modifier `DefinitionBody` avant qu'il ne soit transmis à CloudFormation. Les propriétés incluent le type `Auth` et le type `EventSource` HttpApi de la `AWS::Serverless::Function` ressource correspondante.

 `DefinitionUri`   <a name="sam-httpapi-definitionuri"></a>
L'URI Amazon Simple Storage Service (Amazon S3), le chemin d'accès au fichier local ou l'objet d'emplacement de la définition OpenAPI qui définit l'API HTTP. L'objet Amazon S3 auquel cette propriété fait référence doit être un fichier de définition OpenAPI valide. Si vous ne spécifiez pas a `DefinitionUri` ou n'`DefinitionBody`êtes pas spécifié, AWS SAM génère un `DefinitionBody` pour vous en fonction de la configuration de votre modèle.  
Si vous fournissez un chemin d'accès au fichier local, le modèle doit passer par le flux de travail qui inclut le fichier `sam deploy` ou la commande `sam package` pour que la définition soit correctement transformée.  
Les fonctions intrinsèques ne sont pas prises en charge dans les fichiers de OpenApi définition externes auxquels vous faites référence`DefinitionUri`. Pour importer une OpenApi définition dans le modèle, utilisez la `DefinitionBody` propriété avec la [transformation Include](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html).  
*Type* : Chaîne \$1 [HttpApiDefinition](sam-property-httpapi-httpapidefinition.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location)` d'une `AWS::ApiGatewayV2::Api` ressource. Les propriétés imbriquées d'Amazon S3 sont nommées différemment.

 `Description`   <a name="sam-httpapi-description"></a>
Description de la ressource d'API HTTP.  
Lorsque vous spécifiez`Description`, la OpenApi définition de la ressource d'API HTTP AWS SAM sera modifiée en définissant le `description` champ. Les scénarios suivants entraînent une erreur :  
+ La `DefinitionBody` propriété est spécifiée avec le `description` champ défini dans la définition de l'API ouverte. Cela entraîne un conflit de `description` champ qui AWS SAM ne sera pas résolu.
+ La `DefinitionUri` propriété est spécifiée : elle AWS SAM ne modifiera pas une définition d'API ouverte extraite d'Amazon S3.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `DisableExecuteApiEndpoint`   <a name="sam-httpapi-disableexecuteapiendpoint"></a>
Spécifie si les clients peuvent appeler votre API à l'aide du point de terminaison `execute-api` par défaut `https://{api_id}.execute-api.{region}.amazonaws.com`. Par défaut, les clients peuvent appeler votre API avec le point de terminaison par défaut. Pour exiger que les clients utilisent uniquement un nom de domaine personnalisé pour appeler votre API, désactivez le point de terminaison par défaut.  
Pour utiliser cette propriété, vous devez spécifier la `DefinitionBody` propriété au lieu de la `DefinitionUri` propriété ou définir `x-amazon-apigateway-endpoint-configuration` avec `disableExecuteApiEndpoint` dans votre définition OpenAPI.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint)` d'une `AWS::ApiGatewayV2::Api` ressource. Il est transmis directement à la propriété `disableExecuteApiEndpoint` d'une extension `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)`, qui est ajoutée à la propriété ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` d'une ressource `AWS::ApiGatewayV2::Api`.

 `Domain`   <a name="sam-httpapi-domain"></a>
Configure un domaine personnalisé pour cette API HTTP API Gateway.  
*Type :* [HttpApiDomainConfiguration](sam-property-httpapi-httpapidomainconfiguration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FailOnWarnings`   <a name="sam-httpapi-failonwarnings"></a>
Spécifie si la création d'API HTTP doit être annulée (`true`) ou non (`false`) lorsqu'un avertissement est rencontré. La valeur par défaut est `false`.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings)` propriété d'une `AWS::ApiGatewayV2::Api` ressource.

`Name`  <a name="sam-httpapi-name"></a>
Nom de la ressource d'API HTTP.  
Lorsque vous le spécifiez`Name`, AWS SAM il modifiera la définition OpenAPI de la ressource d'API HTTP en définissant le `title` champ. Les scénarios suivants entraînent une erreur :  
+ La `DefinitionBody` propriété est spécifiée avec le `title` champ défini dans la définition de l'API ouverte. Cela entraîne un conflit de `title` champ qui AWS SAM ne sera pas résolu.
+ La `DefinitionUri` propriété est spécifiée : elle AWS SAM ne modifiera pas une définition d'API ouverte extraite d'Amazon S3.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`PropagateTags`  <a name="sam-httpapi-propagatetags"></a>
Indiquez s'il faut ou non transmettre les balises de la propriété `Tags` aux ressources [AWS::Serverless::HttpApi](sam-specification-generated-resources-httpapi.md) que vous avez générées. Spécifiez `True` pour la propagation des balises dans vos ressources générées.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `False`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RouteSettings`   <a name="sam-httpapi-routesettings"></a>
Les paramètres d'acheminement par acheminement pour cette API HTTP. Pour plus d'informations, consultez la section [Travailler avec des routes pour le protocole HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html) dans le *guide du développeur d'API Gateway*.  
*Type :* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` propriété d'une `AWS::ApiGatewayV2::Stage` ressource.

 `StageName`   <a name="sam-httpapi-stagename"></a>
Le nom de l'étape d'API. Si aucun nom n'est spécifié, AWS SAM utilise le `$default` stage d'API Gateway.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : \$1default  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename)` propriété d'une `AWS::ApiGatewayV2::Stage` ressource.

 `StageVariables`   <a name="sam-httpapi-stagevariables"></a>
Mappage qui définit les variables de l'étape. Les noms de variables peuvent comporter des caractères alphanumériques et des caractères de soulignement. Les valeurs doivent correspondre à [A-Za-Z0-9-.\$1\$1 :/ ? \$1&=,] \$1.  
*Type* : [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StageVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)` propriété d'une `AWS::ApiGatewayV2::Stage` ressource.

 `Tags`   <a name="sam-httpapi-tags"></a>
Un mappage (chaîne à chaîne) qui spécifie les balises à ajouter à cette étape API Gateway. Les clés peuvent comporter de 1 à 128 caractères Unicode de longueur et ne peuvent pas être précédée du préfixe `aws:`. Les caractères suivants sont acceptés : l'ensemble des lettres Unicode, les chiffres, les espaces, `_`, `.`, `/`, `=`, `+` et `-`. Les valeurs de balise doivent comporter de 1 à 256 caractères Unicode en longueur.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Remarques supplémentaires* : La `Tags` propriété nécessite de AWS SAM modifier votre définition OpenAPI, de sorte que les balises ne sont ajoutées que si la `DefinitionBody` propriété est spécifiée ; aucune balise n'est ajoutée si la propriété est spécifiée. `DefinitionUri` AWS SAM ajoute automatiquement un `httpapi:createdBy:SAM` tag. Les balises sont également ajoutées à la ressource `AWS::ApiGatewayV2::Stage` et à la ressource `AWS::ApiGatewayV2::DomainName` (si le `DomainName` est spécifié).

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

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

Lorsque vous transmettez l'ID logique de cette ressource à la fonction intrinsèque `Ref`, `Ref` renvoie l'ID API de la ressource sous-jacente `AWS::ApiGatewayV2::Api`, par exemple, `a1bcdef2gh`.

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

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

### Simple HttpApi
<a name="sam-resource-httpapi--examples--simple-httpapi"></a>

L'exemple suivant montre le minimum nécessaire pour configurer un point de terminaison d'API HTTP soutenu par une fonction Lambda. Cet exemple utilise l'API HTTP par défaut qui AWS SAM crée.

#### YAML
<a name="sam-resource-httpapi--examples--simple-httpapi--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS SAM template with a simple API definition
Resources:
  ApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Runtime: python3.7
Transform: AWS::Serverless-2016-10-31
```

### HttpApi avec Auth
<a name="sam-resource-httpapi--examples--httpapi-with-auth"></a>

L'exemple suivant montre comment configurer l'autorisation sur les points de terminaison d'API HTTP.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-auth--yaml"></a>

```
Properties:
  FailOnWarnings: true
  Auth:
    DefaultAuthorizer: OAuth2
    Authorizers:
      OAuth2:
        AuthorizationScopes:
          - scope4
        JwtConfiguration:
          issuer: "https://www.example.com/v1/connect/oauth2"
          audience:
            - MyApi
        IdentitySource: "$request.querystring.param"
```

### HttpApi avec définition OpenAPI
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition"></a>

L'exemple suivant montre comment ajouter une définition OpenAPI au modèle.

Notez que toutes AWS SAM les intégrations Lambda manquantes sont renseignées pour les HttpApi événements faisant référence à cette API HTTP. AWS SAM ajoute également tous les chemins manquants auxquels les HttpApi événements font référence.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition--yaml"></a>

```
Properties:
  FailOnWarnings: true
  DefinitionBody:
    info:
      version: '1.0'
      title:
        Ref: AWS::StackName
    paths:
      "/":
        get:
          security:
          - OpenIdAuth:
            - scope1
            - scope2
          responses: {}
    openapi: 3.0.1
    securitySchemes:
      OpenIdAuth:
        type: openIdConnect
        x-amazon-apigateway-authorizer:
          identitySource: "$request.querystring.param"
          type: jwt
          jwtConfiguration:
            audience:
            - MyApi
            issuer: https://www.example.com/v1/connect/oidc
          openIdConnectUrl: https://www.example.com/v1/connect/oidc/.well-known/openid-configuration
```

### HttpApi avec paramètres de configuration
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings"></a>

L'exemple suivant montre comment ajouter des configurations d'API HTTP et des configurations d'étape au modèle.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Parameters:
  StageName:
    Type: String
    Default: Prod
    
Resources:
  HttpApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
          def handler(event, context):
              import json
              return {
                  "statusCode": 200,
                  "body": json.dumps(event),
              }
      Handler: index.handler
      Runtime: python3.7
      Events:
        ExplicitApi: # warning: creates a public endpoint
          Type: HttpApi
          Properties:
            ApiId: !Ref HttpApi
            Method: GET
            Path: /path
            TimeoutInMillis: 15000
            PayloadFormatVersion: "2.0"
            RouteSettings:
              ThrottlingBurstLimit: 600

  HttpApi:
    Type: AWS::Serverless::HttpApi
    Properties:
      StageName: !Ref StageName
      Tags:
        Tag: Value
      AccessLogSettings:
        DestinationArn: !GetAtt AccessLogs.Arn
        Format: $context.requestId
      DefaultRouteSettings:
        ThrottlingBurstLimit: 200
      RouteSettings:
        "GET /path":
          ThrottlingBurstLimit: 500 # overridden in HttpApi Event
      StageVariables:
        StageVar: Value
      FailOnWarnings: true

  AccessLogs:
    Type: AWS::Logs::LogGroup

Outputs:
  HttpApiUrl:
    Description: URL of your API endpoint
    Value:
      Fn::Sub: 'https://${HttpApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/${StageName}/'
  HttpApiId:
    Description: Api id of HttpApi
    Value:
      Ref: HttpApi
```

# HttpApiAuth
<a name="sam-property-httpapi-httpapiauth"></a>

Configurez l'autorisation pour contrôler l'accès à votre API HTTP Amazon API Gateway.

Pour plus d'informations sur la configuration de l'accès au protocole HTTP APIs, consultez la section [Contrôle et gestion de l'accès à une API HTTP dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) dans le *guide du développeur d'API Gateway*.

## Syntaxe
<a name="sam-property-httpapi-httpapiauth-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-property-httpapi-httpapiauth-syntax.yaml"></a>

```
  [Authorizers](#sam-httpapi-httpapiauth-authorizers): OAuth2Authorizer | LambdaAuthorizer
  [DefaultAuthorizer](#sam-httpapi-httpapiauth-defaultauthorizer): String
  [EnableIamAuthorizer](#sam-httpapi-httpapiauth-enableiamauthorizer): Boolean
```

## Propriétés
<a name="sam-property-httpapi-httpapiauth-properties"></a>

 `Authorizers`   <a name="sam-httpapi-httpapiauth-authorizers"></a>
Le mécanisme d'autorisation utilisé pour contrôler l'accès à votre API API Gateway.  
*Type* : [OAuth2Autorisateur \$1 [LambdaAuthorizer](sam-property-httpapi-lambdaauthorizer.md)](sam-property-httpapi-oauth2authorizer.md)  
*Obligatoire* : non  
*Par défaut* : aucun  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Remarques supplémentaires* : AWS SAM ajoute les autorisateurs à la définition d'OpenAPI.

 `DefaultAuthorizer`   <a name="sam-httpapi-httpapiauth-defaultauthorizer"></a>
Spécifiez l'autorisation par défaut à utiliser pour autoriser les appels d'API vers votre API API Gateway. Vous pouvez spécifier `AWS_IAM` en tant que mécanisme d'autorisation par défaut si `EnableIamAuthorizer` est défini sur `true`. Sinon, spécifiez un mécanisme d'autorisation que vous avez défini dans `Authorizers`.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : aucun  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `EnableIamAuthorizer`   <a name="sam-httpapi-httpapiauth-enableiamauthorizer"></a>
Spécifiez si l'autorisation IAM doit être utilisée pour la route API.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-httpapi-httpapiauth--examples"></a>

### OAuth Autorisateur 2.0
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer"></a>

OAuth Exemple d'autorisateur 2.0

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
        - scope2
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

### Mécanisme d'autorisation IAM
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer"></a>

Exemple de mécanisme d'autorisation IAM

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer--yaml"></a>

```
Auth:
  EnableIamAuthorizer: true
  DefaultAuthorizer: AWS_IAM
```

# LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer"></a>

Configurez un autorisateur Lambda pour contrôler l'accès à votre API HTTP Amazon API Gateway à l'aide d'une fonction. AWS Lambda 

Pour plus d'informations et des exemples, consultez la section [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) dans le *guide du développeur d'API Gateway*.

## Syntaxe
<a name="sam-property-httpapi-lambdaauthorizer-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-property-httpapi-lambdaauthorizer-syntax.yaml"></a>

```
  [AuthorizerPayloadFormatVersion](#sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion): String
  EnableFunctionDefaultPermissions: Boolean
  [EnableSimpleResponses](#sam-httpapi-lambdaauthorizer-enablesimpleresponses): Boolean
  [FunctionArn](#sam-httpapi-lambdaauthorizer-functionarn): String
  [FunctionInvokeRole](#sam-httpapi-lambdaauthorizer-functioninvokerole): String
  [Identity](#sam-httpapi-lambdaauthorizer-identity): LambdaAuthorizationIdentity
```

## Propriétés
<a name="sam-property-httpapi-lambdaauthorizer-properties"></a>

 `AuthorizerPayloadFormatVersion`   <a name="sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion"></a>
Spécifie le format de la charge utile envoyée à un autorisateur Lambda API HTTP. Requis pour les autorisations Lambda API HTTP.  
Cela est transmis à la section `authorizerPayloadFormatVersion`Section d'un `x-amazon-apigateway-authorizer` dans la section `securitySchemes` d'une définition OpenAPI.  
*Valeurs valides* : `1.0` ou `2.0`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `EnableFunctionDefaultPermissions`   <a name="sam-httpapi-lambdaauthorizer-enablefunctiondefaultpermissions"></a>
Par défaut, la ressource d'API HTTP n'est pas autorisée à appeler le mécanisme d'autorisation Lambda. Spécifiez cette propriété comme `true` pour créer automatiquement des autorisations entre votre ressource d'API HTTP et votre mécanisme d'autorisation Lambda.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Valeur par défaut* : `false`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `EnableSimpleResponses`   <a name="sam-httpapi-lambdaauthorizer-enablesimpleresponses"></a>
Spécifie si un autorisateur Lambda renvoie une réponse dans un format simple. Par défaut, un autorisateur Lambda doit renvoyer une politique Gestion des identités et des accès AWS (IAM). Si cette option est activée, l'autorisateur Lambda peut renvoyer une valeur booléenne au lieu d'une politique IAM.  
Cela est transmis à la section `enableSimpleResponses` d'un `x-amazon-apigateway-authorizer` dans la section `securitySchemes` d'une définition OpenAPI.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionArn`   <a name="sam-httpapi-lambdaauthorizer-functionarn"></a>
L’Amazon Resource Name (ARN) de la fonction Lambda qui procure l’autorisation pour l’API.  
Cela est transmis à la section `authorizerUri` d'un `x-amazon-apigateway-authorizer` dans la section `securitySchemes` d'une définition OpenAPI.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionInvokeRole`   <a name="sam-httpapi-lambdaauthorizer-functioninvokerole"></a>
L'ARN du rôle IAM qui possède les informations d'identification requises pour que la passerelle API Gateway appelle la fonction de mécanisme d'autorisation. Spécifiez ce paramètre si la stratégie basée sur les ressources de votre fonction n'accorde pas l'autorisation `lambda:InvokeFunction` API Gateway.  
Cela est transmis à la section `authorizerCredentials` d'un `x-amazon-apigateway-authorizer` dans la section `securitySchemes` d'une définition OpenAPI.  
Pour plus d'informations, consultez [Création d'un mécanisme d'autorisation Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.example-create) dans le *Guide du développeur API Gateway*.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Identity`   <a name="sam-httpapi-lambdaauthorizer-identity"></a>
Spécifie une `IdentitySource` dans une demande de mécanisme d'autorisation entrante.  
Cela est transmis à la section `identitySource` d'un `x-amazon-apigateway-authorizer` dans la section `securitySchemes` d'une définition OpenAPI.  
*Type :* [LambdaAuthorizationIdentity](sam-property-httpapi-lambdaauthorizationidentity.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-httpapi-lambdaauthorizer--examples"></a>

### LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer"></a>

LambdaAuthorizer exemple

#### YAML
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer--yaml"></a>

```
Auth:
  Authorizers:
    MyLambdaAuthorizer:
      AuthorizerPayloadFormatVersion: 2.0
      FunctionArn:
        Fn::GetAtt:
          - MyAuthFunction
          - Arn
      FunctionInvokeRole:
        Fn::GetAtt:
          - LambdaAuthInvokeRole
          - Arn
      Identity:
        Headers:
          - Authorization
```

# LambdaAuthorizationIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity"></a>

La propriété Use peut être utilisée pour spécifier un IdentitySource dans une demande entrante pour un autorisateur Lambda. Pour plus d'informations sur les sources d'identité, consultez [Sources d'identité](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.identity-sources) dans le *Guide du développeur API Gateway*.

## Syntaxe
<a name="sam-property-httpapi-lambdaauthorizationidentity-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-property-httpapi-lambdaauthorizationidentity-syntax.yaml"></a>

```
  [Context](#sam-httpapi-lambdaauthorizationidentity-context): List
  [Headers](#sam-httpapi-lambdaauthorizationidentity-headers): List
  [QueryStrings](#sam-httpapi-lambdaauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-httpapi-lambdaauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-httpapi-lambdaauthorizationidentity-stagevariables): List
```

## Propriétés
<a name="sam-property-httpapi-lambdaauthorizationidentity-properties"></a>

 `Context`   <a name="sam-httpapi-lambdaauthorizationidentity-context"></a>
Convertit les chaînes de contexte données en une liste d'expressions de mappage au format `$context.contextString`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Headers`   <a name="sam-httpapi-lambdaauthorizationidentity-headers"></a>
Convertit les en-têtes en une liste d'expressions de mappage au format `$request.header.name`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `QueryStrings`   <a name="sam-httpapi-lambdaauthorizationidentity-querystrings"></a>
Convertit les chaînes de demandes données en une liste d'expressions de mappage au format `$request.querystring.queryString`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ReauthorizeEvery`   <a name="sam-httpapi-lambdaauthorizationidentity-reauthorizeevery"></a>
Période time-to-live (TTL), en secondes, qui indique la durée pendant laquelle API Gateway met en cache les résultats de l'autorisateur. Si vous définissez une valeur supérieure à 0, API Gateway met en cache les réponses du mécanisme d'autorisation. La valeur maximale est 3 600 ou 1 heure.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `StageVariables`   <a name="sam-httpapi-lambdaauthorizationidentity-stagevariables"></a>
Convertit les variables d'étapes données en une liste d'expressions de mappage au format `$stageVariables.stageVariable`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity"></a>

Exemple d'identité de demande Lambda

#### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# OAuth2Authorizer
<a name="sam-property-httpapi-oauth2authorizer"></a>

Définition d'un autorisateur OAuth 2.0, également connu sous le nom d'autorisateur JSON Web Token (JWT).

Pour plus d'informations, consultez la section [Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) dans le guide du *développeur d'API Gateway*.

## Syntaxe
<a name="sam-property-httpapi-oauth2authorizer-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-property-httpapi-oauth2authorizer-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-httpapi-oauth2authorizer-authorizationscopes): List
  [IdentitySource](#sam-httpapi-oauth2authorizer-identitysource): String
  [JwtConfiguration](#sam-httpapi-oauth2authorizer-jwtconfiguration): Map
```

## Propriétés
<a name="sam-property-httpapi-oauth2authorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-httpapi-oauth2authorizer-authorizationscopes"></a>
Liste des étendues d'autorisation pour cet autorisateur.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IdentitySource`   <a name="sam-httpapi-oauth2authorizer-identitysource"></a>
Expression de source d'identité pour ce mécanisme d'autorisation.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `JwtConfiguration`   <a name="sam-httpapi-oauth2authorizer-jwtconfiguration"></a>
Configuration JWT pour ce mécanisme d'autorisation.  
Cela est transmis à la section `jwtConfiguration` d'un `x-amazon-apigateway-authorizer` dans la section `securitySchemes` d'une définition OpenAPI.  
Les propriétés `audience` sont insensibles aux majuscules `issuer` et minuscules et peuvent être utilisées soit en minuscules comme dans OpenAPI, soit en majuscules et comme dans. `Issuer` `Audience` [AWS::ApiGatewayV2::Authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html) 
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-httpapi-oauth2authorizer--examples"></a>

### OAuth Autorisateur 2.0
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer"></a>

OAuth Exemple d'autorisateur 2.0

#### YAML
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

# HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration"></a>

Gérez le partage de ressources entre origines (CORS) pour votre protocole HTTP. APIs Spécifiez le domaine à autoriser en tant que chaîne ou spécifiez un dictionnaire avec une configuration Cors supplémentaire. REMARQUE : Cors a besoin de SAM pour modifier votre définition d'OpenAPI. Cela ne fonctionne donc qu'avec les éléments en OpenApi ligne définis dans la propriété. `DefinitionBody`

Pour plus d'informations sur CORS, consultez la [Configuration CORS pour une API HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) dans le *Guide du développeur API Gateway*.

Remarque : S'il HttpApiCorsConfiguration est défini à la fois dans OpenAPI et au niveau des propriétés, il les AWS SAM fusionne avec les propriétés prioritaires.

## Syntaxe
<a name="sam-property-httpapi-httpapicorsconfiguration-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-property-httpapi-httpapicorsconfiguration-syntax.yaml"></a>

```
  [AllowCredentials](#sam-httpapi-httpapicorsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-httpapi-httpapicorsconfiguration-allowheaders): List
  [AllowMethods](#sam-httpapi-httpapicorsconfiguration-allowmethods): List
  [AllowOrigins](#sam-httpapi-httpapicorsconfiguration-alloworigins): List
  [ExposeHeaders](#sam-httpapi-httpapicorsconfiguration-exposeheaders): List
  [MaxAge](#sam-httpapi-httpapicorsconfiguration-maxage): Integer
```

## Propriétés
<a name="sam-property-httpapi-httpapicorsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-httpapi-httpapicorsconfiguration-allowcredentials"></a>
Spécifie si les informations d’identification sont incluses dans la demande CORS.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-allowheaders"></a>
Représente une collection d'en-têtes autorisés.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowMethods`   <a name="sam-httpapi-httpapicorsconfiguration-allowmethods"></a>
Représente une collection de méthodes HTTP autorisées.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowOrigins`   <a name="sam-httpapi-httpapicorsconfiguration-alloworigins"></a>
Représente une collection d'origines autorisées.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ExposeHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-exposeheaders"></a>
Représente une collection d'en-têtes exposés.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `MaxAge`   <a name="sam-httpapi-httpapicorsconfiguration-maxage"></a>
Nombre de secondes pendant lesquelles le navigateur doit mettre en cache les résultats de la demande de contrôle en amont.  
*Type* : entier  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-httpapi-httpapicorsconfiguration--examples"></a>

### HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration"></a>

Exemple de configuration Cors API HTTP.

#### YAML
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration--yaml"></a>

```
CorsConfiguration:
  AllowOrigins:
    - "https://example.com"
  AllowHeaders:
    - x-apigateway-header
  AllowMethods:
    - GET
  MaxAge: 600
  AllowCredentials: true
```

# HttpApiDefinition
<a name="sam-property-httpapi-httpapidefinition"></a>

Un document OpenAPI définissant l'API.

## Syntaxe
<a name="sam-property-httpapi-httpapidefinition-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-property-httpapi-httpapidefinition-syntax.yaml"></a>

```
  [Bucket](#sam-httpapi-httpapidefinition-bucket): String
  [Key](#sam-httpapi-httpapidefinition-key): String
  [Version](#sam-httpapi-httpapidefinition-version): String
```

## Propriétés
<a name="sam-property-httpapi-httpapidefinition-properties"></a>

 `Bucket`   <a name="sam-httpapi-httpapidefinition-bucket"></a>
Nom du compartiment Amazon S3 dans lequel le fichier OpenAPI est stocké.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket)` propriété du type de `AWS::ApiGatewayV2::Api` `BodyS3Location` données.

 `Key`   <a name="sam-httpapi-httpapidefinition-key"></a>
La clé Amazon S3 du fichier OpenAPI.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key)` propriété du type de `AWS::ApiGatewayV2::Api` `BodyS3Location` données.

 `Version`   <a name="sam-httpapi-httpapidefinition-version"></a>
Pour les objets versionnés, la version du fichier OpenAPI.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version)` propriété du type de `AWS::ApiGatewayV2::Api` `BodyS3Location` données.

## Exemples
<a name="sam-property-httpapi-httpapidefinition--examples"></a>

### Exemple de définition d'Uri
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example"></a>

Exemple de définition d'API

#### YAML
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# HttpApiDomainConfiguration
<a name="sam-property-httpapi-httpapidomainconfiguration"></a>

Configure un domaine personnalisé pour une API.

## Syntaxe
<a name="sam-property-httpapi-httpapidomainconfiguration-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-property-httpapi-httpapidomainconfiguration-syntax.yaml"></a>

```
  [BasePath](#sam-httpapi-httpapidomainconfiguration-basepath): List
  [CertificateArn](#sam-httpapi-httpapidomainconfiguration-certificatearn): String
  [DomainName](#sam-httpapi-httpapidomainconfiguration-domainname): String
  [EndpointConfiguration](#sam-httpapi-httpapidomainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)
  [OwnershipVerificationCertificateArn](#sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn): String
  [Route53](#sam-httpapi-httpapidomainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-httpapi-httpapidomainconfiguration-securitypolicy): String
```

## Propriétés
<a name="sam-property-httpapi-httpapidomainconfiguration-properties"></a>

 `BasePath`   <a name="sam-httpapi-httpapidomainconfiguration-basepath"></a>
Une liste des chemins de base à configurer avec le nom de domaine Amazon API Gateway.  
*Type* : liste  
*Obligatoire* : non  
*Par défaut* : /  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[ApiMappingKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey)` d'une `AWS::ApiGatewayV2::ApiMapping` ressource. AWS SAM crée plusieurs `AWS::ApiGatewayV2::ApiMapping` ressources, une par valeur spécifiée dans cette propriété.

 `CertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-certificatearn"></a>
Le nom de ressource Amazon (ARN) d'un certificat AWS géré pour le point de terminaison de ce nom de domaine. AWS Certificate Manager est la seule source prise en charge.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn)` propriété d'une `AWS::ApiGateway2::DomainName DomainNameConfiguration` ressource.

 `DomainName`   <a name="sam-httpapi-httpapidomainconfiguration-domainname"></a>
Le nom de domaine personnalisé pour votre API dans Amazon API Gateway. Les majuscules ne sont pas prises en charge.  
AWS SAM génère une `AWS::ApiGatewayV2::DomainName` ressource lorsque cette propriété est définie. Pour plus d'informations sur ce scénario, consultez [DomainName la propriété est spécifiée](sam-specification-generated-resources-httpapi.md#sam-specification-generated-resources-httpapi-domain-name). Pour plus d'informations sur CloudFormation les ressources générées, consultez[CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname)` propriété d'une `AWS::ApiGateway2::DomainName` ressource.

 `EndpointConfiguration`   <a name="sam-httpapi-httpapidomainconfiguration-endpointconfiguration"></a>
Définit le type de point de terminaison API Gateway à mapper au domaine personnalisé. La valeur de cette propriété détermine la manière dont la `CertificateArn` propriété est mappée CloudFormation.  
La seule valeur valide pour HTTP APIs est`REGIONAL`.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `REGIONAL`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `MutualTlsAuthentication`   <a name="sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication"></a>
La configuration d'authentification de protocole TLS (Transport Layer Security) mutuelle pour un nom de domaine personnalisé.  
*Type :* [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)` propriété d'une `AWS::ApiGatewayV2::DomainName` ressource.

 `OwnershipVerificationCertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn"></a>
 ARN du certificat public que vous avez généré dans pour valider la propriété de votre domaine personnalisé. Obligatoire uniquement lorsque vous configurez le protocole TLS mutuel et que vous précisez un ARN de certificat d'autorité de certification privé ou importé ACM pour le `CertificateArn`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ownershipverificationcertificatearn)` propriété du type de `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` données.

 `Route53`   <a name="sam-httpapi-httpapidomainconfiguration-route53"></a>
Définit une configuration Amazon Route 53.  
*Type* : [Route53Configuration](sam-property-httpapi-route53configuration.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SecurityPolicy`   <a name="sam-httpapi-httpapidomainconfiguration-securitypolicy"></a>
La version TLS de la stratégie de sécurité pour ce nom de domaine.  
La seule valeur valide pour HTTP APIs est`TLS_1_2`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy)` propriété du type de `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` données.

## Exemples
<a name="sam-property-httpapi-httpapidomainconfiguration--examples"></a>

### DomainName
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname"></a>

DomainName exemple

#### YAML
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: REGIONAL
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# Route53Configuration
<a name="sam-property-httpapi-route53configuration"></a>

Configure les ensembles d'enregistrements Route53 pour une API.

## Syntaxe
<a name="sam-property-httpapi-route53configuration-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-property-httpapi-route53configuration-syntax.yaml"></a>

```
  [DistributionDomainName](#sam-httpapi-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-httpapi-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-httpapi-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-httpapi-route53configuration-hostedzonename): String
  [IpV6](#sam-httpapi-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
```

## Propriétés
<a name="sam-property-httpapi-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-httpapi-route53configuration-distributiondomainname"></a>
Configure une distribution personnalisée du nom de domaine personnalisé de l'API.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : utilisez la distribution API Gateway.  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` propriété d'une `AWS::Route53::RecordSetGroup AliasTarget` ressource.  
*Remarques supplémentaires* : nom de domaine d'une [CloudFrontdistribution](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html).

 `EvaluateTargetHealth`   <a name="sam-httpapi-route53configuration-evaluatetargethealth"></a>
Lorsque cela EvaluateTargetHealth est vrai, un enregistrement d'alias hérite de l'état de la AWS ressource référencée, comme un équilibreur de charge Elastic Load Balancing ou un autre enregistrement de la zone hébergée.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` propriété d'une `AWS::Route53::RecordSetGroup AliasTarget` ressource.  
*Remarques supplémentaires* : vous ne pouvez pas EvaluateTargetHealth définir la valeur true lorsque l'alias cible est une CloudFront distribution.

 `HostedZoneId`   <a name="sam-httpapi-route53configuration-hostedzoneid"></a>
ID de la zone hébergée dans laquelle vous souhaitez créer des enregistrements.  
Spécifiez `HostedZoneName` ou `HostedZoneId`, mais pas les deux. Si plusieurs zones hébergées portent le même nom de domaine, vous devez spécifier la zone hébergée à l'aide de la valeur `HostedZoneId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` propriété d'une `AWS::Route53::RecordSetGroup RecordSet` ressource.

 `HostedZoneName`   <a name="sam-httpapi-route53configuration-hostedzonename"></a>
Nom de la zone hébergée dans laquelle vous souhaitez créer des enregistrements. Vous devez inclure un point de fin (par exemple, `www.example.com.`) dans le `HostedZoneName`.  
Spécifiez `HostedZoneName` ou `HostedZoneId`, mais pas les deux. Si plusieurs zones hébergées portent le même nom de domaine, vous devez spécifier la zone hébergée à l'aide de la valeur `HostedZoneId`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` propriété d'une `AWS::Route53::RecordSetGroup RecordSet` ressource.

 `IpV6`   <a name="sam-httpapi-route53configuration-ipv6"></a>
Lorsque cette propriété est définie, elle AWS SAM crée une `AWS::Route53::RecordSet` ressource et attribue à [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) `AAAA` la valeur fournie HostedZone.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`Region`  <a name="sam-httpapi-route53configuration-region"></a>
*Ensembles d'enregistrements de ressources basés sur la latence uniquement* : EC2 région Amazon dans laquelle vous avez créé la ressource à laquelle ce jeu d'enregistrements de ressources fait référence. La ressource est généralement une AWS ressource, telle qu'une EC2 instance ou un équilibreur de charge ELB, à laquelle il est fait référence par une adresse IP ou un nom de domaine DNS, selon le type d'enregistrement.  
Lorsqu'Amazon Route 53 reçoit une requête DNS pour un nom et un type de domaine pour lesquels vous avez créé des ensembles d'enregistrements de ressources de latence, Route 53 sélectionne le jeu d'enregistrements de ressources de latence présentant la latence la plus faible entre l'utilisateur final et la EC2 région Amazon associée. Route 53 renvoie ensuite la valeur associée à l'ensemble d'enregistrements de ressource sélectionné.  
Notez ce qui suit :  
+ Vous pouvez uniquement spécifier un `ResourceRecord` par ensemble d'enregistrements de ressource de latence.
+ Vous ne pouvez créer qu'un seul ensemble d'enregistrements de ressources de latence pour chaque EC2 région Amazon.
+ Vous n'êtes pas obligé de créer des ensembles d'enregistrements de ressources de latence pour toutes les EC2 régions Amazon. Route 53 choisit la région dotée de la meilleure latence parmi les régions pour lesquelles vous créez des ensembles d'enregistrements de ressource de latence.
+ Vous ne pouvez pas créer des ensembles d'enregistrements de ressource sans latence ayant les mêmes valeurs pour les éléments `Name` et `Type` que celles des ensembles d'enregistrements de ressource de latence.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` propriété d'un type de `AWS::Route53::RecordSetGroup` `RecordSet` données.

`SetIdentifier`  <a name="sam-httpapi-route53configuration-setidentifier"></a>
*Ensembles d'enregistrements de ressource ayant une politique de routage autre que simple :* un identificateur qui se différencie parmi plusieurs ensembles d'enregistrements de ressource ayant la même combinaison de nom et de type, comme plusieurs ensembles d'enregistrements de ressource pondérés nommés acme.example.com ayant un type A. Dans un groupe d'ensembles d'enregistrements de ressource ayant les mêmes nom et type, la valeur `SetIdentifier` doit être unique pour chaque ensemble d'enregistrements de ressource.  
Pour de plus amples informations sur les politiques de routage, veuillez consulter [Choix d'une politique de routage](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) dans le *Guide du développeur Amazon Route 53*.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` propriété d'un type de `AWS::Route53::RecordSetGroup` `RecordSet` données.

## Exemples
<a name="sam-property-httpapi-route53configuration--examples"></a>

### Exemple de configuration Route 53
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example"></a>

Cet exemple montre comment configurer Route 53.

#### YAML
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
    EvaluateTargetHealth: true
    DistributionDomainName: xyz
```

# AWS::Serverless::LayerVersion
<a name="sam-resource-layerversion"></a>

Crée un Lambda LayerVersion qui contient la bibliothèque ou le code d'exécution nécessaire à une fonction Lambda.

La [AWS::Serverless::LayerVersion](#sam-resource-layerversion) ressource prend également en charge l'attribut `Metadata` resource, ce qui vous permet de demander AWS SAM de créer des couches incluses dans votre application. Pour plus d'informations sur les couches de construction, consultez [Création de couches Lambda dans AWS SAM](building-layers.md).

**Remarque importante** : depuis la publication de l'attribut de [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html)ressource dans CloudFormation, [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)(recommandé) offre les mêmes avantages que[AWS::Serverless::LayerVersion](#sam-resource-layerversion).

Lorsqu'un Serverless LayerVersion est transformé, SAM transforme également l'identifiant logique de la ressource afin que les anciens ne LayerVersions soient pas automatiquement supprimés CloudFormation lors de la mise à jour de la ressource.

**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](sam-specification-generated-resources.md).

## Syntaxe
<a name="sam-resource-layerversion-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-layerversion-syntax.yaml"></a>

```
Type: AWS::Serverless::LayerVersion
Properties:
  [CompatibleArchitectures](#sam-layerversion-compatiblearchitectures): List
  [CompatibleRuntimes](#sam-layerversion-compatibleruntimes): List
  [ContentUri](#sam-layerversion-contenturi): String | LayerContent
  [Description](#sam-layerversion-description): String
  [LayerName](#sam-layerversion-layername): String
  [LicenseInfo](#sam-layerversion-licenseinfo): String
  [PublishLambdaVersion](#sam-layerversion-PublishLambdaVersion): Boolean
  [RetentionPolicy](#sam-layerversion-retentionpolicy): String
```

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

 `CompatibleArchitectures`   <a name="sam-layerversion-compatiblearchitectures"></a>
Précise les architectures de jeux d'instructions prises en charge pour la version de couche.  
Pour en savoir plus sur cette propriété, consultez [Architectures du jeu d'instructions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html) dans le *guide du développeur AWS Lambda *.  
*Valeurs valides *: `x86_64`, `arm64`  
*Type* : liste  
*Obligatoire* : non  
*Par défaut* : `x86_64`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CompatibleArchitectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatiblearchitectures)` propriété d'une `AWS::Lambda::LayerVersion` ressource.

 `CompatibleRuntimes`   <a name="sam-layerversion-compatibleruntimes"></a>
Liste des runtimes compatibles avec cela LayerVersion.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CompatibleRuntimes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatibleruntimes)` propriété d'une `AWS::Lambda::LayerVersion` ressource.

 `ContentUri`   <a name="sam-layerversion-contenturi"></a>
Uri Amazon S3, chemin d'accès au dossier local ou LayerContent objet du code de couche.  
Si un URI ou un LayerContent objet Amazon S3 est fourni, l'objet Amazon S3 référencé doit être une archive ZIP valide contenant le contenu d'une couche [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).  
Si le chemin d'accès vers un fichier local est fourni, le modèle doit passer par le flux comprenant [sam build](sam-cli-command-reference-sam-build.md) suivie par [sam deploy](sam-cli-command-reference-sam-deploy.md) ou [sam package](sam-cli-command-reference-sam-package.md), pour que le contenu soit correctement transformé. Par défaut, les chemins relatifs sont résolus en fonction de l'emplacement du AWS SAM modèle.  
*Type* : Chaîne \$1 [LayerContent](sam-property-layerversion-layercontent.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Content](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-content)` d'une `AWS::Lambda::LayerVersion` ressource. Les propriétés imbriquées d'Amazon S3 sont nommées différemment.

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

 `LayerName`   <a name="sam-layerversion-layername"></a>
Nom ou Amazon Resource Name (ARN) de la couche.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : ID logique de ressource  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[LayerName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-layername)` d'une `AWS::Lambda::LayerVersion` ressource. Si vous ne spécifiez pas de nom, l'ID logique de la ressource sera utilisée comme nom.

 `LicenseInfo`   <a name="sam-layerversion-licenseinfo"></a>
Informations sur la licence correspondante LayerVersion.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LicenseInfo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-licenseinfo)` propriété d'une `AWS::Lambda::LayerVersion` ressource.

 `PublishLambdaVersion`   <a name="sam-layerversion-PublishLambdaVersion"></a>
Une propriété opt-in qui crée une nouvelle version de Lambda chaque fois qu'une modification est apportée à la `LayerVersion` ressource référencée. Lorsqu'elle est activée avec `AutoPublishAlias` et `AutoPublishAliasAllProperties` dans la fonction Lambda connectée, une nouvelle version Lambda sera créée pour chaque modification apportée à la ressource. `LayerVersion`  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RetentionPolicy`   <a name="sam-layerversion-retentionpolicy"></a>
Cette propriété indique si les anciennes versions de votre ressource `LayerVersion` sont conservées ou supprimées lorsque vous supprimez une ressource. Si vous devez conserver les anciennes versions de votre ressource `LayerVersion` lors de la mise à jour ou du remplacement d'une ressource, l'`UpdateReplacePolicy`attribut doit être activé. Pour plus d'informations à ce sujet, reportez-vous à la section [`UpdateReplacePolicy`attribut](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) du *guide de AWS CloudFormation l'utilisateur*.  
*Valeurs valides* : `Retain` ou `Delete`  
*Type :* chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Remarques supplémentaires* : Lorsque vous spécifiez`Retain`, AWS SAM ajoute un [Attributs de ressources pris en charge par AWS SAM](sam-specification-resource-attributes.md) de `DeletionPolicy: Retain` à la `AWS::Lambda::LayerVersion` ressource transformée.

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

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

Lorsque l'ID logique de cette ressource est fourni à la fonction `Ref` intrinsèque, elle renvoie l'ARN de la ressource Lambda LayerVersion sous-jacente.

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

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

### LayerVersionExample
<a name="sam-resource-layerversion--examples--layerversionexample"></a>

Exemple de LayerVersion

#### YAML
<a name="sam-resource-layerversion--examples--layerversionexample--yaml"></a>

```
Properties:
  LayerName: MyLayer
  Description: Layer description
  ContentUri: 's3://sam-s3-demo-bucket/my-layer.zip'
  CompatibleRuntimes:
    - nodejs10.x
    - nodejs12.x
  LicenseInfo: 'Available under the MIT-0 license.'
  RetentionPolicy: Retain
```

# LayerContent
<a name="sam-property-layerversion-layercontent"></a>

Une archive ZIP hébergeant le contenu d'une [couche Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).

## Syntaxe
<a name="sam-property-layerversion-layercontent-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-property-layerversion-layercontent-syntax.yaml"></a>

```
  [Bucket](#sam-layerversion-layercontent-bucket): String
  [Key](#sam-layerversion-layercontent-key): String
  [Version](#sam-layerversion-layercontent-version): String
```

## Propriétés
<a name="sam-property-layerversion-layercontent-properties"></a>

 `Bucket`   <a name="sam-layerversion-layercontent-bucket"></a>
Compartiment Amazon S3 de l'archive de couche.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[S3Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3bucket)` propriété du type de `AWS::Lambda::LayerVersion` `Content` données.

 `Key`   <a name="sam-layerversion-layercontent-key"></a>
Clé Amazon S3 de l’archive de couche.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[S3Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3key)` propriété du type de `AWS::Lambda::LayerVersion` `Content` données.

 `Version`   <a name="sam-layerversion-layercontent-version"></a>
Pour les objets versionnés, version de l’objet d’archive de couche à utiliser.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[S3ObjectVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3objectversion)` propriété du type de `AWS::Lambda::LayerVersion` `Content` données.

## Exemples
<a name="sam-property-layerversion-layercontent--examples"></a>

### LayerContent
<a name="sam-property-layerversion-layercontent--examples--layercontent"></a>

Exemple de contenu de couche

#### YAML
<a name="sam-property-layerversion-layercontent--examples--layercontent--yaml"></a>

```
LayerContent:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# AWS::Serverless::SimpleTable
<a name="sam-resource-simpletable"></a>

Crée une table DynamoDB avec une clé primaire d'attribut unique. Cela est utile lorsque les données doivent seulement être accessibles via une clé primaire.

Pour des fonctionnalités plus avancées, utilisez une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)ressource dans CloudFormation. Ces ressources peuvent être utilisées dans. AWS SAM Ils sont complets et offrent une personnalisation supplémentaire, y compris [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html)une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html)personnalisation.

**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](sam-specification-generated-resources.md).

## Syntaxe
<a name="sam-resource-simpletable-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-simpletable-syntax.yaml"></a>

```
Type: AWS::Serverless::SimpleTable
Properties:
  PointInTimeRecoverySpecification: [PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)
  [PrimaryKey](#sam-simpletable-primarykey): PrimaryKeyObject
  [ProvisionedThroughput](#sam-simpletable-provisionedthroughput): ProvisionedThroughputObject
  [SSESpecification](#sam-simpletable-ssespecification): [SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)
  [TableName](#sam-simpletable-tablename): String
  [Tags](#sam-simpletable-tags): Map
```

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

 `PointInTimeRecoverySpecification`   <a name="sam-simpletable-pointintimerecoveryspecification"></a>
Paramètres utilisés pour permettre une restauration à un instant dans le passé.  
*Type* : [PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)` propriété d'une `AWS::DynamoDB::Table` ressource.

 `PrimaryKey`   <a name="sam-simpletable-primarykey"></a>
Nom et type d'attribut à utiliser comme clé primaire de la table. Si elle n'est pas fournie, la clé primaire sera une `String` avec une valeur de `id`.  
La valeur de cette propriété ne peut pas être modifiée après la création de cette ressource.
*Type :* [PrimaryKeyObject](sam-property-simpletable-primarykeyobject.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ProvisionedThroughput`   <a name="sam-simpletable-provisionedthroughput"></a>
Lire et écrire des informations d'approvisionnement du débit.  
Si `ProvisionedThroughput` n'est pas spécifié `BillingMode` sera spécifié en tant que `PAY_PER_REQUEST`.  
*Type :* [ProvisionedThroughputObject](sam-property-simpletable-provisionedthroughputobject.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ProvisionedThroughput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html)` propriété d'une `AWS::DynamoDB::Table` ressource.

 `SSESpecification`   <a name="sam-simpletable-ssespecification"></a>
Spécifie les paramètres visant à activer le chiffrement côté serveur.  
*Type :* [SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)` propriété d'une `AWS::DynamoDB::Table` ressource.

 `TableName`   <a name="sam-simpletable-tablename"></a>
Nom de la table DynamoDB.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TableName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename)` propriété d'une `AWS::DynamoDB::Table` ressource.

 `Tags`   <a name="sam-simpletable-tags"></a>
Une carte (chaîne à chaîne) qui indique les balises à y ajouter SimpleTable. Pour plus de détails sur les clés et les valeurs valides pour les étiquettes, voir l'[étiquette Ressource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) dans le *Guide de l'utilisateur AWS CloudFormation *.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags)` d'une `AWS::DynamoDB::Table` ressource. La propriété Tags dans SAM se compose de paires Key:Value ; CloudFormation elle consiste en une liste d'objets Tag.

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

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

Lorsque l'ID logique de cette ressource est fournie à la fonction intrinsèque Réf, elle renvoie le nom de la ressource de la table DynamoDB sous-jacente.

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

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

### SimpleTableExample
<a name="sam-resource-simpletable--examples--simpletableexample"></a>

Exemple de SimpleTable

#### YAML
<a name="sam-resource-simpletable--examples--simpletableexample--yaml"></a>

```
Properties:
  TableName: my-table
  PrimaryKey:
    Name: MyPrimaryKey
    Type: String
  ProvisionedThroughput:
    ReadCapacityUnits: 5
    WriteCapacityUnits: 5
  Tags:
    Department: Engineering
    AppType: Serverless
```

# PrimaryKeyObject
<a name="sam-property-simpletable-primarykeyobject"></a>

L'objet décrivant les propriétés d'une clé primaire.

## Syntaxe
<a name="sam-property-simpletable-primarykeyobject-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-property-simpletable-primarykeyobject-syntax.yaml"></a>

```
  [Name](#sam-simpletable-primarykeyobject-name): String
  [Type](#sam-simpletable-primarykeyobject-type): String
```

## Propriétés
<a name="sam-property-simpletable-primarykeyobject-properties"></a>

 `Name`   <a name="sam-simpletable-primarykeyobject-name"></a>
Nom d'attribut de la clé primaire.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AttributeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename)` propriété du type de `AWS::DynamoDB::Table` `AttributeDefinition` données.  
*Remarques supplémentaires* : Cette propriété est également transmise à la [AttributeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html#aws-properties-dynamodb-keyschema-attributename)propriété d'un type de `AWS::DynamoDB::Table KeySchema` données.

 `Type`   <a name="sam-simpletable-primarykeyobject-type"></a>
Le type de données pour la clé primaire.  
*Valeurs valides* : `String`, `Number`, `Binary`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AttributeType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename-attributetype)` propriété du type de `AWS::DynamoDB::Table` `AttributeDefinition` données.

## Exemples
<a name="sam-property-simpletable-primarykeyobject--examples"></a>

### PrimaryKey
<a name="sam-property-simpletable-primarykeyobject--examples--primarykey"></a>

Exemple de clé primaire.

#### YAML
<a name="sam-property-simpletable-primarykeyobject--examples--primarykey--yaml"></a>

```
Properties:
  PrimaryKey:
    Name: MyPrimaryKey
    Type: String
```

# ProvisionedThroughputObject
<a name="sam-property-simpletable-provisionedthroughputobject"></a>

Objet décrivant les propriétés d'un débit provisionné.

## Syntaxe
<a name="sam-property-simpletable-provisionedthroughputobject-syntax"></a>

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

### YAML
<a name="w2aac13c22c41c19b5b5"></a>

```
  [ReadCapacityUnits](#sam-simpletable-provisionedthroughputobject-readcapacityunits): Integer
  [WriteCapacityUnits](#sam-simpletable-provisionedthroughputobject-writecapacityunits): Integer
```

## Propriétés
<a name="sam-property-simpletable-provisionedthroughputobject-properties"></a>

 `ReadCapacityUnits`   <a name="sam-simpletable-provisionedthroughputobject-readcapacityunits"></a>
Nombre maximal de lectures à cohérence forte consommées par seconde avant que DynamoDB ne renvoie une exception `ThrottlingException`.  
*Type* : entier  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ReadCapacityUnits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#aws-properties-dynamodb-table-provisionedthroughput-properties)` propriété du type de `AWS::DynamoDB::Table` `ProvisionedThroughput` données.

 `WriteCapacityUnits`   <a name="sam-simpletable-provisionedthroughputobject-writecapacityunits"></a>
Nombre maximal d'écritures consommées par seconde avant que DynamoDB ne renvoie une exception `ThrottlingException`.  
*Type* : entier  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[WriteCapacityUnits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#aws-properties-dynamodb-table-provisionedthroughput-properties)` propriété du type de `AWS::DynamoDB::Table` `ProvisionedThroughput` données.

## Exemples
<a name="sam-property-simpletable-provisionedthroughputobject--examples"></a>

### ProvisionedThroughput
<a name="sam-property-simpletable-provisionedthroughputobject--examples--provisionedthroughput"></a>

Exemple de débit provisionné.

#### YAML
<a name="sam-property-simpletable-provisionedthroughputobject--examples--provisionedthroughput--yaml"></a>

```
Properties:
   ProvisionedThroughput:
     ReadCapacityUnits: 5
     WriteCapacityUnits: 5
```

# AWS::Serverless::StateMachine
<a name="sam-resource-statemachine"></a>

Crée une machine à AWS Step Functions états, que vous pouvez utiliser pour orchestrer des AWS Lambda fonctions et d'autres AWS ressources afin de créer des flux de travail complexes et robustes.

Pour plus d'informations sur Step Functions, consultez le [AWS Step Functions Guide du développeur ](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html).

**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](sam-specification-generated-resources.md).

## Syntaxe
<a name="sam-resource-statemachine-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-statemachine-syntax.yaml"></a>

```
Type: AWS::Serverless::StateMachine
Properties:
  AutoPublishAlias: String
  UseAliasAsEventTarget: Boolean
  [Definition](#sam-statemachine-definition): Map
  [DefinitionSubstitutions](#sam-statemachine-definitionsubstitutions): Map
  [DefinitionUri](#sam-statemachine-definitionuri): String | [S3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)
  DeploymentPreference: [DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html)
  [Events](#sam-statemachine-events): EventSource
  [Logging](#sam-statemachine-logging): [LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)
  [Name](#sam-statemachine-name): String
  [PermissionsBoundary](#sam-statemachine-permissionsboundary): String
  [Policies](#sam-statemachine-policies): String | List | Map
  PropagateTags: Boolean
  [RolePath](#sam-statemachine-rolepath): String
  [Role](#sam-statemachine-role): String
  [Tags](#sam-statemachine-tags): Map
  [Tracing](#sam-statemachine-tracing): [TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)
  [Type](#sam-statemachine-type): String
```

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

 `AutoPublishAlias`   <a name="sam-statemachine-autopublishalias"></a>
Nom de l’alias de la machine d'état. Pour en savoir plus sur l'utilisation des alias de machine d'état Step Functions, consultez la section [Gérer les déploiements continus avec des versions et des alias](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-cd-aliasing-versioning.html) dans le Guide du développeur *AWS Step Functions .*  
Utiliser `DeploymentPreference` pour configurer les préférences de déploiement pour votre alias. Si vous ne le spécifiez pas`DeploymentPreference`, AWS SAM configurera le trafic pour qu'il passe immédiatement à la nouvelle version de State Machine.  
AWS SAM définit les versions `DeletionPolicy` et `UpdateReplacePolicy` to `Retain` par défaut. Les versions précédentes ne seront pas supprimées automatiquement.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la ` [ Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-name)` propriété d'une `AWS::StepFunctions::StateMachineAlias` ressource.

 `UseAliasAsEventTarget`   <a name="sam-statemachine-usealiasaseventtarget"></a>
Indiquez s'il faut transmettre l'alias, créé à l'aide de la `AutoPublishAlias` propriété, à la cible de la source d'événements définie avec [Events](#sam-statemachine-events).  
Spécifiez `True` d'utiliser l'alias comme cible des événements.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `False`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Definition`   <a name="sam-statemachine-definition"></a>
La définition de la machine à états est un objet dont le format correspond au format de votre fichier AWS SAM modèle, par exemple JSON ou YAML. Les définitions de machine d'état respectent le [langage des états Amazon](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html).  
Pour un exemple de définition de machine d'état en ligne, consultez [Exemples](#sam-resource-statemachine--examples).  
Vous devez fournir une `Definition` ou une `DefinitionUri`.  
*Type*: carte (map)  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `DefinitionSubstitutions`   <a name="sam-statemachine-definitionsubstitutions"></a>
 string-to-stringCarte qui spécifie les mappages pour les variables d'espace réservé dans la définition de la machine à états. Cela permet au client d'injecter des valeurs obtenues au moment de l'exécution, par exemple à partir de fonctions intrinsèques, dans la définition de la machine d'état.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[DefinitionSubstitutions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionsubstitutions)` d'une `AWS::StepFunctions::StateMachine` ressource. Si des fonctions intrinsèques sont spécifiées dans une définition de machine à états en ligne, AWS SAM ajoute des entrées à cette propriété pour les injecter dans la définition de machine à états.

 `DefinitionUri`   <a name="sam-statemachine-definitionuri"></a>
L'URI Amazon Simple Storage Service (Amazon S3) ou le chemin d'accès au fichier local de la définition de la machine d'état écrits dans la [Langue des états d'Amazon](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html).  
Si vous fournissez un chemin d'accès au fichier local, le modèle doit passer par le flux de travail qui inclut le fichier `sam deploy` ou la commande `sam package` pour que la définition soit correctement transformée. Pour ce faire, vous devez utiliser la version 0.52.0 ou ultérieure de la CLI AWS SAM .  
Vous devez fournir une `Definition` ou une `DefinitionUri`.  
*Type* : chaîne \$1[Emplacement S3](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[DefinitionS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)` propriété d'une `AWS::StepFunctions::StateMachine` ressource.

 `DeploymentPreference`   <a name="sam-statemachine-deploymentpreference"></a>
Les paramètres qui permettent et configurent les déploiements de machines à états progressifs. Pour en savoir plus sur les déploiements progressifs de Step Functions, consultez la section [Gérer les déploiements continus avec des versions et des alias](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-cd-aliasing-versioning.html) dans le Guide du développeur *AWS Step Functions .*  
Spécifiez `AutoPublishAlias` avant de configurer cette propriété. Vos paramètres `DeploymentPreference` seront appliqués à l'alias spécifié avec `AutoPublishAlias`.  
Lorsque vous spécifiez`DeploymentPreference`, AWS SAM génère automatiquement la valeur de la `StateMachineVersionArn` sous-propriété.  
*Type :* [DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : AWS SAM génère et attache la valeur de `StateMachineVersionArn` propriété à la propriété `DeploymentPreference` d'une `AWS::StepFunctions::StateMachineAlias` ressource `DeploymentPreference` et la `[DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-deploymentpreference)` transmet à celle-ci. 

 `Events`   <a name="sam-statemachine-events"></a>
Spécifie les événements qui déclenchent cette machine d'état. Les événements sont constitués d'un type et d'un ensemble de propriétés qui dépendent du type.  
*Type :* [EventSource](sam-property-statemachine-statemachineeventsource.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Logging`   <a name="sam-statemachine-logging"></a>
Définit quels événements de l'historique d'exécution sont journalisés et à quel emplacement.  
*Type :* [LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)` propriété d'une `AWS::StepFunctions::StateMachine` ressource.

 `Name`   <a name="sam-statemachine-name"></a>
Nom de la machine d'état.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StateMachineName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinename)` propriété d'une `AWS::StepFunctions::StateMachine` ressource.

 `PermissionsBoundary`   <a name="sam-statemachine-permissionsboundary"></a>
L'ARN d'une limite d'autorisations à utiliser pour le rôle d'exécution de cette machine d'état. 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 `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` propriété d'une `AWS::IAM::Role` ressource.

 `Policies`   <a name="sam-statemachine-policies"></a>
Politiques d'autorisation pour cette machine d'état. Les politiques seront ajoutées au rôle d'exécution par défaut Gestion des identités et des accès AWS (IAM) de la machine à états.  
Cette propriété accepte une valeur unique ou une liste de valeurs. Les valeurs autorisées sont les suivantes :  
+ [Modèles de politique AWS SAM](serverless-policy-templates.md).
+ L'ARN d'une [politique gérée par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou d'une [politique gérée par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies).
+ Le nom d'une politique AWS gérée dans la [liste](https://github.com/aws/serverless-application-model/blob/develop/samtranslator/internal/data/aws_managed_policies.json) suivante.
+ Une [politique IAM en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) formatée dans YAML sous forme de mappage.
Si vous définissez la propriété `Role`, cette propriété est ignorée.
*Type* : chaîne \$1 liste \$1 carte  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`PropagateTags`  <a name="sam-statemachine-propagatetags"></a>
Indiquez s'il faut ou non transmettre les balises de la propriété `Tags` aux ressources [AWS::Serverless::StateMachine](sam-specification-generated-resources-statemachine.md) que vous avez générées. Spécifiez `True` pour la propagation des balises dans vos ressources générées.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `False`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Role`   <a name="sam-statemachine-role"></a>
L'ARN d'un rôle IAM à utiliser comme rôle d'exécution de cette machine d'état.  
*Type* : chaîne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-rolearn)` propriété d'une `AWS::StepFunctions::StateMachine` ressource.

 `RolePath`   <a name="sam-statemachine-rolepath"></a>
Le chemin d'accès au rôle d'exécution IAM de la machine d'état.  
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 `[Path](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-path)` propriété d'une `AWS::IAM::Role` ressource.

 `Tags`   <a name="sam-statemachine-tags"></a>
Une string-to-string carte qui spécifie les balises ajoutées à la machine d'état et le rôle d'exécution correspondant. Pour en savoir plus sur les clés et les valeurs valides pour les étiquettes, consultez la propriété [Étiquettes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags) d'une ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html).  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags)` d'une `AWS::StepFunctions::StateMachine` ressource. AWS SAM ajoute automatiquement une `stateMachine:createdBy:SAM` balise à cette ressource et au rôle par défaut généré pour celle-ci.

 `Tracing`   <a name="sam-statemachine-tracing"></a>
Indique si la machine à états AWS X-Ray est activée ou non. Pour plus d'informations sur l'utilisation de X-Ray avec Step Functions, consultez [AWS X-Ray et Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html) dans le *Guide du développeur AWS Step Functions *.  
*Type :* [TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)` propriété d'une `AWS::StepFunctions::StateMachine` ressource.

 `Type`   <a name="sam-statemachine-type"></a>
Le type de la machine d'état.  
*Valeurs valides* : `STANDARD` ou `EXPRESS`  
*Type :* chaîne  
*Obligatoire* : non  
*Par défaut* : `STANDARD`  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StateMachineType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinetype)` propriété d'une `AWS::StepFunctions::StateMachine` ressource.

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

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

Lorsque vous fournissez l'ID logique de cette ressource à la fonction intrinsèque Réf, Réf renvoie l'Amazon Resource Name (ARN) de la ressource sous-jacente `AWS::StepFunctions::StateMachine`.

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

`Name`  <a name="Name-fn::getatt"></a>
Renvoie le nom de la machine d'état, comme `HelloWorld-StateMachine`.

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

### Fichier de définition de la machine d'état
<a name="sam-resource-statemachine--examples--state-machine-definition-file"></a>

Voici un exemple de définition de machine à états intégrée qui permet à une fonction lambda d'invoquer une machine à états. Notez que cet exemple attend de la `Role` propriété qu'elle configure une politique appropriée pour autoriser l'invocation. Le fichier `my_state_machine.asl.json` doit être écrit dans la [Langue des états Amazon](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html).

Dans cet exemple, les `DefinitionSubstitution` entrées permettent à la machine d'état d'inclure les ressources déclarées dans le fichier AWS SAM modèle.

#### YAML
<a name="sam-resource-statemachine--examples--state-machine-definition-file--yaml"></a>

```
MySampleStateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    DefinitionUri: statemachine/my_state_machine.asl.json
    Role: arn:aws:iam::123456123456:role/service-role/my-sample-role
    Tracing:
      Enabled: true
    DefinitionSubstitutions:
      MyFunctionArn: !GetAtt MyFunction.Arn
      MyDDBTable: !Ref TransactionTable
```

### Définition de la machine d'état en ligne
<a name="sam-resource-statemachine--examples--inline-state-machine-definition"></a>

Voici un exemple de définition de machine d'état en ligne.

Dans cet exemple, le fichier AWS SAM modèle est écrit en YAML, de sorte que la définition de la machine d'état est également en YAML. Pour déclarer une définition de machine à états intégrée en JSON, écrivez votre fichier AWS SAM modèle en JSON.

#### YAML
<a name="sam-resource-statemachine--examples--inline-state-machine-definition--yaml"></a>

```
MySampleStateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    Definition:
      StartAt: MyLambdaState
      States:
        MyLambdaState:
          Type: Task
          Resource: arn:aws:lambda:us-east-1:123456123456:function:my-sample-lambda-app
          End: true
    Role: arn:aws:iam::123456123456:role/service-role/my-sample-role
    Tracing:
      Enabled: true
```

# EventSource
<a name="sam-property-statemachine-statemachineeventsource"></a>

L'objet décrivant la source des événements qui déclenchent la machine d'état. Chaque événement se compose d'un type et d'un ensemble de propriétés qui dépendent de ce type. Pour plus d'informations sur les propriétés de chaque source d'événement, consultez la sous-rubrique correspondant à ce type.

## Syntaxe
<a name="sam-property-statemachine-statemachineeventsource-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-property-statemachine-statemachineeventsource-syntax.yaml"></a>

```
  [Properties](#sam-statemachine-statemachineeventsource-properties): Schedule | ScheduleV2 | CloudWatchEvent | EventBridgeRule | Api
  [Type](#sam-statemachine-statemachineeventsource-type): String
```

## Propriétés
<a name="sam-property-statemachine-statemachineeventsource-properties"></a>

 `Properties`   <a name="sam-statemachine-statemachineeventsource-properties"></a>
Un objet décrivant les propriétés de ce mappage d'événements. L'ensemble de propriétés doit être conforme au `Type` défini.  
*Type* [: [Calendrier](sam-property-statemachine-statemachineschedule.md) \$1 [ScheduleV2 \$1 \$1 \$1 [CloudWatchEvent](sam-property-statemachine-statemachinecloudwatchevent.md)Api [EventBridgeRule](sam-property-statemachine-statemachineeventbridgerule.md)](sam-property-statemachine-statemachineschedulev2.md)](sam-property-statemachine-statemachineapi.md)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Type`   <a name="sam-statemachine-statemachineeventsource-type"></a>
Type d’événement.  
*Valeurs valides* : `Api`, `Schedule`, `ScheduleV2`, `CloudWatchEvent`, `EventBridgeRule`  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-statemachine-statemachineeventsource--examples"></a>

### API
<a name="sam-property-statemachine-statemachineeventsource--examples--api"></a>

Voici un exemple d'un événement du type `API`.

#### YAML
<a name="sam-property-statemachine-statemachineeventsource--examples--api--yaml"></a>

```
ApiEvent:
  Type: Api
  Properties:
    Method: get
    Path: /group/{user}
    RestApiId: 
      Ref: MyApi
```

# Api
<a name="sam-property-statemachine-statemachineapi"></a>

L'objet décrivant un type de source d'événement `Api`. Si une ressource [AWS::Serverless::Api](sam-resource-api.md) est définie, les valeurs de chemin d'accès et de méthode doivent correspondre à une opération dans la définition OpenAPI de l'API. 

## Syntaxe
<a name="sam-property-statemachine-statemachineapi-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-property-statemachine-statemachineapi-syntax.yaml"></a>

```
  [Auth](#sam-statemachine-statemachineapi-auth): ApiStateMachineAuth
  [Method](#sam-statemachine-statemachineapi-method): String
  [Path](#sam-statemachine-statemachineapi-path): String
  [RestApiId](#sam-statemachine-statemachineapi-restapiid): String
  UnescapeMappingTemplate: Boolean
```

## Propriétés
<a name="sam-property-statemachine-statemachineapi-properties"></a>

 `Auth`   <a name="sam-statemachine-statemachineapi-auth"></a>
La configuration d'autorisation pour cette API, ce chemin d'accès et cette méthode.  
Utilisez cette propriété pour remplacer la propriété `DefaultAuthorizer` pour un chemin d'accès individuel, lorsqu'aucun `DefaultAuthorizer` n'est spécifié, ou pour remplacer le réglage `ApiKeyRequired` par défaut.  
*Type :* [ApiStateMachineAuth](sam-property-statemachine-apistatemachineauth.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Method`   <a name="sam-statemachine-statemachineapi-method"></a>
La méthode HTTP pour laquelle cette fonction est appelée.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Path`   <a name="sam-statemachine-statemachineapi-path"></a>
Le chemin d'accès d'URI pour lequel cette fonction est appelée. La valeur doit commencer par `/`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RestApiId`   <a name="sam-statemachine-statemachineapi-restapiid"></a>
L'identificateur d'une ressource `RestApi`, qui doit contenir une opération avec le chemin et la méthode donnés. Cela est généralement défini pour faire référence à une ressource [AWS::Serverless::Api](sam-resource-api.md) qui est définie dans ce modèle.  
Si vous ne définissez pas cette propriété, AWS SAM crée une [AWS::Serverless::Api](sam-resource-api.md) ressource par défaut à l'aide d'un `OpenApi` document généré. Cette ressource contient une union de tous les chemins et méthodes définis par `Api` dans le même modèle qui ne spécifient pas un `RestApiId`.  
Cette propriété ne peut pas faire référence à une ressource [AWS::Serverless::Api](sam-resource-api.md) qui est définie dans un autre modèle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `UnescapeMappingTemplate`   <a name="sam-statemachine-statemachineapi-unescapemappingtemplate"></a>
Élimine les guillemets simples, en remplaçant `\'` par `'`, sur l'entrée transmise à la machine d'état. À utiliser lorsque votre entrée contient des guillemets simples.  
Si ce paramètre est défini sur `False` et que votre entrée contient des guillemets simples, une erreur se produira.
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : False  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-statemachine-statemachineapi--examples"></a>

### ApiEvent
<a name="sam-property-statemachine-statemachineapi--examples--apievent"></a>

Voici un exemple d'un événement du type `Api`.

#### YAML
<a name="sam-property-statemachine-statemachineapi--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
```

# ApiStateMachineAuth
<a name="sam-property-statemachine-apistatemachineauth"></a>

Configure l'autorisation au niveau de l'événement, pour une API, un chemin et une méthode spécifiques.

## Syntaxe
<a name="sam-property-statemachine-apistatemachineauth-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-property-statemachine-apistatemachineauth-syntax.yaml"></a>

```
  [ApiKeyRequired](#sam-statemachine-apistatemachineauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-statemachine-apistatemachineauth-authorizationscopes): List
  [Authorizer](#sam-statemachine-apistatemachineauth-authorizer): String
  [ResourcePolicy](#sam-statemachine-apistatemachineauth-resourcepolicy): ResourcePolicyStatement
```

## Propriétés
<a name="sam-property-statemachine-apistatemachineauth-properties"></a>

 `ApiKeyRequired`   <a name="sam-statemachine-apistatemachineauth-apikeyrequired"></a>
Nécessite une clé API pour cette API, ce chemin d'accès et cette méthode.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AuthorizationScopes`   <a name="sam-statemachine-apistatemachineauth-authorizationscopes"></a>
Les étendues d'autorisation à appliquer à cette API, ce chemin d'accès et cette méthode.  
Les étendues que vous spécifiez remplaceront toutes les étendues appliquées par la propriété `DefaultAuthorizer` si vous l'avez spécifiée.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Authorizer`   <a name="sam-statemachine-apistatemachineauth-authorizer"></a>
Le `Authorizer` pour une machine d'état spécifique.  
Si vous avez spécifié un autorisateur global pour l'API et que vous souhaitez rendre cette machine d'état publique, remplacez le mécanisme d'autorisation global en définissant `Authorizer` sur `NONE`.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ResourcePolicy`   <a name="sam-statemachine-apistatemachineauth-resourcepolicy"></a>
Configurez la stratégie de ressources pour cette API et ce chemin d'accès.  
*Type :* [ResourcePolicyStatement](sam-property-statemachine-resourcepolicystatement.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-statemachine-apistatemachineauth--examples"></a>

### StateMachine-Authentification
<a name="sam-property-statemachine-apistatemachineauth--examples--statemachine-auth"></a>

L'exemple suivant spécifie l'autorisation au niveau de la machine d'état.

#### YAML
<a name="sam-property-statemachine-apistatemachineauth--examples--statemachine-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

# ResourcePolicyStatement
<a name="sam-property-statemachine-resourcepolicystatement"></a>

Configure une stratégie de ressource pour toutes les méthodes et chemins d'accès d'une API. Pour plus d'informations sur les stratégies de ressources, consultez [Contrôle de l'accès à une API avec des stratégies de ressources API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) dans le *Guide du développeur API*.

## Syntaxe
<a name="sam-property-statemachine-resourcepolicystatement-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-property-statemachine-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-statemachine-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-statemachine-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-statemachine-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-statemachine-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-statemachine-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-statemachine-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-statemachine-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-statemachine-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-statemachine-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-statemachine-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-statemachine-resourcepolicystatement-sourcevpcwhitelist): List
```

## Propriétés
<a name="sam-property-statemachine-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-statemachine-resourcepolicystatement-awsaccountblacklist"></a>
Les AWS comptes à bloquer.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AwsAccountWhitelist`   <a name="sam-statemachine-resourcepolicystatement-awsaccountwhitelist"></a>
Les AWS comptes à autoriser. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `CustomStatements`   <a name="sam-statemachine-resourcepolicystatement-customstatements"></a>
Une liste des instructions de stratégie de ressource personnalisées à appliquer à cette API. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcBlacklist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcblacklist"></a>
La liste des clouds privés virtuels (VPCs) à bloquer, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcWhitelist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcwhitelist"></a>
La liste des VPCs à autoriser, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceBlacklist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpceblacklist"></a>
Liste des points de terminaison VPC à bloquer, où chaque point de terminaison VPC est spécifié comme une référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceWhitelist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcewhitelist"></a>
Liste des points de terminaison VPC à autoriser, où chaque point de terminaison VPC est spécifié en tant que référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeBlacklist`   <a name="sam-statemachine-resourcepolicystatement-iprangeblacklist"></a>
L'adresse IP ou les plages d'adresses à bloquer. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeWhitelist`   <a name="sam-statemachine-resourcepolicystatement-iprangewhitelist"></a>
L'adresse IP ou les plages d'adresses à autoriser.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcBlacklist`   <a name="sam-statemachine-resourcepolicystatement-sourcevpcblacklist"></a>
Les points de terminaison VPC ou VPC source à bloquer. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcWhitelist`   <a name="sam-statemachine-resourcepolicystatement-sourcevpcwhitelist"></a>
Les points de terminaison VPC ou VPC source à autoriser. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-statemachine-resourcepolicystatement--examples"></a>

### Exemples de stratégie basée sur les ressources
<a name="sam-property-statemachine-resourcepolicystatement--examples--resource-policy-example"></a>

L'exemple suivant bloque deux adresses IP et un VPC source, et autorise un AWS compte.

#### YAML
<a name="sam-property-statemachine-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# CloudWatchEvent
<a name="sam-property-statemachine-statemachinecloudwatchevent"></a>

L'objet décrivant un type de source d'événement `CloudWatchEvent`.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)ressource lorsque ce type d'événement est défini.

**Remarque importante** : [EventBridgeRule](sam-property-statemachine-statemachineeventbridgerule.md) c'est le type de source d'événements préféré à utiliser, à la place de`CloudWatchEvent`. `EventBridgeRule`et `CloudWatchEvent` utilisez le même service, la même API et les mêmes CloudFormation ressources sous-jacents. Cependant, AWS SAM ajoutera la prise en charge des nouvelles fonctionnalités uniquement à`EventBridgeRule`.

## Syntaxe
<a name="sam-property-statemachine-statemachinecloudwatchevent-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-property-statemachine-statemachinecloudwatchevent-syntax.yaml"></a>

```
  [EventBusName](#sam-statemachine-statemachinecloudwatchevent-eventbusname): String
  [Input](#sam-statemachine-statemachinecloudwatchevent-input): String
  [InputPath](#sam-statemachine-statemachinecloudwatchevent-inputpath): String
  [Pattern](#sam-statemachine-statemachinecloudwatchevent-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
```

## Propriétés
<a name="sam-property-statemachine-statemachinecloudwatchevent-properties"></a>

 `EventBusName`   <a name="sam-statemachine-statemachinecloudwatchevent-eventbusname"></a>
Le bus d'événements à associer à cette règle. Si vous omettez cette propriété, AWS SAM utilise le bus d'événements par défaut.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : bus d'événement par défaut  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propriété d'une `AWS::Events::Rule` ressource.

 `Input`   <a name="sam-statemachine-statemachinecloudwatchevent-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propriété d'une `AWS::Events::Rule Target` ressource.

 `InputPath`   <a name="sam-statemachine-statemachinecloudwatchevent-inputpath"></a>
Lorsque vous ne voulez pas transmettre l'événement correspondant complet, utilisez la propriété `InputPath` pour décrire quelles parties de l'événement transmettre à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propriété d'une `AWS::Events::Rule Target` ressource.

 `Pattern`   <a name="sam-statemachine-statemachinecloudwatchevent-pattern"></a>
Décrit les événements qui sont acheminés vers la cible spécifiée. Pour plus d'informations, consultez la section [Événements et modèles d'événements EventBridge dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) le *guide de EventBridge l'utilisateur Amazon*.  
*Type :* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propriété d'une `AWS::Events::Rule` ressource.

## Exemples
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples"></a>

### CloudWatchEvent
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples--cloudwatchevent"></a>

Voici un exemple de type de source d'événement `CloudWatchEvent`.

#### YAML
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples--cloudwatchevent--yaml"></a>

```
CWEvent:
  Type: CloudWatchEvent
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - running
```

# EventBridgeRule
<a name="sam-property-statemachine-statemachineeventbridgerule"></a>

L'objet décrivant un type de source d'`EventBridgeRule`événement, qui définit votre machine d'état comme cible pour une EventBridge règle Amazon. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) dans le *guide de EventBridge l'utilisateur Amazon*.

AWS SAM génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)ressource lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-statemachine-statemachineeventbridgerule-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-property-statemachine-statemachineeventbridgerule-syntax.yaml"></a>

```
  DeadLetterConfig: DeadLetterConfig
  EventBusName: String
  Input: String
  InputPath: String
  InputTransformer: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)
  Pattern: [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  RetryPolicy: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  RuleName: String
  State: String
  Target: Target
```

## Propriétés
<a name="sam-property-statemachine-statemachineeventbridgerule-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineeventbridgerule-deadletterconfig"></a>
Configurez la file d'attente Amazon Simple Queue Service (Amazon SQS) dans EventBridge laquelle les événements sont envoyés après l'échec d'un appel cible. L'invocation peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas ou EventBridge lorsque les autorisations sont insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
*Type :* [DeadLetterConfig](sam-property-statemachine-statemachinedeadletterconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle du type de `AWS::Events::Rule` `Target` données. `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` La AWS SAM version de cette propriété inclut des sous-propriétés supplémentaires, au cas où vous souhaiteriez AWS SAM créer la file d'attente de lettres mortes pour vous.

 `EventBusName`   <a name="sam-statemachine-statemachineeventbridgerule-eventbusname"></a>
Le bus d'événements à associer à cette règle. Si vous omettez cette propriété, AWS SAM utilise le bus d'événements par défaut.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : bus d'événement par défaut  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propriété d'une `AWS::Events::Rule` ressource.

 `Input`   <a name="sam-statemachine-statemachineeventbridgerule-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propriété d'une `AWS::Events::Rule Target` ressource.

 `InputPath`   <a name="sam-statemachine-statemachineeventbridgerule-inputpath"></a>
Lorsque vous ne voulez pas transmettre l'événement correspondant complet, utilisez la propriété `InputPath` pour décrire quelles parties de l'événement transmettre à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propriété d'une `AWS::Events::Rule Target` ressource.

`InputTransformer`  <a name="sam-statemachine-statemachineeventbridgerule-inputtransformer"></a>
Paramètres qui vous permettent de fournir une entrée personnalisée à une cible en fonction de certaines données d'événement. Vous pouvez extraire une ou plusieurs paires clé-valeur à partir de l'événement, puis utiliser ces données pour envoyer l'entrée personnalisée à la cible. Pour plus d'informations, consultez la section [Transformation des EventBridge entrées Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) *dans le guide de EventBridge l'utilisateur Amazon*.  
*Type :* [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html) ` propriété d'un type de `AWS::Events::Rule` `Target` données.

 `Pattern`   <a name="sam-statemachine-statemachineeventbridgerule-pattern"></a>
Décrit les événements qui sont acheminés vers la cible spécifiée. Pour plus d'informations, consultez la section [Événements et modèles d'événements EventBridge dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) le *guide de EventBridge l'utilisateur Amazon*.  
*Type :* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propriété d'une `AWS::Events::Rule` ressource.

 `RetryPolicy`   <a name="sam-statemachine-statemachineeventbridgerule-retrypolicy"></a>
Objet `RetryPolicy` qui inclut des informations sur les paramètres de politique de nouvelle tentative. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
*Type :* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propriété du type de `AWS::Events::Rule` `Target` données.

 `RuleName`   <a name="sam-statemachine-statemachineeventbridgerule-rulename"></a>
Le nom de la règle .  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propriété d'une `AWS::Events::Rule` ressource.

`State`  <a name="sam-statemachine-statemachineeventbridgerule-state"></a>
État de la règle.  
*Valeurs valides* : `[ DISABLED | ENABLED ]`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propriété d'une `AWS::Events::Rule` ressource.

 `Target`   <a name="sam-statemachine-statemachineeventbridgerule-target"></a>
La AWS ressource qui est EventBridge invoquée lorsqu'une règle est déclenchée. Vous pouvez utiliser cette propriété pour spécifier l'ID logique de la cible. Si cette propriété n'est pas spécifiée, AWS SAM génère l'ID logique de la cible.  
*Type* : [cible](sam-property-statemachine-statemachinetarget.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` d'une `AWS::Events::Rule` ressource. La version AWS SAM de cette propriété vous permet uniquement de spécifier l'ID logique d'une seule cible.

## Exemples
<a name="sam-property-statemachine-statemachineeventbridgerule--examples"></a>

### EventBridgeRule
<a name="sam-property-statemachine-statemachineeventbridgerule--examples--eventbridgerule"></a>

Voici un exemple de type de source d'événement `EventBridgeRule`.

#### YAML
<a name="sam-property-statemachine-statemachineeventbridgerule--examples--eventbridgerule--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - terminated
```

# DeadLetterConfig
<a name="sam-property-statemachine-statemachinedeadletterconfig"></a>

L'objet utilisé pour spécifier la file d'attente Amazon Simple Queue Service (Amazon SQS) EventBridge où envoie les événements après l'échec d'un appel cible. L'appel peut échouer, par exemple, lors de l'envoi d'un événement à une machine d'état qui n'existe pas, ou des autorisations insuffisantes pour appeler la machine d'état. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *

## Syntaxe
<a name="sam-property-statemachine-statemachinedeadletterconfig-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-property-statemachine-statemachinedeadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-statemachine-statemachinedeadletterconfig-arn): String
  [QueueLogicalId](#sam-statemachine-statemachinedeadletterconfig-queuelogicalid): String
  [Type](#sam-statemachine-statemachinedeadletterconfig-type): String
```

## Propriétés
<a name="sam-property-statemachine-statemachinedeadletterconfig-properties"></a>

 `Arn`   <a name="sam-statemachine-statemachinedeadletterconfig-arn"></a>
L'Amazon Resource Name (ARN) de la file d'attente Amazon SQS spécifiée comme cible pour la file d'attente de lettres mortes.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propriété du type de `AWS::Events::Rule` `DeadLetterConfig` données.

 `QueueLogicalId`   <a name="sam-statemachine-statemachinedeadletterconfig-queuelogicalid"></a>
Le nom personnalisé de la file d'attente de lettres mortes qui la AWS SAM crée `Type` est spécifié.  
Si la propriété `Type` n'est pas définie, cette propriété est ignorée.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Type`   <a name="sam-statemachine-statemachinedeadletterconfig-type"></a>
Type de la file d'attente. Lorsque cette propriété est définie, crée AWS SAM automatiquement une file d'attente de lettres mortes et y joint la [politique basée sur les ressources](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) nécessaire pour autoriser la ressource à envoyer des événements à la file d'attente.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Valeurs valides* : `SQS`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-statemachine-statemachinetarget"></a>

Configure la AWS ressource qui est EventBridge invoquée lorsqu'une règle est déclenchée.

## Syntaxe
<a name="sam-property-statemachine-statemachinetarget-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-property-statemachine-statemachinetarget-syntax.yaml"></a>

```
  [Id](#sam-statemachine-statemachinetarget-id): String
```

## Propriétés
<a name="sam-property-statemachine-statemachinetarget-properties"></a>

 `Id`   <a name="sam-statemachine-statemachinetarget-id"></a>
L'ID logique de la cible.  
La valeur de `Id` peut inclure des caractères alphanumériques, des points (`.`), des tirets (`-`) et des tirets du bas (`_`).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` propriété du type de `AWS::Events::Rule` `Target` données.

## Exemples
<a name="sam-property-statemachine-statemachinetarget--examples"></a>

### Cible
<a name="sam-property-statemachine-statemachinetarget--examples--target"></a>

#### YAML
<a name="sam-property-statemachine-statemachinetarget--examples--target--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Target:
      Id: MyTarget
```

# Schedule
<a name="sam-property-statemachine-statemachineschedule"></a>

L'objet décrivant un type de source d'`Schedule`événement, qui définit votre machine à états comme cible d'une EventBridge règle qui se déclenche selon un calendrier. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) dans le *guide de EventBridge l'utilisateur Amazon*.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)ressource lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-statemachine-statemachineschedule-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-property-statemachine-statemachineschedule-syntax.yaml"></a>

```
  [DeadLetterConfig](#sam-statemachine-statemachineschedule-deadletterconfig): DeadLetterConfig
  [Description](#sam-statemachine-statemachineschedule-description): String
  [Enabled](#sam-statemachine-statemachineschedule-enabled): Boolean
  [Input](#sam-statemachine-statemachineschedule-input): String
  [Name](#sam-statemachine-statemachineschedule-name): String
  [RetryPolicy](#sam-statemachine-statemachineschedule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  [RoleArn](#sam-statemachine-statemachineschedulev-rolearn): String
  [Schedule](#sam-statemachine-statemachineschedule-schedule): String
  [State](#sam-statemachine-statemachineschedule-state): String
  Target: Target
```

## Propriétés
<a name="sam-property-statemachine-statemachineschedule-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineschedule-deadletterconfig"></a>
Configurez la file d'attente Amazon Simple Queue Service (Amazon SQS) dans EventBridge laquelle les événements sont envoyés après l'échec d'un appel cible. L'invocation peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas ou EventBridge lorsque les autorisations sont insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
*Type :* [DeadLetterConfig](sam-property-statemachine-statemachinescheduledeadletterconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle du type de `AWS::Events::Rule` `Target` données. `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` La AWS SAM version de cette propriété inclut des sous-propriétés supplémentaires, au cas où vous souhaiteriez AWS SAM créer la file d'attente de lettres mortes pour vous.

 `Description`   <a name="sam-statemachine-statemachineschedule-description"></a>
Description de la règle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description)` propriété d'une `AWS::Events::Rule` ressource.

 `Enabled`   <a name="sam-statemachine-statemachineschedule-enabled"></a>
Indique si la règle est activée.  
Pour désactiver la règle, définissez cette propriété sur `false`.  
Spécifiez la propriété `Enabled` ou la propriété `State`, mais pas les deux.
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` d'une `AWS::Events::Rule` ressource. Si cette propriété est définie sur `true` then`ENABLED`, elle est AWS SAM transmise dans le cas contraire`DISABLED`.

 `Input`   <a name="sam-statemachine-statemachineschedule-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propriété d'une `AWS::Events::Rule Target` ressource.

 `Name`   <a name="sam-statemachine-statemachineschedule-name"></a>
Le nom de la règle . Si vous ne spécifiez pas de nom, CloudFormation génère un identifiant physique unique et utilise cet identifiant comme nom de règle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propriété d'une `AWS::Events::Rule` ressource.

 `RetryPolicy`   <a name="sam-statemachine-statemachineschedule-retrypolicy"></a>
Objet `RetryPolicy` qui inclut des informations sur les paramètres de politique de nouvelle tentative. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *  
*Type :* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propriété du type de `AWS::Events::Rule` `Target` données.

 `RoleArn`   <a name="sam-statemachine-statemachineschedulev-rolearn"></a>
L'ARN du rôle IAM que le EventBridge planificateur utilisera pour la cible lorsque le calendrier est invoqué.  
*Type :* [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*Nécessaire* : Non S'il n'est pas fourni, un nouveau rôle sera créé et utilisé.  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` propriété du type de `AWS::Scheduler::Schedule` `Target` données.

 `Schedule`   <a name="sam-statemachine-statemachineschedule-schedule"></a>
Expression de planification qui détermine quand et à quelle fréquence la règle s'exécute. Pour plus d'informations, consultez [Expression de planification des règles](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression)` propriété d'une `AWS::Events::Rule` ressource.

 `State`   <a name="sam-statemachine-statemachineschedule-state"></a>
État de la règle.  
*Valeurs acceptées :* `DISABLED | ENABLED`  
Spécifiez la propriété `Enabled` ou la propriété `State`, mais pas les deux.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propriété d'une `AWS::Events::Rule` ressource.

 `Target`   <a name="sam-statemachine-statemachineschedule-target"></a>
La AWS ressource qui est EventBridge invoquée lorsqu'une règle est déclenchée. Vous pouvez utiliser cette propriété pour spécifier l'ID logique de la cible. Si cette propriété n'est pas spécifiée, AWS SAM génère l'ID logique de la cible.  
*Type* : [cible](sam-property-statemachine-statemachinetarget.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` d'une `AWS::Events::Rule` ressource. La AWS SAM version de cette propriété vous permet uniquement de spécifier l'ID logique d'une seule cible.

## Exemples
<a name="sam-property-statemachine-statemachineschedule--examples"></a>

### CloudWatch Planifier un événement
<a name="sam-property-statemachine-statemachineschedule--examples--cloudwatch-schedule-event"></a>

CloudWatch Exemple de planification d'un événement

#### YAML
<a name="sam-property-statemachine-statemachineschedule--examples--cloudwatch-schedule-event--yaml"></a>

```
CWSchedule:
  Type: Schedule
  Properties:
    Schedule: 'rate(1 minute)'
    Name: TestSchedule
    Description: test schedule
    Enabled: false
```

# DeadLetterConfig
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig"></a>

L'objet utilisé pour spécifier la file d'attente Amazon Simple Queue Service (Amazon SQS) EventBridge où envoie les événements après l'échec d'un appel cible. L'appel peut échouer, par exemple, lors de l'envoi d'un événement à une machine d'état qui n'existe pas, ou des autorisations insuffisantes pour appeler la machine d'état. *Pour plus d'informations, consultez la [politique relative aux nouvelles tentatives relatives aux événements et l'utilisation des files d'attente contenant des lettres mortes dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) le guide de l'utilisateur Amazon. EventBridge *

## Syntaxe
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-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-property-statemachine-statemachinescheduledeadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-statemachine-statemachinescheduledeadletterconfig-arn): String
  [QueueLogicalId](#sam-statemachine-statemachinescheduledeadletterconfig-queuelogicalid): String
  [Type](#sam-statemachine-statemachinescheduledeadletterconfig-type): String
```

## Propriétés
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-properties"></a>

 `Arn`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-arn"></a>
L'Amazon Resource Name (ARN) de la file d'attente Amazon SQS spécifiée comme cible pour la file d'attente de lettres mortes.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propriété du type de `AWS::Events::Rule` `DeadLetterConfig` données.

 `QueueLogicalId`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-queuelogicalid"></a>
Le nom personnalisé de la file d'attente de lettres mortes qui la AWS SAM crée `Type` est spécifié.  
Si la propriété `Type` n'est pas définie, cette propriété est ignorée.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Type`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-type"></a>
Type de la file d'attente. Lorsque cette propriété est définie, crée AWS SAM automatiquement une file d'attente de lettres mortes et y joint la [politique basée sur les ressources](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) nécessaire pour autoriser la ressource à envoyer des événements à la file d'attente.  
Spécifiez la propriété `Type` ou la propriété `Arn`, mais pas les deux.
*Valeurs valides* : `SQS`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-statemachine-statemachinescheduletarget"></a>

Configure la AWS ressource qui est EventBridge invoquée lorsqu'une règle est déclenchée.

## Syntaxe
<a name="sam-property-statemachine-statemachinescheduletarget-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-property-statemachine-statemachinescheduletarget-syntax.yaml"></a>

```
  [Id](#sam-statemachine-statemachinescheduletarget-id): String
```

## Propriétés
<a name="sam-property-statemachine-statemachinescheduletarget-properties"></a>

 `Id`   <a name="sam-statemachine-statemachinescheduletarget-id"></a>
L'ID logique de la cible.  
La valeur de `Id` peut inclure des caractères alphanumériques, des points (`.`), des tirets (`-`) et des tirets du bas (`_`).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` propriété du type de `AWS::Events::Rule` `Target` données.

## Exemples
<a name="sam-property-statemachine-statemachinescheduletarget--examples"></a>

### Cible
<a name="sam-property-statemachine-statemachinescheduletarget--examples--target"></a>

#### YAML
<a name="sam-property-statemachine-statemachinescheduletarget--examples--target--yaml"></a>

```
EBRule:
  Type: Schedule
  Properties:
    Target:
      Id: MyTarget
```

# ScheduleV2
<a name="sam-property-statemachine-statemachineschedulev2"></a>

L'objet décrivant un type de source d'`ScheduleV2`événement, qui définit votre machine d'état comme cible d'un événement Amazon EventBridge Scheduler qui se déclenche selon un calendrier. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge Scheduler ?](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html) dans le guide de l'*utilisateur EventBridge du planificateur*.

AWS Serverless Application Model (AWS SAM) génère une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)ressource lorsque ce type d'événement est défini.

## Syntaxe
<a name="sam-property-statemachine-statemachineschedulev2-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-property-statemachine-statemachineschedulev2-syntax.yaml"></a>

```
DeadLetterConfig: DeadLetterConfig
[Description](#sam-statemachine-statemachineschedulev2-description): String
[EndDate](#sam-statemachine-statemachineschedulev2-enddate): String
[FlexibleTimeWindow](#sam-statemachine-statemachineschedulev2-flexibletimewindow): FlexibleTimeWindow
[GroupName](#sam-statemachine-statemachineschedulev2-groupname): String
[Input](#sam-statemachine-statemachineschedulev2-input): String
[KmsKeyArn](#sam-statemachine-statemachineschedulev2-kmskeyarn): String
[Name](#sam-statemachine-statemachineschedulev2-name): String
OmitName: Boolean
[PermissionsBoundary](#sam-statemachine-statemachineschedulev2-permissionsboundary): String
[RetryPolicy](#sam-statemachine-statemachineschedulev2-retrypolicy): RetryPolicy
[RoleArn](#sam-statemachine-statemachineschedulev2-rolearn): String
[ScheduleExpression](#sam-statemachine-statemachineschedulev2-scheduleexpression): String
[ScheduleExpressionTimezone](#sam-statemachine-statemachineschedulev2-scheduleexpressiontimezone): String
[StartDate](#sam-statemachine-statemachineschedulev2-startdate): String
[State](#sam-statemachine-statemachineschedulev2-state): String
```

## Propriétés
<a name="sam-property-statemachine-statemachineschedulev2-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineschedulev2-deadletterconfig"></a>
Configurez la file d'attente Amazon Simple Queue Service (Amazon SQS) dans EventBridge laquelle les événements sont envoyés après l'échec d'un appel cible. L'invocation peut échouer, par exemple, lors de l'envoi d'un événement à une fonction Lambda qui n'existe pas ou EventBridge lorsque les autorisations sont insuffisantes pour appeler la fonction Lambda. *Pour plus d'informations, consultez la [section Configuration d'une file d'attente de lettres mortes pour le EventBridge planificateur dans le guide de l'utilisateur du EventBridge planificateur](https://docs.aws.amazon.com/scheduler/latest/UserGuide/configuring-schedule-dlq.html).*  
*Type :* [DeadLetterConfig](sam-property-statemachine-statemachinescheduledeadletterconfig.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle du type de `AWS::Scheduler::Schedule` `Target` données. `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-deadletterconfig)` La AWS SAM version de cette propriété inclut des sous-propriétés supplémentaires, au cas où vous souhaiteriez AWS SAM créer la file d'attente de lettres mortes pour vous.

 `Description`   <a name="sam-statemachine-statemachineschedulev2-description"></a>
Description de la planification.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-description)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `EndDate`   <a name="sam-statemachine-statemachineschedulev2-enddate"></a>
Date, au format UTC, avant laquelle la planification peut invoquer sa cible. En fonction de l'expression de récurrence de la planification, les appels peuvent s'arrêter avant, ou au moment de, la **EndDate** spécifiée.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EndDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-enddate)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `FlexibleTimeWindow`   <a name="sam-statemachine-statemachineschedulev2-flexibletimewindow"></a>
Permet de configurer une fenêtre dans laquelle une planification peut être appelée.  
*Type :* [FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler.html#cfn-scheduler-schedule-flexibletimewindow)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `GroupName`   <a name="sam-statemachine-statemachineschedulev2-groupname"></a>
Nom du groupe de planifications à associer à cette planification. S'il n'est pas défini, le groupe par défaut est utilisé.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[GroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `Input`   <a name="sam-statemachine-statemachineschedulev2-input"></a>
Texte JSON valide transmis à la cible. Si vous utilisez cette propriété, aucun élément du texte de l'événement lui-même n'est transmis à la cible.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-input)` propriété d'une `AWS::Scheduler::Schedule Target` ressource.

 `KmsKeyArn`   <a name="sam-statemachine-statemachineschedulev2-kmskeyarn"></a>
ARN d'une clé KMS utilisée pour chiffrer les données client.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-kmskeyarn)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `Name`   <a name="sam-statemachine-statemachineschedulev2-name"></a>
Nom du calendrier. Si vous ne spécifiez pas de nom, AWS SAM génère un nom au format `StateMachine-Logical-IDEvent-Source-Name` et utilise cet ID pour le nom du planning.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-name)` propriété d'une `AWS::Scheduler::Schedule` ressource.

`OmitName`  <a name="sam-statemachine-statemachineschedulev2-omitname"></a>
Par défaut, AWS SAM génère et utilise un nom de calendrier au format de*<State-machine-logical-ID><event-source-name>*. Définissez cette propriété `true` pour CloudFormation générer un identifiant physique unique et utilisez-le plutôt pour le nom du calendrier.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `false`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `PermissionsBoundary`   <a name="sam-statemachine-statemachineschedulev2-permissionsboundary"></a>
ARN de la politique utilisée pour définir la limite d'autorisations du rôle.  
S'il `PermissionsBoundary` est défini, les mêmes limites AWS SAM seront appliquées au rôle IAM cible du calendrier du planificateur.
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` propriété d'une `AWS::IAM::Role` ressource.

 `RetryPolicy`   <a name="sam-statemachine-statemachineschedulev2-retrypolicy"></a>
Objet `RetryPolicy` qui inclut des informations sur les paramètres de politique de nouvelle tentative.  
*Type :* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)` propriété du type de `AWS::Scheduler::Schedule` `Target` données.

 `RoleArn`   <a name="sam-statemachine-statemachineschedulev2-rolearn"></a>
L'ARN du rôle IAM que le EventBridge planificateur utilisera pour la cible lorsque le calendrier est invoqué.  
*Type :* [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` propriété du type de `AWS::Scheduler::Schedule` `Target` données.

 `ScheduleExpression`   <a name="sam-statemachine-statemachineschedulev2-scheduleexpression"></a>
Expression de planification qui détermine quand et à quelle fréquence la planification s'exécute.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpression)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `ScheduleExpressionTimezone`   <a name="sam-statemachine-statemachineschedulev2-scheduleexpressiontimezone"></a>
Fuseau horaire dans lequel l'expression de planification est évaluée.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[ScheduleExpressionTimezone](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpressiontimezone)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `StartDate`   <a name="sam-statemachine-statemachineschedulev2-startdate"></a>
Date, au format UTC, après laquelle la planification peut commencer à appeler une cible. En fonction de l'expression de récurrence de la planification, les appels peuvent se dérouler après, ou au moment de, la **StartDate** spécifiée.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[StartDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-startdate)` propriété d'une `AWS::Scheduler::Schedule` ressource.

 `State`   <a name="sam-statemachine-statemachineschedulev2-state"></a>
État de la planification.  
*Valeurs acceptées :* `DISABLED | ENABLED`  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-state)` propriété d'une `AWS::Scheduler::Schedule` ressource.

## Exemples
<a name="sam-property-statemachine-statemachineschedulev2--examples"></a>

### Exemple de base de définition d'une ressource ScheduleV2
<a name="sam-property-statemachine-statemachineschedulev2--examples--example1"></a>

```
StateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    Name: MyStateMachine
    Events:
      ScheduleEvent:
        Type: ScheduleV2
        Properties:
          ScheduleExpression: "rate(1 minute)"
      ComplexScheduleEvent:
        Type: ScheduleV2
        Properties:
          ScheduleExpression: rate(1 minute)
          FlexibleTimeWindow:
            Mode: FLEXIBLE
            MaximumWindowInMinutes: 5
          StartDate: '2022-12-28T12:00:00.000Z'
          EndDate: '2023-01-28T12:00:00.000Z'
          ScheduleExpressionTimezone: UTC
          RetryPolicy:
            MaximumRetryAttempts: 5
            MaximumEventAgeInSeconds: 300
          DeadLetterConfig:
            Type: SQS
    DefinitionUri:
      Bucket: sam-sam-s3-demo-bucket
      Key: my-state-machine.asl.json
      Version: 3
    Policies:
      - LambdaInvokePolicy:
          FunctionName: !Ref MyFunction
```

# CloudFormation Ressources générées pour AWS SAM
<a name="sam-specification-generated-resources"></a>

Cette section fournit des informations détaillées sur les CloudFormation ressources créées lors du traitement AWS SAM de votre AWS modèle. L'ensemble de CloudFormation ressources AWS SAM généré varie en fonction des scénarios que vous spécifiez. Un *scénario* est la combinaison des ressources et propriétés AWS SAM spécifiées dans votre fichier de modèle. Vous pouvez référencer les ressources CloudFormation générées ailleurs dans votre fichier de modèle, de la même manière que vous référencez les ressources que vous déclarez explicitement dans votre fichier de modèle.

Par exemple, si vous spécifiez une ressource `AWS::Serverless::Function` dans votre fichier de modèle AWS SAM , AWS SAM génère toujours une ressource de base `AWS::Lambda::Function`. Si vous spécifiez également la `AutoPublishAlias` propriété facultative, des AWS SAM sources `AWS::Lambda::Alias` et `AWS::Lambda::Version` des ressources supplémentaires.

Cette section répertorie les scénarios et les CloudFormation ressources qu'ils génèrent, et montre comment référencer les CloudFormation ressources générées dans votre fichier AWS SAM modèle.

## Référencement des ressources générées CloudFormation
<a name="sam-specification-generated-resources-referencing"></a>

Vous avez deux options pour référencer les CloudFormation ressources générées dans votre fichier AWS SAM modèle, par `LogicalId` ou par propriété référençable.

### Référencement des CloudFormation ressources générées par LogicalId
<a name="sam-specification-generated-resources-referencing-logicalid"></a>

Les CloudFormation ressources AWS SAM générées possèdent chacune un `[LogicalId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid)` identifiant alphanumérique (A-Z, a-z, 0-9) unique dans un fichier modèle. AWS SAM utilise les AWS SAM ressources `LogicalIds` de votre fichier modèle pour créer `LogicalIds` les CloudFormation ressources qu'il génère. Vous pouvez utiliser une CloudFormation ressource générée pour accéder aux propriétés de cette ressource dans votre fichier modèle, comme vous le feriez pour une CloudFormation ressource que vous avez explicitement déclarée. `LogicalId` Pour plus d'informations sur `LogicalIds` les modèles intégrés CloudFormation et les AWS SAM modèles, consultez la section [Ressources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) du *guide de AWS CloudFormation l'utilisateur*.

**Note**  
Les `LogicalIds` de certaines ressources générées incluent une valeur de hachage unique pour éviter les conflits d'espace de noms. Les `LogicalIds` de ces ressources sont dérivées lorsque la pile est créée. Vous ne pouvez les récupérer qu'une fois que la pile a été créée à l'aide du AWS Management Console AWS CLI, ou de l'un des AWS SDKs. Nous vous déconseillons de référencer ces ressources par `LogicalId` car les valeurs de hachage peuvent être modifiées.

### Référencement des CloudFormation ressources générées par une propriété référençable
<a name="sam-specification-generated-resources-referencing-referenceable-property"></a>

 AWS SAM Fournit une propriété référençable de la ressource pour certaines ressources générées. AWS SAM Vous pouvez utiliser cette propriété pour référencer une CloudFormation ressource générée et ses propriétés dans votre fichier AWS SAM modèle.

**Note**  
Les CloudFormation ressources générées ne possèdent pas toutes des propriétés référençables. Pour ces ressources, vous devez utiliser le `LogicalId`.

## Scénarios CloudFormation de ressources générés
<a name="sam-specification-generated-resources-scenarios"></a>

Le tableau suivant récapitule les AWS SAM ressources et les propriétés qui constituent les scénarios qui génèrent des CloudFormation ressources. Les rubriques de la colonne **Scénarios** fournissent des détails sur les CloudFormation ressources supplémentaires AWS SAM générées pour ce scénario.


| AWS SAM ressource |  CloudFormation Ressource de base | Scénarios | 
| --- | --- | --- | 
| AWS::Serverless::Api  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Application  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::CapacityProvider  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Function | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::HttpApi | [AWS::ApiGatewayV2::Api](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::LayerVersion  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::SimpleTable  | [AWS::DynamoDB::Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::StateMachine  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 

**Topics**
+ [Référencement des ressources générées CloudFormation](#sam-specification-generated-resources-referencing)
+ [Scénarios CloudFormation de ressources générés](#sam-specification-generated-resources-scenarios)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::Api est spécifié](sam-specification-generated-resources-api.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::Application est spécifié](sam-specification-generated-resources-application.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::CapacityProvider est spécifié](sam-specification-generated-resources-capacityprovider.md)
+ [CloudFormation ressources générées lorsque vous spécifiez AWS::Serverless::Connector](sam-specification-generated-resources-connector.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::Function est spécifié](sam-specification-generated-resources-function.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::GraphQLApi est spécifié](sam-specification-generated-resources-graphqlapi.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::HttpApi est spécifié](sam-specification-generated-resources-httpapi.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::LayerVersion est spécifié](sam-specification-generated-resources-layerversion.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::SimpleTable est spécifié](sam-specification-generated-resources-simpletable.md)
+ [CloudFormation ressources générées lorsque cela AWS::Serverless::StateMachine est spécifié](sam-specification-generated-resources-statemachine.md)

# CloudFormation ressources générées lorsque cela AWS::Serverless::Api est spécifié
<a name="sam-specification-generated-resources-api"></a>

Lorsqu'un `AWS::Serverless::Api` est spécifié, AWS Serverless Application Model (AWS SAM) génère toujours une CloudFormation ressource `AWS::ApiGateway::RestApi` de base. En outre, il génère toujours une ressource `AWS::ApiGateway::Stage` et `AWS::ApiGateway::Deployment`.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`<api‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::ApiGateway::Stage`**  
*`LogicalId`: *`<api‑LogicalId><stage‑name>Stage`  
`<stage‑name>` est la chaîne sur laquelle la propriété `StageName` est définie. Par exemple, si vous définissez `StageName` sur `Gamma`, le `LogicalId` est `MyRestApiGammaStage`.  
*Propriété référençable :*`<api‑LogicalId>.Stage`

**`AWS::ApiGateway::Deployment`**  
*`LogicalId`: *`<api‑LogicalId>Deployment<sha>`  
`<sha>` est une valeur de hachage unique qui est générée lors de la création de la pile. Par exemple, `MyRestApiDeployment926eeb5ff1`.  
*Propriété référençable :*`<api‑LogicalId>.Deployment`

En plus de ces CloudFormation ressources, lorsqu'elles `AWS::Serverless::Api` sont spécifiées, cela AWS SAM génère des CloudFormation ressources supplémentaires pour les scénarios suivants.

**Topics**
+ [DomainName la propriété est spécifiée](#sam-specification-generated-resources-api-domain-name)
+ [UsagePlan la propriété est spécifiée](#sam-specification-generated-resources-api-usage-plan)

## DomainName la propriété est spécifiée
<a name="sam-specification-generated-resources-api-domain-name"></a>

Lorsque la `DomainName` propriété de la `Domain` propriété de an `AWS::Serverless::Api` est spécifiée, AWS SAM génère la `AWS::ApiGateway::DomainName` CloudFormation ressource.

**`AWS::ApiGateway::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainName<sha>`  
`<sha>` est une valeur de hachage unique qui est générée lors de la création de la pile. Par exemple : `ApiGatewayDomainName926eeb5ff1`.  
*Propriété référençable :*`<api‑LogicalId>.DomainName`

## UsagePlan la propriété est spécifiée
<a name="sam-specification-generated-resources-api-usage-plan"></a>

Lorsque la `UsagePlan` propriété de la `Auth` propriété de an `AWS::Serverless::Api` est spécifiée, AWS SAM génère les CloudFormation ressources suivantes : `AWS::ApiGateway::UsagePlan``AWS::ApiGateway::UsagePlanKey`, et`AWS::ApiGateway::ApiKey`.

**`AWS::ApiGateway::UsagePlan`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlan`  
*Propriété référençable :*`<api‑LogicalId>.UsagePlan`

**`AWS::ApiGateway::UsagePlanKey`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlanKey`  
*Propriété référençable :*`<api‑LogicalId>.UsagePlanKey`

**`AWS::ApiGateway::ApiKey`**  
*`LogicalId`: *`<api‑LogicalId>ApiKey`  
*Propriété référençable :*`<api‑LogicalId>.ApiKey`

# CloudFormation ressources générées lorsque cela AWS::Serverless::Application est spécifié
<a name="sam-specification-generated-resources-application"></a>

Lorsqu'un `AWS::Serverless::Application` est spécifié, AWS Serverless Application Model (AWS SAM) génère une CloudFormation ressource `AWS::CloudFormation::Stack` de base.

**`AWS::CloudFormation::Stack`**  
*`LogicalId`: *`<application‑LogicalId>`   
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

# CloudFormation ressources générées lorsque cela AWS::Serverless::CapacityProvider est spécifié
<a name="sam-specification-generated-resources-capacityprovider"></a>

Lorsqu'une `AWS::Serverless::CapacityProvider` est spécifiée, AWS Serverless Application Model (AWS SAM) génère une ressource CloudFormation de base `AWS::Lambda::CapacityProvider`.

**`AWS::Lambda::CapacityProvider`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

Outre cette CloudFormation ressource, lorsqu'elle `AWS::Serverless::CapacityProvider` est spécifiée, elle génère AWS SAM également CloudFormation des ressources pour les scénarios suivants :

**Topics**
+ [OperatorRole la propriété n'est pas spécifiée](#sam-specification-generated-resources-capacityprovider-iam-role)

## OperatorRole la propriété n'est pas spécifiée
<a name="sam-specification-generated-resources-capacityprovider-iam-role"></a>

Lorsque la `OperatorRole` propriété de an *n'`AWS::Serverless::CapacityProvider`est pas* spécifiée, AWS SAM génère une `AWS::IAM::Role` CloudFormation ressource à laquelle est attachée la politique `AWSLambdaManagedEC2ResourceOperator` gérée.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>OperatorRole`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

# CloudFormation ressources générées lorsque vous spécifiez AWS::Serverless::Connector
<a name="sam-specification-generated-resources-connector"></a>

**Note**  
Lorsque vous définissez des connecteurs via la propriété `Connectors` propriété, celle-ci est d'abord transformée en ressource `AWS::Serverless::Connector` avant de générer ces ressources.

Lorsque vous spécifiez une `AWS::Serverless::Connector` ressource dans un AWS SAM modèle, AWS SAM génère les AWS CloudFormation ressources suivantes selon les besoins.

**`AWS::IAM::ManagedPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>Policy`   
 *Propriété référençable :* N/A (Pour référencer cette CloudFormation ressource, vous devez utiliser le`LogicalId`.) 

**`AWS::SNS::TopicPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>TopicPolicy`   
 *Propriété référençable :* N/A (Pour référencer cette CloudFormation ressource, vous devez utiliser le`LogicalId`.) 

**`AWS::SQS::QueuePolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>QueuePolicy`   
 *Propriété référençable :* N/A (Pour référencer cette CloudFormation ressource, vous devez utiliser le`LogicalId`.) 

**`AWS::Lambda::Permission`**  
 *`LogicalId`:*`<connector‑LogicalId><permission>LambdaPermission`   
 `<permission>` est une autorisation spécifiée par la propriété `Permissions`. Par exemple, `Write`.   
*Propriété référençable :* N/A (Pour référencer cette CloudFormation ressource, vous devez utiliser le`LogicalId`.) 

# CloudFormation ressources générées lorsque cela AWS::Serverless::Function est spécifié
<a name="sam-specification-generated-resources-function"></a>

Lorsqu'un `AWS::Serverless::Function` est spécifié, AWS Serverless Application Model (AWS SAM) crée toujours une CloudFormation ressource `AWS::Lambda::Function` de base.

**`AWS::Lambda::Function`**  
*`LogicalId`: *`<function‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

En plus de cette CloudFormation ressource, lorsqu'elle `AWS::Serverless::Function` est spécifiée, elle génère AWS SAM également CloudFormation des ressources pour les scénarios suivants.

**Topics**
+ [Propriétés des fonctions de base](#sam-specification-generated-resources-function-core-properties)
+ [Sources des évènements](#sam-specification-generated-resources-function-event-sources)
+ [Configuration de l'événement](#sam-specification-generated-resources-function-event-configuration)

## Propriétés des fonctions de base
<a name="sam-specification-generated-resources-function-core-properties"></a>

Les scénarios suivants génèrent des CloudFormation ressources en fonction des propriétés des fonctions principales :

### La propriété Role n'est pas spécifiée
<a name="sam-specification-generated-resources-function-not-role"></a>

Lorsque la `Role` propriété de an *n'`AWS::Serverless::Function`est pas* spécifiée, AWS SAM génère une `AWS::IAM::Role` CloudFormation ressource.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<function‑LogicalId>Role`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

### AutoPublishAlias la propriété est spécifiée
<a name="sam-specification-generated-resources-function-autopublishalias"></a>

Lorsque la `AutoPublishAlias` propriété de an `AWS::Serverless::Function` est spécifiée, AWS SAM génère les CloudFormation ressources suivantes : `AWS::Lambda::Alias` et`AWS::Lambda::Version`.

**`AWS::Lambda::Alias`**  
*`LogicalId`: *`<function‑LogicalId>Alias<alias‑name>`  
`<alias‑name>` est la chaîne sur laquelle `AutoPublishAlias` est défini. Par exemple, si vous définissez sur `AutoPublishAlias``live`, `LogicalId` c'est : *MyFunction* Alias*live*.  
*Propriété référençable :*`<function‑LogicalId>.Alias`

**`AWS::Lambda::Version`**  
*`LogicalId`: *`<function‑LogicalId>Version<sha>`  
`<sha>` est une valeur de hachage unique qui est générée lors de la création de la pile. Par exemple, *MyFunction* Version*926eeb5ff1*.  
*Propriété référençable :*`<function‑LogicalId>.Version`

Pour plus d'informations sur la `AutoPublishAlias` propriété, consultez la [section Propriétés de AWS::Serverless::Function](sam-resource-function.md#sam-resource-function-properties).

### DeploymentPreference la propriété est spécifiée
<a name="sam-specification-generated-resources-function-deploymentpreference"></a>

Lorsque la `DeploymentPreference` propriété de an `AWS::Serverless::Function` est spécifiée, AWS SAM génère les CloudFormation ressources suivantes : `AWS::CodeDeploy::Application` et`AWS::CodeDeploy::DeploymentGroup`. En outre, si la `Role` propriété de l'`DeploymentPreference`objet *n'est pas* spécifiée, génère AWS SAM également une `AWS::IAM::Role` CloudFormation ressource.

**`AWS::CodeDeploy::Application`**  
*`LogicalId`: *`ServerlessDeploymentApplication`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::CodeDeploy::DeploymentGroup`**  
*`LogicalId`: *`<function‑LogicalId>DeploymentGroup`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::IAM::Role`**  
*`LogicalId`: *`CodeDeployServiceRole`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

### FunctionUrlConfig la propriété est spécifiée
<a name="sam-specification-generated-resources-function-functionurlconfig"></a>

Lorsque la `FunctionUrlConfig` propriété est spécifiée, AWS SAM génère différentes CloudFormation ressources en fonction de`AuthType`.

Lorsque `AuthType: NONE` cela est spécifié, AWS SAM génère les CloudFormation ressources suivantes :

**`AWS::Lambda::Permission`(Invoquer l'accès)**  
*`LogicalId`: *`<function‑LogicalId>URLInvokeAllowPublicAccess`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::Lambda::Permission`(Accès public)**  
*`LogicalId`: *`<function‑LogicalId>UrlPublicPermissions`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

Lorsqu'il `AuthType: AWS_IAM` est spécifié, AWS SAM génère uniquement :

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

Pour plus d'informations sur la `FunctionUrlConfig` propriété, voir [FunctionUrlConfig](sam-property-function-functionurlconfig.md).

## Sources des évènements
<a name="sam-specification-generated-resources-function-event-sources"></a>

Les scénarios suivants génèrent des CloudFormation ressources en fonction des sources d'événements :

### Une source d'événement Api est spécifiée
<a name="sam-specification-generated-resources-function-api"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::Function` est définie sur`Api`, mais que la `RestApiId` propriété *n'est pas* spécifiée, AWS SAM la `AWS::ApiGateway::RestApi` CloudFormation ressource est générée.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

### Une source d' HttpApi événement est spécifiée
<a name="sam-specification-generated-resources-function-httpapi"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::Function` est définie sur`HttpApi`, mais que la `ApiId` propriété *n'est pas* spécifiée, AWS SAM la `AWS::ApiGatewayV2::Api` CloudFormation ressource est générée.

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`ServerlessHttpApi`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

### Une source d'événements de streaming en continu est spécifiée
<a name="sam-specification-generated-resources-function-streaming"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::Function` est définie sur l'un des types de streaming, AWS SAM génère la `AWS::Lambda::EventSourceMapping` CloudFormation ressource. Cela s'applique aux types suivants : `DynamoDB`, `Kinesis`, `MQ`, `MSK`, et `SQS`.

**`AWS::Lambda::EventSourceMapping`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

### Une source d'événement pont d'événements (ou bus d'événements) est spécifiée
<a name="sam-specification-generated-resources-function-eventbridge"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::Function` est définie sur l'un des types de pont d'événements (ou bus d'événements), AWS SAM génère la `AWS::Events::Rule` CloudFormation ressource. Cela s'applique aux types suivants : `EventBridgeRule`, `Schedule`, et `CloudWatchEvents`.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

### Une source d' IotRule événement est spécifiée
<a name="sam-specification-generated-resources-function-iotrule"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::Function` est définie sur IoTRule, AWS SAM génère la `AWS::IoT::TopicRule` CloudFormation ressource.

**`AWS::IoT::TopicRule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

## Configuration de l'événement
<a name="sam-specification-generated-resources-function-event-configuration"></a>

Les scénarios suivants génèrent des CloudFormation ressources en fonction de la configuration des événements :

### OnSuccess (ou OnFailure) la propriété est spécifiée pour les événements Amazon SNS
<a name="sam-specification-generated-resources-function-sns-onsuccess"></a>

Lorsque la propriété `OnSuccess` (ou`OnFailure`) de la `DestinationConfig` propriété de la `EventInvokeConfig` propriété d'un `AWS::Serverless::Function` est spécifiée, et que le type de destination est spécifié `SNS` mais que l'ARN de destination *n'est pas* spécifié, AWS SAM génère les CloudFormation ressources suivantes : `AWS::Lambda::EventInvokeConfig` et`AWS::SNS::Topic`.

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::SNS::Topic`**  
*`LogicalId`:* `<function‑LogicalId>OnSuccessTopic` (ou`<function‑LogicalId>OnFailureTopic`)  
*Propriété référençable :*`<function‑LogicalId>.DestinationTopic`  
Si les deux `OnSuccess` et `OnFailure` sont spécifiés pour un événement Amazon SNS, pour faire la distinction entre les ressources générées, vous devez utiliser la `LogicalId`.

### OnSuccess la propriété (ou OnFailure) est spécifiée pour les événements Amazon SQS
<a name="sam-specification-generated-resources-function-sqs-onsuccess"></a>

Lorsque la propriété `OnSuccess` (ou`OnFailure`) de la `DestinationConfig` propriété de la `EventInvokeConfig` propriété d'un `AWS::Serverless::Function` est spécifiée, et que le type de destination est spécifié `SQS` mais que l'ARN de destination *n'est pas* spécifié, AWS SAM génère les CloudFormation ressources suivantes : `AWS::Lambda::EventInvokeConfig` et`AWS::SQS::Queue`.

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::SQS::Queue`**  
*`LogicalId`:* `<function‑LogicalId>OnSuccessQueue` (ou`<function‑LogicalId>OnFailureQueue`)  
*Propriété référençable :*`<function‑LogicalId>.DestinationQueue`  
Si les deux `OnSuccess` et `OnFailure` sont spécifiés pour un événement Amazon SQS, pour faire la distinction entre les ressources générées, vous devez utiliser la `LogicalId`.

# CloudFormation ressources générées lorsque cela AWS::Serverless::GraphQLApi est spécifié
<a name="sam-specification-generated-resources-graphqlapi"></a>

Lorsque vous spécifiez une `AWS::Serverless::GraphQLApi` ressource dans un modèle AWS Serverless Application Model (AWS SAM), crée AWS SAM toujours les AWS CloudFormation ressources de base suivantes.

**`AWS::AppSync::DataSource`**  
*`LogicalId`: *`<graphqlapi-LogicalId><datasource-RelativeId><datasource-Type>DataSource`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::AppSync::FunctionConfiguration`**  
*`LogicalId`: *`<graphqlapi-LogicalId><function-RelativeId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::AppSync::GraphQLApi`**  
*`LogicalId`: *`<graphqlapi-LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::AppSync::GraphQLSchema`**  
*`LogicalId`: *`<graphqlapi-LogicalId>Schema`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

**`AWS::AppSync::Resolver`**  
*`LogicalId`: *`<graphqlapi-LogicalId><OperationType><resolver-RelativeId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

En plus de ces CloudFormation ressources, `AWS::Serverless::GraphQLApi` le moment spécifié AWS SAM peut également générer les CloudFormation ressources suivantes.

`AWS::AppSync::ApiCache`  
*`LogicalId`: *`<graphqlapi-LogicalId>ApiCache`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

`AWS::AppSync::ApiKey`  
*`LogicalId`: *`<graphqlapi-LogicalId><apikey-RelativeId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

`AWS::AppSync::DomainName`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainName`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

`AWS::AppSync::DomainNameApiAssociation`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainNameApiAssociation`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

AWS SAM peut également utiliser la `AWS::Serverless::Connector` ressource pour octroyer des autorisations. Pour de plus amples informations, veuillez consulter [CloudFormation ressources générées lorsque vous spécifiez AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).

# CloudFormation ressources générées lorsque cela AWS::Serverless::HttpApi est spécifié
<a name="sam-specification-generated-resources-httpapi"></a>

Lorsqu'un `AWS::Serverless::HttpApi` est spécifié, AWS Serverless Application Model (AWS SAM) génère une CloudFormation ressource `AWS::ApiGatewayV2::Api` de base.

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`<httpapi‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

En plus de cette CloudFormation ressource, lorsqu'elle `AWS::Serverless::HttpApi` est spécifiée, elle génère AWS SAM également CloudFormation des ressources pour les scénarios suivants :

**Topics**
+ [StageName la propriété est spécifiée](#sam-specification-generated-resources-httpapi-stage-name)
+ [StageName la propriété *n'est pas* spécifiée](#sam-specification-generated-resources-httpapi-not-stage-name)
+ [DomainName la propriété est spécifiée](#sam-specification-generated-resources-httpapi-domain-name)

## StageName la propriété est spécifiée
<a name="sam-specification-generated-resources-httpapi-stage-name"></a>

Lorsque la `StageName` propriété de an `AWS::Serverless::HttpApi` est spécifiée, AWS SAM génère la `AWS::ApiGatewayV2::Stage` CloudFormation ressource.

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId><stage‑name>Stage`  
`<stage‑name>` est la chaîne sur laquelle la propriété `StageName` est définie. Par exemple, si vous définissez sur `StageName``Gamma`, `LogicalId` c'est : *MyHttpApiGamma* Stage.  
*Propriété référençable :*`<httpapi‑LogicalId>.Stage`

## StageName la propriété *n'est pas* spécifiée
<a name="sam-specification-generated-resources-httpapi-not-stage-name"></a>

Lorsque la `StageName` propriété de an *n'`AWS::Serverless::HttpApi`est pas* spécifiée, AWS SAM génère la `AWS::ApiGatewayV2::Stage` CloudFormation ressource.

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId>ApiGatewayDefaultStage`  
*Propriété référençable :*`<httpapi‑LogicalId>.Stage`

## DomainName la propriété est spécifiée
<a name="sam-specification-generated-resources-httpapi-domain-name"></a>

Lorsque la `DomainName` propriété de la `Domain` propriété de an `AWS::Serverless::HttpApi` est spécifiée, AWS SAM génère la `AWS::ApiGatewayV2::DomainName` CloudFormation ressource.

**`AWS::ApiGatewayV2::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainNameV2<sha>`  
`<sha>` est une valeur de hachage unique qui est générée lors de la création de la pile. Par exemple, `ApiGatewayDomainNameV2`*926eeb5ff1*.  
*Propriété référençable :*`<httpapi‑LogicalId>.DomainName`

# CloudFormation ressources générées lorsque cela AWS::Serverless::LayerVersion est spécifié
<a name="sam-specification-generated-resources-layerversion"></a>

Lorsqu'un `AWS::Serverless::LayerVersion` est spécifié, AWS Serverless Application Model (AWS SAM) génère une CloudFormation ressource `AWS::Lambda::LayerVersion` de base.

**`AWS::Lambda::LayerVersion`**  
*`LogicalId`: *`<layerversion‑LogicalId>`   
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

# CloudFormation ressources générées lorsque cela AWS::Serverless::SimpleTable est spécifié
<a name="sam-specification-generated-resources-simpletable"></a>

Lorsqu'un `AWS::Serverless::SimpleTable` est spécifié, AWS Serverless Application Model (AWS SAM) génère une CloudFormation ressource `AWS::DynamoDB::Table` de base.

**`AWS::DynamoDB::Table`**  
*`LogicalId`: *`<simpletable‑LogicalId>`   
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

# CloudFormation ressources générées lorsque cela AWS::Serverless::StateMachine est spécifié
<a name="sam-specification-generated-resources-statemachine"></a>

Lorsqu'une `AWS::Serverless::StateMachine` est spécifiée, AWS Serverless Application Model (AWS SAM) génère une ressource CloudFormation de base `AWS::StepFunctions::StateMachine`.

**`AWS::StepFunctions::StateMachine`**  
*`LogicalId`: *`<statemachine‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

Outre cette CloudFormation ressource, lorsqu'elle `AWS::Serverless::StateMachine` est spécifiée, elle génère AWS SAM également CloudFormation des ressources pour les scénarios suivants :

**Topics**
+ [La propriété Role n'est pas spécifiée](#sam-specification-generated-resources-statemachine-not-role)
+ [Une source d'événement d'API est spécifiée](#sam-specification-generated-resources-statemachine-api)
+ [Une source d'événement pont d'événements (ou bus d'événements) est spécifiée](#sam-specification-generated-resources-statemachine-eventbridge)

## La propriété Role n'est pas spécifiée
<a name="sam-specification-generated-resources-statemachine-not-role"></a>

Lorsque la `Role` propriété de an *n'`AWS::Serverless::StateMachine`est pas* spécifiée, AWS SAM génère une `AWS::IAM::Role` CloudFormation ressource.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<statemachine‑LogicalId>Role`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

## Une source d'événement d'API est spécifiée
<a name="sam-specification-generated-resources-statemachine-api"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::StateMachine` est définie sur`Api`, mais que la `RestApiId` propriété *n'est pas* spécifiée, AWS SAM la `AWS::ApiGateway::RestApi` CloudFormation ressource est générée.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

## Une source d'événement pont d'événements (ou bus d'événements) est spécifiée
<a name="sam-specification-generated-resources-statemachine-eventbridge"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::StateMachine` est définie sur l'un des types de pont d'événements (ou bus d'événements), AWS SAM génère la `AWS::Events::Rule` CloudFormation ressource. Cela s'applique aux types suivants : `EventBridgeRule`, `Schedule`, et `CloudWatchEvents`.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<statemachine‑LogicalId><event‑LogicalId>`  
*Propriété référençable :* N/A (vous devez utiliser le `LogicalId` pour référencer cette CloudFormation ressource)

# Attributs de ressources pris en charge par AWS SAM
<a name="sam-specification-resource-attributes"></a>

Les attributs de ressources sont des attributs auxquels vous pouvez ajouter AWS SAM CloudFormation des ressources pour contrôler des comportements et des relations supplémentaires. Pour plus d'informations sur les attributs des ressources, consultez [Référence d'attribut de ressource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-product-attribute-reference.html) dans le *Guide de l'utilisateur AWS CloudFormation *.

AWS SAM prennent en charge un sous-ensemble d'attributs de ressources définis par CloudFormation. Parmi les attributs de ressources pris en charge, certains sont copiés uniquement dans la CloudFormation ressource générée de base de la AWS SAM ressource correspondante, tandis que d'autres sont copiés dans toutes les CloudFormation ressources générées à partir de la AWS SAM ressource correspondante. Pour plus d'informations sur CloudFormation les ressources générées à partir AWS SAM des ressources correspondantes, consultez[CloudFormation Ressources générées pour AWS SAM](sam-specification-generated-resources.md).

Le tableau suivant récapitule la prise en charge des attributs de ressources par AWS SAM, sous réserve de ce qui est [Exceptions](#sam-specification-resource-attributes-exceptions) indiqué ci-dessous.


| Attributs de ressource | Ressource(s) Destination générée(s) | 
| --- | --- | 
|  ** [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) ** ** [Métadonnées](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html) **1, 2  |  Ressource CloudFormation générée par la base uniquement. Pour plus d'informations sur le mappage entre les AWS SAM ressources et les CloudFormation ressources de base, consultez[Scénarios CloudFormation de ressources générés](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios).  | 
| ** [Condition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html) ** ** [DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) ** ** [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) **  |  Toutes les CloudFormation ressources générées à partir de la AWS SAM ressource correspondante. Pour plus d'informations sur les scénarios relatifs CloudFormation aux ressources générées, consultez[Scénarios CloudFormation de ressources générés](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios).  | 

**Remarques** :

1. Pour plus d'informations sur l'utilisation de l'attribut de ressource `Metadata` avec le type de ressource `AWS::Serverless::Function`, consultez [Création de fonctions Lambda avec des environnements d'exécution personnalisés dans AWS SAM](building-custom-runtimes.md).

1. Pour plus d'informations sur l'utilisation de l'attribut de ressource `Metadata` avec le type de ressource `AWS::Serverless::LayerVersion`, consultez [Création de couches Lambda dans AWS SAM](building-layers.md).

## Exceptions
<a name="sam-specification-resource-attributes-exceptions"></a>

Il existe un certain nombre d'exceptions aux règles d'attribut de ressource décrites précédemment :
+ Car`AWS::Lambda::LayerVersion`, le champ personnalisé AWS SAM-only `RetentionPolicy` définit `DeletionPolicy` les CloudFormation ressources générées. La priorité est plus élevée que pour `DeletionPolicy`. Si aucun n'est défini, `DeletionPolicy` est alors défini par défaut sur `Retain`.
+ Pour `AWS::Lambda::Version`, si `DeletionPolicy` n'est pas spécifié, la valeur par défaut est `Retain`.
+ Dans le cas où une fonction sans serveur `DeploymentPreferences` est spécifiée, les attributs de ressources ne sont pas copiés dans les CloudFormation ressources générées suivantes :
  + `AWS::CodeDeploy::Application`
  + `AWS::CodeDeploy::DeploymentGroup`
  + Le `AWS::IAM::Role` nommé `CodeDeployServiceRole`, qui est créé pour ce scénario
+ Si votre AWS SAM modèle contient plusieurs fonctions dont les sources d'événements d'API sont créées implicitement, les fonctions partageront la `AWS::ApiGateway::RestApi` ressource générée. Dans ce scénario, si les fonctions ont des attributs de ressource différents, pour la `AWS::ApiGateway::RestApi` ressource générée, AWS SAM copie les attributs de ressource conformément aux listes de priorité suivantes :
  + `UpdateReplacePolicy`:

    1. `Retain`

    1. `Snapshot`

    1. `Delete`
  + `DeletionPolicy`:

    1. `Retain`

    1. `Delete`

# Extensions API Gateway pour AWS SAM
<a name="sam-specification-api-gateway-extensions"></a>

Les extensions API Gateway, spécialement conçues pour AWS, fournissent des personnalisations et des fonctionnalités supplémentaires pour la conception et la gestion APIs. Les extensions API Gateway sont des extensions de la spécification OpenAPI qui prennent en charge l'autorisation AWS spécifique et les intégrations d'API spécifiques à API Gateway. Pour plus d'informations sur les extensions API Gateway, reportez-vous à la section [Extensions API Gateway pour OpenAPI](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html).

AWS SAM prend en charge un sous-ensemble d'extensions API Gateway. Pour savoir quelles extensions API Gateway sont prises en charge AWS SAM, reportez-vous au tableau suivant.


|  |  | 
| --- |--- |
|  Extension API Gateway  |  Soutenu par AWS SAM  | 
| [x-amazon-apigateway-anyObjet -method](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-any-method.html) | Oui | 
| [x-amazon-apigateway-apiPropriété -key-source](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html) | Non | 
| [x-amazon-apigateway-auth Objet](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-auth.html) | Oui | 
| [x-amazon-apigateway-authorizer Objet](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html) | Oui | 
| [x-amazon-apigateway-authtype Propriété](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authtype.html) | Oui | 
| [x-amazon-apigateway-binaryPropriété -media-types](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html) | Oui | 
| [x-amazon-apigateway-documentation Objet](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-documentation.html) | Non | 
| [x-amazon-apigateway-endpointObjet -configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html) | Non | 
| [x-amazon-apigateway-gatewayObjet -responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.html) | Oui | 
| [x-amazon-apigateway-gateway-Responses.GatewayResponse Objet](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.gatewayResponse.html) | Oui | 
| [x-amazon-apigateway-gatewayObjet -ResponseParameters](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.responseParameters.html) | Oui | 
| [x-amazon-apigateway-gatewayObjet -ResponseTemplates](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.responseTemplates.html) | Oui | 
| [x-amazon-apigateway-integration Objet](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration.html) | Oui | 
| [x-amazon-apigateway-integrationObjet .RequestTemplates](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-requestTemplates.html) | Oui | 
| [x-amazon-apigateway-integrationObjet .RequestParameters](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-requestParameters.html) | Non | 
| [x-amazon-apigateway-integrationObjet .responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responses.html) | Oui | 
| [x-amazon-apigateway-integrationObjet .response](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-response.html) | Oui | 
| [x-amazon-apigateway-integrationObjet .ResponseTemplates](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responseTemplates.html) | Oui | 
| [x-amazon-apigateway-integrationObjet .ResponseParameters](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responseParameters.html) | Oui | 
| [x-amazon-apigateway-requestPropriété -validator](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validator.html) | Non | 
| [x-amazon-apigateway-requestObjet -validators](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validators.html) | Non | 
| [x-amazon-apigateway-requestObjet -Validators.RequestValidator](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validators.requestValidator.html) | Non | 

# Fonctions intrinsèques pour AWS SAM
<a name="sam-specification-intrinsic-functions"></a>

Les fonctions intrinsèques sont des fonctions intégrées qui vous permettent d'attribuer des valeurs à des propriétés qui ne sont disponibles qu'au moment de l'exécution. AWS SAM a un support limité pour certaines propriétés intrinsèques des fonctions, il est donc incapable de résoudre certaines fonctions intrinsèques. Par conséquent, nous vous recommandons d'ajouter la `AWS::LanguageExtensions` transformation pour résoudre ce problème. `AWS::LanguageExtensions`Il s'agit d'une macro hébergée par CloudFormation qui vous permet d'utiliser des fonctions intrinsèques et d'autres fonctionnalités qui ne sont pas incluses par défaut CloudFormation.

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

**Note**  
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 la `AWS::LanguageExtensions` transformation.  
Pour plus d'informations, reportez-vous à la [section Propriétés de AWS::Serverless::Function](sam-resource-function.md#sam-resource-function-properties).

Pour plus d'informations sur les fonctions intrinsèques, consultez [Référence des fonctions intrinsèques](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) dans le *AWS CloudFormation Guide de l'utilisateur*.