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, consulta Implementar aplicaciones sin servidor de forma gradual 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 tu plantilla de AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis:

YAML

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

Propiedades

Alarms

Una lista de las alarmas de CloudWatch 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

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

Enabled

Si esta preferencia de implementación está habilitada.

Tipo: Booleano

Obligatorio: no

Valor predeterminado: True

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

Hooks

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

Tipo: enlaces

Obligatorio: no

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

PassthroughCondition

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

Tipo: Booleano

Obligatorio: no

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

Role

Un ARN de rol de IAM que CodeDeploy utilizará para el cambio de tráfico. No se creará una función de rol de IAM si se proporciona.

Tipo: cadena

Obligatorio: no

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

TriggerConfigurations

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

Tipo: lista

Obligatorio: no

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

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, consulta Implementar aplicaciones sin servidor de forma gradual AWS SAM.

Tipo: cadena

Obligatorio: sí

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

Ejemplos

DeploymentPreference con enlaces 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