

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

# Avvia una pipeline in base a una pianificazione
<a name="pipelines-trigger-source-schedule"></a>

È possibile impostare una regola EventBridge per avviare una pipeline in base a una pianificazione. 

## Crea una EventBridge regola che pianifichi l'avvio della pipeline (console)
<a name="pipelines-trigger-source-schedule-console"></a>

**Per creare una EventBridge regola con una pianificazione come origine dell'evento**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel riquadro di navigazione, scegli **Regole**.

1. Scegli **Crea regola**, quindi in **Dettagli della regola**, scegli **Pianifica**.

1. Configurare la pianificazione utilizzando una frequenza o espressione fissa. Per informazioni, consulta la sezione relativa alla [pianificazione dell'espressione per regole](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).

1. In **Obiettivi**, scegli **CodePipeline**.

1. Immettere l'ARN della pipeline per l'esecuzione della pipeline per questa pianificazione.
**Nota**  
Puoi trovare l'ARN della pipeline in **Impostazioni** nella console. Per informazioni, consulta [Visualizza l'ARN della pipeline e l'ARN del ruolo di servizio (console)](pipelines-settings-console.md).

1. Scegli una delle seguenti opzioni per creare o specificare un ruolo del servizio IAM che dia EventBridge le autorizzazioni per richiamare la destinazione associata alla tua EventBridge regola (in questo caso, la destinazione è). CodePipeline 
   + Scegli **Crea un nuovo ruolo per questa risorsa specifica per** creare un ruolo di servizio che conceda le EventBridge autorizzazioni per avviare le esecuzioni della pipeline.
   + Scegli **Usa il ruolo esistente per inserire un ruolo** di servizio che concede le EventBridge autorizzazioni per avviare le esecuzioni della pipeline.

1. Scegli **Configura dettagli**.

1. Nella pagina **Configure rule details (Configura dettagli della regola)**, immetti un nome e una descrizione per la regola e quindi scegli **State (Stato)** per abilitare la regola.

1. Se la regola ti soddisfa, scegli **Create rule** (Crea regola).

## Crea una EventBridge regola che pianifichi l'avvio della pipeline (CLI)
<a name="pipelines-trigger-source-schedule-cli"></a>

 

Per utilizzare la AWS CLI per creare una regola, chiamate il **put-rule** comando, specificando:
+ Un nome che identifica in modo univoco la regola che stai creando. Questo nome deve essere univoco in tutte le pipeline che crei e CodePipeline associate al tuo AWS account.
+ L'espressione di pianificazione per la regola.

**Per creare una EventBridge regola con una pianificazione come origine dell'evento**

1. Chiama il comando **put-rule** e includi i parametri `--name ` e `--schedule-expression`.

   Esempi:

   Il seguente comando di esempio utilizza la creazione **--schedule-expression** di una regola denominata `MyRule2` che filtra EventBridge in base a una pianificazione.

   ```
   aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
   ```

1. Per aggiungere CodePipeline come destinazione, chiamate il **put-targets** comando e includete i seguenti parametri:
   + Il parametro `--rule` viene utilizzato con il `rule_name` che hai creato utilizzando **put-rule**. 
   + Il parametro `--targets` viene utilizzato con l'`Id` elenco della destinazione nell'elenco delle destinazioni e l'`ARN` della pipeline di destinazione.

   Il comando di esempio seguente specifica che per la regola denominata `MyCodeCommitRepoRule`, la destinazione `Id` è composta dal numero uno, per indicare che in un elenco di destinazioni per la regola questa è la destinazione 1. Il comando di esempio specifica anche un esempio di `ARN` per la pipeline. La pipeline si avvia quando si verifica una modifica nel repository.

   ```
   aws events put-targets --rule MyCodeCommitRepoRule --targets Id=1,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline
   ```

1. Concedi le autorizzazioni EventBridge da utilizzare per CodePipeline richiamare la regola. Per ulteriori informazioni, consulta [Utilizzo delle politiche basate sulle risorse per Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html). EventBridge

   1. Utilizzare l'esempio seguente per creare la policy di trust per consentire a EventBridge di assumere il ruolo del servizio. Denominalo `trustpolicyforEB.json`.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "events.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. Utilizza il seguente comando per creare il ruolo `Role-for-MyRule` e collegare la policy di attendibilità.

      ```
      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
      ```

   1. Crea il JSON della policy delle autorizzazioni come mostrato in questo esempio per la pipeline denominata `MyFirstPipeline`. Denomina la policy delle autorizzazioni `permissionspolicyforEB.json`.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "codepipeline:StartPipelineExecution"
                  ],
                  "Resource": [
                      "arn:aws:codepipeline:us-west-2:111122223333:MyFirstPipeline"
                  ]
              }
          ]
      }
      ```

------

   1. Utilizza il comando seguente per collegare la nuova policy delle autorizzazioni `CodePipeline-Permissions-Policy-for-EB` al ruolo `Role-for-MyRule` che hai creato.

      ```
      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json
      ```