이 문서는 AWS CLI의 버전 1에만 해당합니다. AWS CLI의 버전 2와 관련된 문서는 버전 2 사용 설명서를 참조하세요.
AWS CLI를 사용한 EventBridge 예제
다음 코드 예제에서는 EventBridge에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여 줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 delete-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch Events 규칙을 삭제하는 방법
이 예시에서는 EC2InstanceStateChanges라는 규칙을 삭제합니다.
aws events delete-rule --name
"EC2InstanceStateChanges"
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteRule
을 참조하세요.
-
다음 코드 예시에서는 describe-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch 이벤트 규칙에 대한 정보를 표시하는 방법
이 예시에서는 DailyLambdaFunction이라는 규칙에 대한 정보를 표시합니다.
aws events describe-rule --name
"DailyLambdaFunction"
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeRule
을 참조하세요.
-
다음 코드 예시에서는 disable-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch 이벤트 규칙을 비활성화하는 방법
이 예시에서는 DailyLambdaFunction라는 규칙을 비활성화합니다. 규칙이 삭제되지는 않습니다.
aws events disable-rule --name
"DailyLambdaFunction"
-
API 세부 정보는 AWS CLI 명령 참조의 DisableRule
을 참조하세요.
-
다음 코드 예시에서는 enable-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch 이벤트 규칙을 활성화하는 방법
이 예시에서는 이전에 비활성화되었던 DailyLambdaFunction이라는 규칙을 활성화합니다.
aws events enable-rule --name
"DailyLambdaFunction"
-
API 세부 정보는 AWS CLI 명령 참조의 EnableRule
을 참조하세요.
-
다음 코드 예시에서는 list-rule-names-by-target
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 대상이 있는 모든 규칙을 표시하는 방법
이 예시에서는 이름이 'MyFunctionName'인 Lambda 함수를 대상으로 하는 모든 규칙을 표시합니다.
aws events list-rule-names-by-target --target-arn
"arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"
-
API 세부 정보는 AWS CLI 명령 참조의 ListRuleNamesByTarget
을 참조하세요.
-
다음 코드 예시에서는 list-rules
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
모든 CloudWatch 이벤트 규칙 목록을 표시하는 방법
이 예시에서는 해당 리전 내 모든 CloudWatch 이벤트 규칙을 표시합니다.
aws events list-rules
특정 문자열로 시작하는 CloudWatch 이벤트 규칙 목록을 표시하는 방법
이 예시에서는 이름이 'Daily'로 시작하는 해당 리전 내 모든 CloudWatch Events 규칙을 표시합니다.
aws events list-rules --name-prefix
"Daily"
-
API 세부 정보는 AWS CLI 명령 참조의 ListRules
를 참조하세요.
-
다음 코드 예시에서는 list-targets-by-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch 이벤트 규칙의 모든 대상을 표시하는 방법
이 예시에서는 DailyLambdaFunction이라는 규칙의 모든 대상을 표시합니다.
aws events list-targets-by-rule --rule
"DailyLambdaFunction"
-
API 세부 정보는 AWS CLI 명령 참조의 ListTargetsByRule
을 참조하세요.
-
다음 코드 예시에서는 put-events
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch 이벤트에 사용자 지정 이벤트를 전송하는 방법
이 예시에서는 CloudWatch 이벤트에 사용자 지정 이벤트를 전송합니다. 이벤트는 putevents.json 파일 내에 포함되어 있습니다.
aws events put-events --entries
file://putevents.json
putevents.json file 파일의 콘텐츠는 다음과 같습니다.
[ { "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" } ]
-
API 세부 정보는 AWS CLI 명령 참조의 PutEvents
를 참조하세요.
-
다음 코드 예시에서는 put-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch Events 규칙을 생성하는 방법
이 예시에서는 매일 오전 09:00(UTC)에 트리거되는 규칙을 생성합니다. put-targets를 사용하여 Lambda 함수를 이 규칙의 대상으로 추가하는 경우 매일 지정된 시간에 Lambda 함수를 실행할 수 있습니다.
aws events put-rule --name
"DailyLambdaFunction"
--schedule-expression"cron(0 9 * * ? *)"
이 예시에서는 리전 내 EC2 인스턴스가 상태가 변경될 때 트리거되는 규칙을 생성합니다.
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"
이 예시에서는 리전 내 EC2 인스턴스가 정지 또는 종료될 때 트리거되는 규칙을 생성합니다.
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"
-
API 세부 정보는 AWS CLI 명령 참조의 PutRule
을 참조하세요.
-
다음 코드 예시에서는 put-targets
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
CloudWatch 이벤트 규칙에 대상을 추가하는 방법
다음 예시에서는 Lambda 함수를 규칙 대상으로 추가합니다.
aws events put-targets --rule
DailyLambdaFunction
--targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"이 예시에서는 Amazon Kinesis 스트림을 대상으로 설정하여 이 규칙에 의해 포착된 이벤트가 스트림으로 전달되도록 합니다.
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"이 예시에서는 두 개의 Amazon Kinesis 스트림을 하나의 규칙 대상으로 설정합니다.
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"-
API 세부 정보는 AWS CLI 명령 참조의 PutTargets
를 참조하세요
-
다음 코드 예시에서는 remove-targets
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
이벤트 대상을 제거하는 방법
이 예시에서는 MyStream1이라는 이름의 Amazon Kinesis 스트림을 DailyLambdaFunction 규칙의 대상에서 제거합니다. DailyLambdaFunction을 생성할 때 이 스트림은 ID가 Target1인 대상으로 설정되었습니다.
aws events remove-targets --rule
"DailyLambdaFunction"
--ids"Target1"
-
API 세부 정보는 AWS CLI 명령 참조의 RemoveTargets
를 참조하세요.
-
다음 코드 예시에서는 test-event-pattern
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
이벤트 패턴이 지정된 이벤트와 일치하는지 확인하는 방법
이 예제에서는 패턴 'source:com.mycompany.myapp'이 지정된 이벤트와 일치하는지 테스트합니다. 이 예제에서 출력은 '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\"}"
-
API 세부 정보는 AWS CLI 명령 참조의 TestEventPattern
을 참조하세요.
-