

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Sintassi di hook `AWS::CodeDeploy::BlueGreen`
<a name="blue-green-hook-syntax"></a>

La sintassi seguente descrive la struttura di un `AWS::CodeDeploy::BlueGreen` hook per le distribuzioni ECS. blue/green 

## Sintassi
<a name="cfn-blue-green-hook-syntax"></a>

```
"Hooks": {
  "Logical ID": {
    "Type": "AWS::CodeDeploy::BlueGreen",
    "Properties": {
      "TrafficRoutingConfig": {
        "Type": "Traffic routing type",
        "TimeBasedCanary": {
          "StepPercentage": Integer,
          "BakeTimeMins": Integer
        },
        "TimeBasedLinear": {
          "StepPercentage": Integer,
          "BakeTimeMins": Integer
        }
      },
      "AdditionalOptions": {"TerminationWaitTimeInMinutes": Integer},
      "LifecycleEventHooks": {
        "BeforeInstall": "FunctionName",
        "AfterInstall": "FunctionName",
        "AfterAllowTestTraffic": "FunctionName",
        "BeforeAllowTraffic": "FunctionName",
        "AfterAllowTraffic": "FunctionName"
      },
      "ServiceRole": "CodeDeployServiceRoleName",
      "Applications": [
        {
          "Target": {
            "Type": "AWS::ECS::Service",
            "LogicalID": "Logical ID of AWS::ECS::Service"
          },
          "ECSAttributes": {
            "TaskDefinitions": [
              "Logical ID of AWS::ECS::TaskDefinition (Blue)",
              "Logical ID of AWS::ECS::TaskDefinition (Green)"
            ],
            "TaskSets": [
              "Logical ID of AWS::ECS::TaskSet (Blue)",
              "Logical ID of AWS::ECS::TaskSet (Green)"
            ],
            "TrafficRouting": {
              "ProdTrafficRoute": {
                "Type": "AWS::ElasticLoadBalancingV2::Listener",
                "LogicalID": "Logical ID of AWS::ElasticLoadBalancingV2::Listener (Production)"
              },
              "TestTrafficRoute": {
                "Type": "AWS::ElasticLoadBalancingV2::Listener",
                "LogicalID": "Logical ID of AWS::ElasticLoadBalancingV2::Listener (Test)"
              },
              "TargetGroups": [
                "Logical ID of AWS::ElasticLoadBalancingV2::TargetGroup (Blue)",
                "Logical ID of AWS::ElasticLoadBalancingV2::TargetGroup (Green)"
              ]
            }
          }
        }
      ]
    }
  }
}
```

## Properties
<a name="cfn-blue-green-hook-properties"></a>

