Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o 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.
Tópicos
Ações
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"
-
Para obter detalhes da API, consulte DeleteRule
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte DescribeRule
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte DisableRule
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte EnableRule
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte ListRuleNamesByTarget
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte ListRules
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte ListTargetsByRule
na Referência de comandos da AWS CLI.
-
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" } ]
-
Para obter detalhes da API, consulte PutEvents
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte PutRule
na Referência de comandos da AWS CLI.
-
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"-
Para obter detalhes da API, consulte PutTargets
na Referência de comandos da AWS CLI.
-
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"
-
Para obter detalhes da API, consulte RemoveTargets
na Referência de comandos da AWS CLI.
-
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
na Referência de comandos da AWS CLI.
-