

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# DeploymentPreference
<a name="sam-property-function-deploymentpreference"></a>

Especifica as configurações para permitir implantações graduais do Lambda. Para obter mais informações sobre como configurar implantações graduais do Lambda, consulte [Implantando aplicativos sem servidor gradualmente com AWS SAM](automating-updates-to-serverless-apps.md).

**nota**  
Você deve especificar um `AutoPublishAlias` em seu [AWS::Serverless::Function](sam-resource-function.md) para usar um objeto `DeploymentPreference`, caso contrário, ocorrerá um erro.

## Sintaxe
<a name="sam-property-function-deploymentpreference-syntax"></a>

Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.

### YAML
<a name="sam-property-function-deploymentpreference-syntax.yaml"></a>

```
  [Alarms](#sam-function-deploymentpreference-alarms): List
  [Enabled](#sam-function-deploymentpreference-enabled): Boolean
  [Hooks](#sam-function-deploymentpreference-hooks): Hooks
  [PassthroughCondition](#sam-function-deploymentpreference-passthroughcondition): Boolean
  [Role](#sam-function-deploymentpreference-role): String
  [TriggerConfigurations](#sam-function-deploymentpreference-triggerconfigurations): List
  [Type](#sam-function-deploymentpreference-type): String
```

## Propriedades
<a name="sam-property-function-deploymentpreference-properties"></a>

 `Alarms`   <a name="sam-function-deploymentpreference-alarms"></a>
Uma lista de CloudWatch alarmes que você deseja que sejam acionados por quaisquer erros gerados pela implantação.  
Essa propriedade aceita a função intrínseca `Fn::If`. Consulte a seção Exemplos na parte inferior deste tópico para ver um exemplo de modelo que usa `Fn::If`.  
*Tipo*: lista  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Enabled`   <a name="sam-function-deploymentpreference-enabled"></a>
Se essa preferência de implantação está habilitada.  
*Tipo*: booliano  
*Obrigatório*: não  
*Padrão*: verdadeiro  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Hooks`   <a name="sam-function-deploymentpreference-hooks"></a>
Funções de validação do Lambda que são executadas antes e depois da mudança de tráfego.  
*Tipo*: [Ganchos](sam-property-function-hooks.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `PassthroughCondition`   <a name="sam-function-deploymentpreference-passthroughcondition"></a>
Se for True, e se essa preferência de implantação estiver ativada, a Condição da função será passada para o CodeDeploy recurso gerado. Geralmente, você deve definir isso como Verdadeiro. Caso contrário, o CodeDeploy recurso seria criado mesmo se a Condição da função fosse resolvida como False.  
*Tipo*: booliano  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Role`   <a name="sam-function-deploymentpreference-role"></a>
Um ARN de função do IAM que CodeDeploy será usado para mudança de tráfego. Um perfil do IAM não será criado se ele for fornecido.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `TriggerConfigurations`   <a name="sam-function-deploymentpreference-triggerconfigurations"></a>
Uma lista das configurações de gatilho que você deseja associar ao grupo de implantação. Usado para notificar um tópico do SNS sobre eventos do ciclo de vida.  
*Tipo*: lista  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[TriggerConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations)` propriedade de um `AWS::CodeDeploy::DeploymentGroup` recurso.

 `Type`   <a name="sam-function-deploymentpreference-type"></a>
No momento, existem duas categorias de tipos de implantação: Linear e Canário. Para obter mais informações sobre os tipos de implantação disponíveis, consulte [Implantando aplicativos sem servidor gradualmente com AWS SAM](automating-updates-to-serverless-apps.md).  
*Tipo:* string  
*Obrigatório*: Sim  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

## Exemplos
<a name="sam-property-function-deploymentpreference--examples"></a>

### DeploymentPreference com ganchos pré e pós-trânsito.
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks."></a>

Exemplo de preferência de implantação que contém ganchos pré e pós-tráfego.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks.--yaml"></a>

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

### DeploymentPreference com função intrínseca Fn: :If
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function"></a>

Exemplo de preferência de implantação que usa `Fn::If` para configurar alarmes. Neste exemplo, `Alarm1` será configurado se `MyCondition` for `true`, `Alarm2` e `Alarm5` será configurado se `MyCondition` for `false`.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function--yaml"></a>

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

# Hooks
<a name="sam-property-function-hooks"></a>

Funções de validação do Lambda que são executadas antes e depois da mudança de tráfego.

**nota**  
As funções Lambda referenciadas nessa propriedade configuram o objeto `CodeDeployLambdaAliasUpdate` do recurso resultante [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html). Para obter mais informações, consulte a [CodeDeployLambdaAliasUpdate Política](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate) no *Guia AWS CloudFormation do Usuário*.

## Sintaxe
<a name="sam-property-function-hooks-syntax"></a>

Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.

### YAML
<a name="sam-property-function-hooks-syntax.yaml"></a>

```
  [PostTraffic](#sam-function-hooks-posttraffic): String
  [PreTraffic](#sam-function-hooks-pretraffic): String
```

## Propriedades
<a name="sam-property-function-hooks-properties"></a>

 `PostTraffic`   <a name="sam-function-hooks-posttraffic"></a>
Função do Lambda que é executada após a mudança de tráfego.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `PreTraffic`   <a name="sam-function-hooks-pretraffic"></a>
Função do Lambda que é executada antes da mudança de tráfego.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

## Exemplos
<a name="sam-property-function-hooks--examples"></a>

### Ganchos
<a name="sam-property-function-hooks--examples--hooks"></a>

Exemplos de funções de gancho

#### YAML
<a name="sam-property-function-hooks--examples--hooks--yaml"></a>

```
Hooks:
  PreTraffic:
    Ref: PreTrafficLambdaFunction
  PostTraffic:
    Ref: PostTrafficLambdaFunction
```