DeploymentPreference - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

DeploymentPreference

Especifica las configuraciones para permitir las implementaciones graduales de Lambda. Para obtener más información acerca de la configuración de implementaciones graduales de Lambda, consulte Implementación gradual de aplicaciones sin servidor con AWS SAM.

nota

Debe especificar un AutoPublishAlias en su objeto AWS::Serverless::Function para utilizar un objeto DeploymentPreference; de lo contrario, se producirá un error.

Sintaxis

Para declarar esta entidad en su AWS Serverless Application Model (AWS SAM) plantilla, utilice la siguiente sintaxis.

YAML

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

Propiedades

Alarms

Una lista de CloudWatch las alarmas que desea que se activen por cualquier error provocado por la implementación.

Esta propiedad acepta la función intrínseca Fn::If. Consulte la sección de ejemplos al final de este tema para ver una plantilla de ejemplo que utiliza Fn::If.

Tipo: lista

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

Enabled

Si esta preferencia de implementación está habilitada.

Tipo: Booleano

Obligatorio: no

Valor predeterminado: True

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

Hooks

Funciones de Lambda de validación que se ejecutan antes y después del desvío del tráfico.

Tipo: enlaces

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

PassthroughCondition

Si es True y esta preferencia de despliegue está habilitada, la condición de la función se transferirá al CodeDeploy recurso generado. Por lo general, debe establecerlo en True. De lo contrario, el CodeDeploy recurso se crearía incluso si la condición de la función se resolviera como False.

Tipo: Booleano

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

Role

Una IAM función ARN que CodeDeploy se utilizará para el traslado del tráfico. No se creará un IAM rol si se proporciona.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

TriggerConfigurations

Una lista de las configuraciones de activación que desea asociar al grupo de implementación. Se utiliza para notificar un SNS tema sobre eventos del ciclo de vida.

Tipo: lista

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la TriggerConfigurations propiedad de un AWS::CodeDeploy::DeploymentGroup recurso.

Type

Actualmente, hay dos categorías de tipos de implementación: Linear (lineal) y Canary (valor controlado). Para obtener más información acerca de los tipos de implementaciones disponibles, consulte Implementación gradual de aplicaciones sin servidor con AWS SAM.

Tipo: cadena

Obligatorio: sí

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

Ejemplos

DeploymentPreference con ganchos previos y posteriores al tráfico.

Ejemplo de preferencia de implementación que contiene enlaces previos y posteriores al tráfico.

YAML

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

DeploymentPreference con la función intrínseca Fn: :If

Ejemplo de preferencia de implementación que se utiliza para configurar las alarmas Fn::If. En este ejemplo, Alarm1 se configurará si MyCondition es true y Alarm2 y Alarm5 configurarán si MyCondition es false.

YAML

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