

# Ejemplos de EventBridge que utilizan la AWS CLI
<a name="cli_eventbridge_code_examples"></a>

En el siguiente ejemplo de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con EventBridge.

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

### `delete-rule`
<a name="eventbridge_DeleteRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-rule`.

**AWS CLI**  
**Eliminación de una regla de Eventos de CloudWatch**  
En este ejemplo, se elimina la regla denominada EC2InstanceStateChanges:  

```
aws events delete-rule --name "EC2InstanceStateChanges"
```
+  Para obtener información sobre la API, consulte [DeleteRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/delete-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-rule`
<a name="eventbridge_DescribeRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-rule`.

**AWS CLI**  
**Visualización de información sobre una regla de Eventos de CloudWatch**  
En este ejemplo, se muestra información acerca de la regla denominada DailyLambdaFunction:  

```
aws events describe-rule --name "DailyLambdaFunction"
```
+  Para obtener información sobre la API, consulte [DescribeRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/describe-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `disable-rule`
<a name="eventbridge_DisableRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `disable-rule`.

**AWS CLI**  
**Desactivación de una regla de Eventos de CloudWatch**  
En este ejemplo se deshabilita la regla denominada DailyLambdaFunction. La regla no se elimina:  

```
aws events disable-rule --name "DailyLambdaFunction"
```
+  Para obtener información sobre la API, consulte [DisableRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/disable-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `enable-rule`
<a name="eventbridge_EnableRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `enable-rule`.

**AWS CLI**  
**Activación de una regla de Eventos de CloudWatch**  
En este ejemplo se habilita la regla denominada DailyLambdaFunction, que estaba deshabilitada anteriormente:  

```
aws events enable-rule --name "DailyLambdaFunction"
```
+  Para obtener información sobre la API, consulte [EnableRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/enable-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-rule-names-by-target`
<a name="eventbridge_ListRuleNamesByTarget_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `list-rule-names-by-target`.

**AWS CLI**  
**Visualización de una lista de todas las reglas que tienen un destino especificado**  
En este ejemplo, se muestran todas las reglas que tienen como destino la función de Lambda denominada "MyFunctionName":  

```
aws events list-rule-names-by-target --target-arn "arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"
```
+  Para obtener información sobre la API, consulte [ListRuleNamesByTarget](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/list-rule-names-by-target.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-rules`
<a name="eventbridge_ListRules_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `list-rules`.

**AWS CLI**  
**Visualización de una lista de todas las reglas de Eventos de CloudWatch**  
En este ejemplo se muestran todas las reglas de Eventos de CloudWatch de la región:  

```
aws events list-rules
```
**Visualización de una lista de reglas de Eventos de CloudWatch que comiencen por una cadena determinada.**  
En este ejemplo se muestran todas las reglas de Eventos de CloudWatch de la región cuyo nombre comience por "Diario":  

```
aws events list-rules --name-prefix "Daily"
```
+  Para obtener información sobre la API, consulte [ListRules](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/list-rules.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-targets-by-rule`
<a name="eventbridge_ListTargetsByRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `list-targets-by-rule`.

**AWS CLI**  
**Visualización de todos los destinos de una regla de Eventos de CloudWatch**  
En este ejemplo, se muestran todos los destinos de la regla denominada DailyLambdaFunction:  

```
aws events list-targets-by-rule --rule  "DailyLambdaFunction"
```
+  Para obtener información sobre la API, consulte [ListTargetsByRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/list-targets-by-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `put-events`
<a name="eventbridge_PutEvents_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-events`.

**AWS CLI**  
**Envío de un evento personalizado a Eventos de CloudWatch**  
En este ejemplo se envía un evento personalizado a Eventos de CloudWatch. El evento está incluido en el archivo putevents.json:  

```
aws events put-events --entries file://putevents.json
```
Este es el contenido del archivo putevents.json:  

```
[
  {
    "Source": "com.mycompany.myapp",
    "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }",
    "Resources": [
      "resource1",
      "resource2"
    ],
    "DetailType": "myDetailType"
  },
  {
    "Source": "com.mycompany.myapp",
    "Detail": "{ \"key1\": \"value3\", \"key2\": \"value4\" }",
    "Resources": [
      "resource1",
      "resource2"
    ],
    "DetailType": "myDetailType"
   }
]
```
+  Para obtener información sobre la API, consulte [PutEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/put-events.html) en la *Referencia de comandos de la AWS CLI*. 

### `put-rule`
<a name="eventbridge_PutRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-rule`.

**AWS CLI**  
**Creación de las reglas de Eventos de CloudWatch**  
Este ejemplo crea una regla que se activa cada día a las 9:00 (UTC). Si utiliza put-targets para añadir una función de Lambda como destino de esta regla, puede ejecutar la función de Lambda todos los días a la hora especificada:  

```
aws events put-rule --name "DailyLambdaFunction" --schedule-expression "cron(0 9 * * ? *)"
```
En este ejemplo se crea una regla que se activa cuando una instancia EC2 de la región cambia de estado:  

```
aws events put-rule --name "EC2InstanceStateChanges" --event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"]}"  --role-arn "arn:aws:iam::123456789012:role/MyRoleForThisRule"
```
En este ejemplo, se crea una regla que se activa cuando se detiene o se termina una instancia de EC2 de la región:  

```
aws events put-rule --name "EC2InstanceStateChangeStopOrTerminate" --event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"],\"detail\":{\"state\":[\"stopped\",\"terminated\"]}}" --role-arn "arn:aws:iam::123456789012:role/MyRoleForThisRule"
```
+  Para obtener información sobre la API, consulte [PutRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/put-rule.html) en la *Referencia del comando de la AWS CLI*. 

### `put-targets`
<a name="eventbridge_PutTargets_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-targets`.

**AWS CLI**  
**Adición de destinos a las reglas de Eventos de CloudWatch**  
En este ejemplo, se añade una función de Lambda como destino de una regla:  

```
aws events put-targets --rule DailyLambdaFunction --targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"
```
En este ejemplo, se establece una transmisión de Amazon Kinesis como destino, de modo que los eventos detectados por esta regla se retransmitan a la transmisión:  

```
aws events put-targets --rule EC2InstanceStateChanges --targets "Id"="1","Arn"="arn:aws:kinesis:us-east-1:123456789012:stream/MyStream","RoleArn"="arn:aws:iam::123456789012:role/MyRoleForThisRule"
```
En este ejemplo, se establecen dos transmisiones de Amazon Kinesis como destinos para una regla:  

```
aws events put-targets --rule DailyLambdaFunction --targets "Id"="Target1","Arn"="arn:aws:kinesis:us-east-1:379642911888:stream/MyStream1","RoleArn"="arn:aws:iam::379642911888:role/ MyRoleToAccessLambda"  "Id"="Target2"," Arn"="arn:aws:kinesis:us-east-1:379642911888:stream/MyStream2","RoleArn"="arn:aws:iam::379642911888:role/MyRoleToAccessLambda"
```
+  Para obtener información sobre la API, consulte [PutTargets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/put-targets.html) en la *Referencia de comandos de AWS CLI*. 

### `remove-targets`
<a name="eventbridge_RemoveTargets_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `remove-targets`.

**AWS CLI**  
**Eliminación de un destino de un evento**  
En este ejemplo se elimina el flujo de Amazon Kinesis denominado MyStream1 de ser un destino de la regla DailyLambdaFunction. Cuando se creó DailyLambdaFunction, este flujo se estableció como un destino con el ID de Target1:  

```
aws events remove-targets --rule "DailyLambdaFunction" --ids "Target1"
```
+  Para obtener información sobre la API, consulte [RemoveTargets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/remove-targets.html) en la *Referencia de comandos de la AWS CLI*. 

### `test-event-pattern`
<a name="eventbridge_TestEventPattern_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `test-event-pattern`.

**AWS CLI**  
**Para comprobar si un patrón de eventos coincide con un evento específico**  
En este ejemplo, se comprueba si el patrón source:com.mycompany.myapp coincide con el evento especificado. En este ejemplo, la salida sería true:  

```
aws events test-event-pattern --event-pattern "{\"source\":[\"com.mycompany.myapp\"]}" --event "{\"id\":\"1\",\"source\":\"com.mycompany.myapp\",\"detail-type\":\"myDetailType\",\"account\":\"123456789012\",\"region\":\"us-east-1\",\"time\":\"2017-04-11T20:11:04Z\"}"
```
+  Para obtener información sobre la API, consulte [TestEventPattern](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/test-event-pattern.html) en la *Referencia de comandos de la AWS CLI*. 