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 des applications sans serveur.

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 modèle AWS Serverless Application Model (AWS SAM), 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 unique AWS SAM et n'a pas d' 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 unique AWS SAM et n'a pas d' 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 unique AWS SAM et n'a pas d' 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). Sinon, 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 unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.

Role

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

AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.

TriggerConfigurations

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

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 des applications sans serveur.

Type : chaîne

Obligatoire : oui

AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' 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