

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.

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