Esempi di EventBridge con AWS CLI - AWS Command Line Interface

Questa documentazione è valida solo per la Versione 1 della AWS CLI. Per la documentazione relativa alla versione 2 della AWS CLI, consulta la Guida per l’utente per la Versione 2.

Esempi di EventBridge con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con EventBridge.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare delete-rule.

AWS CLI

Per eliminare una regola di CloudWatch Events

Questo esempio elimina la regola denominata EC2InstanceStateChanges:

aws events delete-rule --name "EC2InstanceStateChanges"
  • Per informazioni dettagliate sulle API, consulta DeleteRule nel Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare describe-rule.

AWS CLI

Per visualizzare informazioni su una regola CloudWatch Events

Nell’esempio seguente vengono visualizzate informazioni sulla regola denominata DailyLambdaFunction:

aws events describe-rule --name "DailyLambdaFunction"
  • Per informazioni dettagliate sulle API, consulta DescribeRule nel Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare disable-rule.

AWS CLI

Disabilitare la regola di CloudWatch Events

Nell’esempio seguente viene disabilitata la regola denominata DailyLambdaFunction. La regola non viene eliminata:

aws events disable-rule --name "DailyLambdaFunction"
  • Per informazioni dettagliate sulle API, consulta DisableRule in Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare enable-rule.

AWS CLI

Per abilitare una regola di CloudWatch Events

Questo esempio abilita la regola denominata DailyLambdaFunction, che era stata precedentemente disabilitata:

aws events enable-rule --name "DailyLambdaFunction"
  • Per informazioni dettagliate sulle API, consulta EnableRule in Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-rule-names-by-target.

AWS CLI

Per visualizzare tutte le regole che hanno un obiettivo specificato

Questo esempio visualizza tutte le regole che hanno come destinazione la funzione Lambda denominata “MyFunctionName”:

aws events list-rule-names-by-target --target-arn "arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"
  • Per informazioni dettagliate sull’API, consulta ListRuleNamesByTarget nel Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-rules.

AWS CLI

Per visualizzare un elenco di tutte le regole di CloudWatch Events

Questo esempio mostra tutte le regole di CloudWatch Events nella regione:

aws events list-rules

Per visualizzare un elenco di regole di CloudWatch Events che iniziano con una determinata stringa.

Questo esempio visualizza tutte le regole CloudWatch Events nella regione il cui nome inizia con “Daily”:

aws events list-rules --name-prefix "Daily"
  • Per informazioni dettagliate sulle API, consulta ListRules nel Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-targets-by-rule.

AWS CLI

Per visualizzare tutte le destinazioni di una regola CloudWatch Events

Nell’esempio seguente vengono visualizzate tutte le destinazioni della regola denominata DailyLambdaFunction.

aws events list-targets-by-rule --rule "DailyLambdaFunction"
  • Per informazioni dettagliate sull’API, consulta ListTargetsByRule nel Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare put-events.

AWS CLI

Per inviare un evento personalizzato a CloudWatch Events

In questo esempio viene inviato un evento personalizzato a CloudWatch Events L’evento è contenuto nel file putevents.json:

aws events put-events --entries file://putevents.json

Visualizzare il contenuto del file 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" } ]
  • Per ulteriori informazioni sulle API, consulta PutEvents ne Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare put-rule.

AWS CLI

Per creare la regola CloudWatch Events

In questo esempio viene creata una regola attivata ogni giorno alle 9:00 UTC. Se usi put-targets per aggiungere una funzione Lambda come destinazione di questa regola, puoi eseguire la funzione Lambda ogni giorno all’ora specificata:

aws events put-rule --name "DailyLambdaFunction" --schedule-expression "cron(0 9 * * ? *)"

L’esempio seguente crea una regola che viene attivata quando lo stato di qualsiasi istanza EC2 nella regione cambia:

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"

In questo esempio viene creata una regola che si attiva quando un’istanza EC2 nella regione viene bloccata o terminata:

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"
  • Per ulteriori informazioni sulle API, consulta PutRule nel Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare put-targets.

AWS CLI

Per aggiungere destinazioni per le regole di CloudWatch Events

Nell’esempio seguente viene aggiunta una funzione Lambda come destinazione di una regola:

aws events put-targets --rule DailyLambdaFunction --targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"

Questo esempio imposta un flusso Amazon Kinesis come destinazione, in modo che gli eventi rilevati da questa regola vengano inoltrati allo stream:

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"

Questo esempio imposta due flussi Amazon Kinesis come destinazione per una regola:

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"
  • Per ulteriori informazioni sulle API, consulta PutTargets nella Documentazione di riferimento del comando AWS CLI.

L’esempio di codice seguente mostra come utilizzare remove-targets.

AWS CLI

Per rimuovere una destinazione per un evento

Questo esempio rimuove lo stream Amazon Kinesis denominato MyStream1 dalla destinazione della regola DailyLambdaFunction. Quando è stato creato DailyLambdaFunction, questo stream è stato impostato come destinazione con un ID Target1:

aws events remove-targets --rule "DailyLambdaFunction" --ids "Target1"
  • Per informazioni dettagliate sulle API, consulta RemoveTargets in Riferimento ai comandi AWS CLI.

L’esempio di codice seguente mostra come utilizzare test-event-pattern.

AWS CLI

Come verificare se un modello di evento corrisponde a un evento specificato

Questo esempio verifica se il modello “source:com.mycompany.myapp” corrisponde all’evento specificato. In questo esempio, l’output sarebbe “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\"}"
  • Per informazioni dettagliate sull’API, consulta la sezione TestEventPattern in AWS CLI Command Reference.