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

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 plantilla de AWS Serverless Application Model (AWS SAM), use la siguiente sintaxis:

YAML

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

Propiedades

Alarms

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

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 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

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 CodeDeploy que se 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, consulte Implementar aplicaciones sin servidor de forma gradual.

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 ganchos antes y después del 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