

# Exemplos do EventBridge usando o AWS CLI
<a name="cli_eventbridge_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com EventBridge.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

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

O código de exemplo a seguir mostra como usar `delete-rule`.

**AWS CLI**  
**Como excluir uma regra do CloudWatch Events**  
Este exemplo exclui a regra chamada EC2InstanceStateChanges:  

```
aws events delete-rule --name "EC2InstanceStateChanges"
```
+  Consulte detalhes da API em [DeleteRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/delete-rule.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `describe-rule`.

**AWS CLI**  
**Como exibir informações sobre uma regra do CloudWatch Events**  
O exemplo a seguir exibe informações sobre a regra chamada DailyLambdaFunction:  

```
aws events describe-rule --name "DailyLambdaFunction"
```
+  Consulte detalhes da API em [DescribeRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/describe-rule.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `disable-rule`.

**AWS CLI**  
**Como desativar uma regra do CloudWatch Events**  
Este exemplo desabilita a regra chamada DailyLambdaFunction. A regra não é excluída:  

```
aws events disable-rule --name "DailyLambdaFunction"
```
+  Consulte detalhes da API em [DisableRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/disable-rule.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `enable-rule`.

**AWS CLI**  
**Para habilitar uma regra do CloudWatch Events**  
Este exemplo habilita a regra chamada DailyLambdaFunction, que foi desabilitada anteriormente:  

```
aws events enable-rule --name "DailyLambdaFunction"
```
+  Consulte detalhes da API em [EnableRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/enable-rule.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-rule-names-by-target`.

**AWS CLI**  
**Como exibir todas as regras que têm um destino especificado**  
Este exemplo exibe todas as regras que têm a função do Lambda chamada “MyFunctionName” como destino:  

```
aws events list-rule-names-by-target --target-arn "arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"
```
+  Consulte detalhes da API em [ListRuleNamesByTarget](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/list-rule-names-by-target.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-rules`.

**AWS CLI**  
**Como exibir uma lista de todas as regras do CloudWatch Events**  
Este exemplo exibe todas as regras do CloudWatch Events na região:  

```
aws events list-rules
```
**Como exibir uma lista de regras do CloudWatch Events que começam com uma determinada string.**  
Este exemplo exibe todas as regras do CloudWatch Events na região que têm um nome que começa com “Daily”:  

```
aws events list-rules --name-prefix "Daily"
```
+  Consulte detalhes da API em [ListRules](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/list-rules.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-targets-by-rule`.

**AWS CLI**  
**Como exibir todos os destinos de uma regra do CloudWatch Events**  
O exemplo a seguir exibe todos os destinos da regra chamada DailyLambdaFunction:  

```
aws events list-targets-by-rule --rule  "DailyLambdaFunction"
```
+  Consulte detalhes da API em [ListTargetsByRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/list-targets-by-rule.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `put-events`.

**AWS CLI**  
**Como enviar um evento personalizado ao CloudWatch Events**  
Este exemplo envia um evento personalizado ao CloudWatch Events. O evento está contido no arquivo putevents.json:  

```
aws events put-events --entries file://putevents.json
```
Veja a seguir o conteúdo do arquivo putevent.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"
   }
]
```
+  Consulte detalhes da API em [PutEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/put-events.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `put-rule`.

**AWS CLI**  
**Como criar regras do CloudWatch Events**  
Este exemplo cria uma regra que é acionada todos os dias, às 9h UTC. Se você usar put-targets para adicionar uma função do Lambda como destino dessa regra, poderá executar a função do Lambda todos os dias no horário especificado:  

```
aws events put-rule --name "DailyLambdaFunction" --schedule-expression "cron(0 9 * * ? *)"
```
Este exemplo cria uma regra que é acionada quando qualquer instância do EC2 na região muda 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"
```
Este exemplo cria uma regra que é acionada quando qualquer instância do EC2 na região é interrompida ou encerrada:  

```
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"
```
+  Consulte detalhes da API em [PutRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/put-rule.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `put-targets`.

**AWS CLI**  
**Como adicionar destinos às regras do CloudWatch Events**  
Este exemplo adiciona uma função do Lambda como o destino de uma regra:  

```
aws events put-targets --rule DailyLambdaFunction --targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"
```
Este exemplo define um fluxo do Amazon Kinesis como o destino. Desta forma, os eventos capturados pela regra são retransmitidos para o fluxo:  

```
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"
```
Este exemplo define dois fluxos do Amazon Kinesis como destinos de uma regra:  

```
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"
```
+  Consulte detalhes da API em [PutTargets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/put-targets.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `remove-targets`.

**AWS CLI**  
**Como remover um destino de um evento**  
Este exemplo remove o fluxo MyStream1 do Amazon Kinesis para que não seja um destino da regra DailyLambdaFunction. Quando DailyLambdaFunction foi criado, esse fluxo foi definido como um destino com o ID de Target1:  

```
aws events remove-targets --rule "DailyLambdaFunction" --ids "Target1"
```
+  Consulte detalhes da API em [RemoveTargets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/remove-targets.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `test-event-pattern`.

**AWS CLI**  
**Verificar se um padrão de evento corresponde a um evento especificado**  
Este exemplo testa se o padrão “source:com.mycompany.myapp” corresponde ao evento especificado. Neste exemplo, o resultado seria “verdadeiro”:  

```
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 ver detalhes da API, consulte [TestEventPattern](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/test-event-pattern.html) na *Referência de comandos da AWS CLI*. 