ID logico (chiamato anche *nome logico)*  
L’ID logico di un hook dichiarato nella sezione `Hooks` del modello. L’ID logico deve essere un valore alfanumerico (A-Z, a-z, 0-9) univoco all’interno del modello.  
*Obbligatorio:* sì    
`Type`  
Il tipo di hook. `AWS::CodeDeploy::BlueGreen`  
*Obbligatorio:* sì  
`Properties`  
Proprietà dell’hook.  
*Obbligatorio:* sì    
`TrafficRoutingConfig`  
Impostazioni di configurazione dell’instradamento del traffico.  
*Obbligatorio:* no  
La configurazione predefinita è lo spostamento del traffico canary basato sul tempo, con una percentuale di fasi del 15% e un tempo di cottura di cinque minuti.    
`Type`  
Tipo di spostamento del traffico utilizzato dalla configurazione di distribuzione.  
Valori validi: \$1 \$1 AllAtOnce TimeBasedCanary TimeBasedLinear  
*Obbligatorio:* sì    
`TimeBasedCanary`  
Specifica una configurazione che sposta il traffico da una versione della distribuzione a un’altra con due incrementi.  
*Obbligatorio*: condizionale: se si specifica `TimeBasedCanary` come tipo di instradamento del traffico, è necessario includere il parametro `TimeBasedCanary`.    
`StepPercentage`  
Percentuale di traffico da spostare nel primo incremento di una distribuzione `TimeBasedCanary`. La percentuale di fasi deve essere pari o superiore al 14%.  
*Obbligatorio:* no  
`BakeTimeMins`  
Numero di minuti tra il primo e il secondo spostamento di traffico di una distribuzione `TimeBasedCanary`.  
*Obbligatorio:* no  
`TimeBasedLinear`  
Specifica una configurazione che sposta il traffico da una versione della distribuzione a un’altra con incrementi uguali, con un numero uguale di minuti tra ciascun incremento.  
*Obbligatorio*: condizionale: se si specifica `TimeBasedLinear` come tipo di instradamento del traffico, è necessario includere il parametro `TimeBasedLinear`.    
`StepPercentage`  
Percentuale di traffico spostata all’inizio di ogni incremento di una distribuzione `TimeBasedLinear`. La percentuale di fasi deve essere pari o superiore al 14%.  
*Obbligatorio:* no  
`BakeTimeMins`  
Numero di minuti tra ogni spostamento incrementale del traffico di una distribuzione `TimeBasedLinear`.  
*Obbligatorio:* no  
`AdditionalOptions`  
Opzioni aggiuntive per la blue/green distribuzione.  
*Obbligatorio:* no    
`TerminationWaitTimeInMinutes`  
Specifica il tempo di attesa, in minuti, prima di terminare le risorse blu.  
*Obbligatorio:* no  
`LifecycleEventHooks`  
Usa gli hook degli eventi del ciclo di vita per specificare una funzione Lambda che CodeDeploy può chiamare per convalidare una distribuzione. Puoi utilizzare la stessa funzione o un’altra per gli eventi del ciclo di vita di distribuzione. Dopo il completamento dei test di convalida, la funzione `AfterAllowTraffic` Lambda CodeDeploy richiama e fornisce il risultato `Succeeded` di o. `Failed` *Per ulteriori informazioni, consulta la [sezione AppSpec 'hook'](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html) nella Guida per l'AWS CodeDeploy utente.*  
*Obbligatorio:* no    
`BeforeInstall`  
Funzione utilizzata per eseguire attività prima della creazione del set di attività di sostituzione.  
*Obbligatorio:* no  
`AfterInstall`  
Funzione utilizzata per eseguire attività dopo che il set di attività di sostituzione è stato creato e a esso è stato associato uno dei gruppi target.  
*Obbligatorio:* no  
`AfterAllowTestTraffic`  
Funzione utilizzata per eseguire attività dopo che il listener di test ha indirizzato il traffico verso il set di attività di sostituzione.  
*Obbligatorio:* no  
`BeforeAllowTraffic`  
Funzione utilizzata per eseguire attività dopo che il secondo gruppo target è stato associato al set di attività di sostituzione, ma prima che il traffico venga reindirizzato al set di attività di sostituzione.  
*Obbligatorio:* no  
`AfterAllowTraffic`  
Funzione utilizzata per eseguire attività dopo che il secondo gruppo target ha indirizzato il traffico verso il set di attività di sostituzione.  
*Obbligatorio:* no  
`ServiceRole`  
Il ruolo di esecuzione CloudFormation da utilizzare per eseguire le distribuzioni blu-verdi. Per un elenco delle autorizzazioni necessarie, consulta [Autorizzazioni IAM per le distribuzioni blue/green](about-blue-green-deployments.md#blue-green-iam).  
*Obbligatorio:* no  
`Applications`  
Specifica le proprietà dell’applicazione Amazon ECS.  
*Obbligatorio:* sì    
`Target`  
  
*Obbligatorio:* sì    
`Type`  
Il tipo di risorsa.  
*Obbligatorio:* sì  
`LogicalID`  
L’ID logico della risorsa.  
*Obbligatorio:* sì  
`ECSAttributes`  
Le risorse che rappresentano i vari requisiti della distribuzione dell’applicazione Amazon ECS.  
*Obbligatorio:* sì    
`TaskDefinitions`  
ID logico della risorsa [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskdefinition.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskdefinition.html) per eseguire il container Docker che contiene l’applicazione Amazon ECS.  
*Obbligatorio:* sì  
`TaskSets`  
La logica IDs delle [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskset.html)risorse da utilizzare come set di attività per l'applicazione.  
*Obbligatorio:* sì  
`TrafficRouting`  
Specifica le risorse utilizzate per l’instradamento del traffico.  
*Obbligatorio:* sì    
`ProdTrafficRoute`  
Il listener che viene utilizzato dal load balancer per indirizzare il traffico verso i gruppi target.  
*Obbligatorio:* sì    
`Type`  
Il tipo di risorsa. `AWS::ElasticLoadBalancingV2::Listener`  
*Obbligatorio:* sì  
`LogicalID`  
L’ID logico della risorsa.  
*Obbligatorio:* sì  
`TestTrafficRoute`  
Il listener che viene utilizzato dal load balancer per indirizzare il traffico verso i gruppi target.  
*Obbligatorio:* sì    
`Type`  
Il tipo di risorsa. `AWS::ElasticLoadBalancingV2::Listener`  
*Obbligatorio:* sì  
`LogicalID`  
L’ID logico della risorsa.  
*Obbligatorio:* no  
`TargetGroups`  
ID logico delle risorse da utilizzare come target per instradare il traffico al target registrato.  
*Obbligatorio:* sì