

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.

# Inicio de una canalización según una programación
<a name="pipelines-trigger-source-schedule"></a>

Puedes configurar una regla EventBridge para iniciar una canalización según un cronograma. 

## Crea una EventBridge regla que programe el inicio de tu canalización (consola)
<a name="pipelines-trigger-source-schedule-console"></a>

**Para crear una EventBridge regla con una programación como origen del evento**

1. Abre la EventBridge consola de Amazon en [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. En el panel de navegación, seleccione **Reglas**.

1. Elija **Crear regla** y, a continuación, en **Detalle de regla**, elija **Programación**.

1. Configure la programación utilizando un intervalo o una expresión establecidos. Para obtener más información, consulte [Programar expresiones para reglas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).

1. En **Targets**, elija **CodePipeline**.

1. Introduzca el ARN de canalización para la ejecución de la canalización.
**nota**  
Puede encontrar el ARN de la canalización en **Configuración** de la consola. Consulte [Ver el ARN de la canalización y el ARN del rol de servicio (consola)](pipelines-settings-console.md).

1. Elija una de las siguientes opciones para crear o especificar un rol de servicio de IAM que EventBridge otorgue permisos para invocar el destino asociado a su EventBridge regla (en este caso, el objetivo es CodePipeline). 
   + Seleccione **Crear un nuevo rol para este recurso específico** para crear un rol de servicio que otorgue EventBridge permisos para iniciar las ejecuciones de su canalización.
   + Selecciona **Usar el rol existente** para introducir un rol de servicio que otorgue EventBridge permisos para iniciar las ejecuciones de tu canalización.

1. Seleccione **Configurar los detalles**.

1. En la página **Configure rule details (Configurar detalles de regla)**, escriba un nombre y una descripción para la regla y, a continuación, elija **State (Estado)** para habilitarla.

1. Si está satisfecho con la regla, elija **Create rule (Crear regla)**.

## Crea una EventBridge regla que programe el inicio de tu canalización (CLI)
<a name="pipelines-trigger-source-schedule-cli"></a>

 

Para usar la AWS CLI para crear una regla, ejecuta el **put-rule** comando y especifica:
+ Un nombre que identifique de forma inequívoca la regla que está creando. Este nombre debe ser único en todas las canalizaciones que crees CodePipeline asociadas a tu AWS cuenta.
+ La expresión de programación para la regla.

**Para crear una EventBridge regla con un cronograma como origen del evento**

1. Llame al comando **put-rule** e incluya los parámetros `--name ` y `--schedule-expression`.

   Ejemplos:

   El siguiente comando de ejemplo se utiliza **--schedule-expression** para crear una regla denominada `MyRule2` que filtra EventBridge según una programación.

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

1. Para CodePipeline añadirla como destino, ejecute el **put-targets** comando e incluya los siguientes parámetros:
   + El parámetro `--rule` se usa con el `rule_name` que creó con el comando **put-rule**. 
   + El parámetro `--targets` se usa con el `Id` del destino de la lista de destinos y el `ARN` de la canalización de destino.

   El siguiente comando de muestra especifica que, para la regla denominada `MyCodeCommitRepoRule`, el destino `Id` se compone del número uno, lo que indica que, en lo que puede ser una lista de destinos de la regla, se trata del destino 1. El comando de muestra también especifica un `ARN` de ejemplo para la canalización. La canalización se inicia cuando se produce algún cambio en el repositorio.

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

1. Otorgue permisos EventBridge para utilizarlos CodePipeline para invocar la regla. Para obtener más información, consulta [Uso de políticas basadas en recursos para Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html). EventBridge

   1. Utilice el siguiente ejemplo para crear la política de confianza que permite que EventBridge asuma el rol de servicio. Denomínelo `trustpolicyforEB.json`.

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

****  

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

------

   1. Utilice el comando para crear el rol `Role-for-MyRule` y asocie la política de confianza.

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

   1. Cree el JSON de la política de permisos tal y como se muestra en este ejemplo para la canalización denominada `MyFirstPipeline`. Ponga un nombre a la política de permisos `permissionspolicyforEB.json`.

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

****  

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

------

   1. Utilice el siguiente comando para asociar la nueva política de permisos `CodePipeline-Permissions-Policy-for-EB` al rol `Role-for-MyRule` que ha creado.

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