DeploymentPreference - AWS Serverless Application Model

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

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.

Note

Vous devez spécifier un AutoPublishAlias dans votre fonction AWS::Serverless::Function pour utiliser un objet DeploymentPreference. Si vous ne le faites pas, une erreur se produit.

Syntaxe

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

YAML

Alarms: List Enabled: Boolean Hooks: Hooks PassthroughCondition: Boolean Role: String TriggerConfigurations: List Type: String

Propriétés

Alarms

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

AWS CloudFormation compatibilité  : cette propriété est propre à AWS SAM et n'a pas de AWS CloudFormation équivalent.

Enabled

Indique si cette préférence de déploiement est activée.

Type : valeur booléenne

Obligatoire : non

Valeur par défaut : VRAI

AWS CloudFormation compatibilité  : cette propriété est propre à AWS SAM et n'a pas de AWS CloudFormation équivalent.

Hooks

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

Type : crochets

Obligatoire : non

AWS CloudFormation compatibilité  : cette propriété est propre à AWS SAM et n'a pas de AWS CloudFormation équivalent.

PassthroughCondition

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

AWS CloudFormation compatibilité  : cette propriété est propre à AWS SAM et n'a pas de AWS CloudFormation équivalent.

Role

Un IAM rôle ARN qui CodeDeploy sera utilisé pour le transfert de trafic. Aucun IAM rôle ne sera créé s'il est fourni.

Type : chaîne

Obligatoire : non

AWS CloudFormation compatibilité  : cette propriété est propre à AWS SAM et n'a pas de AWS CloudFormation équivalent.

TriggerConfigurations

Une liste des configurations de déclenchement que vous souhaitez associer au groupe de déploiement. Utilisé pour informer un SNS sujet des événements du cycle de vie.

Type: liste

Obligatoire : non

AWS CloudFormation compatibilité  : cette propriété est transmise directement à la TriggerConfigurations propriété d'une AWS::CodeDeploy::DeploymentGroup ressource.

Type

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.

Type : chaîne

Obligatoire : oui

AWS CloudFormation compatibilité  : cette propriété est propre à AWS SAM et n'a pas de AWS CloudFormation équivalent.

Exemples

DeploymentPreference avec des crochets avant et après le trafic.

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

YAML

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

DeploymentPreference avec fonction intrinsèque Fn : :If

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

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