DeploymentPreference - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

DeploymentPreference

Gibt die Konfigurationen an, um schrittweise Lambda-Bereitstellungen zu ermöglichen. Weitere Informationen zur Konfiguration schrittweiser Lambda-Bereitstellungen finden Sie unter. Schrittweise Bereitstellung serverloser Anwendungen mit AWS SAM

Anmerkung

Sie müssen ein AutoPublishAlias in Ihrem angebenAWS::Serverless::Function, um ein DeploymentPreference Objekt verwenden zu können, andernfalls tritt ein Fehler auf.

Syntax

Um diese Entität in Ihrem zu deklarieren AWS Serverless Application Model (AWS SAM) Vorlage, verwenden Sie die folgende Syntax.

YAML

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

Eigenschaften

Alarms

Eine Liste von CloudWatch Alarmen, die durch alle durch die Bereitstellung ausgelösten Fehler ausgelöst werden sollen.

Diese Eigenschaft akzeptiert die Fn::If intrinsische Funktion. Im Abschnitt Beispiele am Ende dieses Themas finden Sie eine Beispielvorlage, die verwendet. Fn::If

Typ: Liste

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation gleichwertig.

Enabled

Ob diese Bereitstellungspräferenz aktiviert ist.

Typ: Boolesch

Required: No

Standard: Wahr

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation gleichwertig.

Hooks

Validierung Lambda-Funktionen, die vor und nach der Verkehrsverlagerung ausgeführt werden.

Typ: Hooks

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation gleichwertig.

PassthroughCondition

Bei True und wenn diese Bereitstellungspräferenz aktiviert ist, wird die Bedingung der Funktion an die generierte CodeDeploy Ressource weitergegeben. Im Allgemeinen sollten Sie dies auf True setzen. Andernfalls würde die CodeDeploy Ressource auch dann erstellt, wenn die Bedingung der Funktion auf False aufgelöst wird.

Typ: Boolesch

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation gleichwertig.

Role

Eine IAM RolleARN, die für die Verkehrsverlagerung genutzt CodeDeploy werden wird. Eine IAM Rolle wird nicht erstellt, wenn sie bereitgestellt wird.

Typ: Zeichenfolge

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation gleichwertig.

TriggerConfigurations

Eine Liste von Triggerkonfigurationen, die Sie der Bereitstellungsgruppe zuordnen möchten. Wird verwendet, um ein SNS Thema über Lebenszyklusereignisse zu informieren.

Typ: Liste

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die TriggerConfigurations Eigenschaft einer AWS::CodeDeploy::DeploymentGroup Ressource übergeben.

Type

Derzeit gibt es zwei Kategorien von Bereitstellungstypen: Linear und Canary. Weitere Informationen zu den verfügbaren Bereitstellungstypen finden Sie unterSchrittweise Bereitstellung serverloser Anwendungen mit AWS SAM.

Typ: Zeichenfolge

Erforderlich: Ja

AWS CloudFormation Kompatibilität: Diese Eigenschaft gibt es nur bei AWS SAM und hat kein AWS CloudFormation gleichwertig.

Beispiele

DeploymentPreference mit Hooks vor und nach dem Traffic.

Beispiel für eine Bereitstellungspräferenz, die Hooks vor und nach dem Traffic enthält.

YAML

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

DeploymentPreference mit der intrinsischen Funktion Fn: :If

Beispiel für eine Bereitstellungspräferenz, die Fn::If für die Konfiguration von Alarmen verwendet wird. In diesem Beispiel Alarm1 wird konfiguriert, ob dies der Fall MyCondition isttrue, Alarm2 und Alarm5 wird konfiguriert, wenn dies der Fall MyCondition istfalse.

YAML

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