EventBridge 사용 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

EventBridge 사용 예제 AWS CLI

다음 코드 예제에서는 AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 EventBridge.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 delete-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

CloudWatch 이벤트 규칙을 삭제하려면

이 예제에서는 라는 규칙을 삭제합니다EC2InstanceStateChanges.

aws events delete-rule --name "EC2InstanceStateChanges"
  • 자세한 API 내용은 명령 참조DeleteRule의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 describe-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

CloudWatch 이벤트 규칙에 대한 정보를 표시하려면

이 예제에서는 라는 규칙에 대한 정보를 표시합니다 DailyLambdaFunction.

aws events describe-rule --name "DailyLambdaFunction"
  • 자세한 API 내용은 명령 참조DescribeRule의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 disable-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

CloudWatch 이벤트 규칙을 비활성화하려면

이 예제에서는 라는 규칙을 비활성화합니다 DailyLambdaFunction. 규칙이 삭제되지는 않습니다.

aws events disable-rule --name "DailyLambdaFunction"
  • 자세한 API 내용은 명령 참조DisableRule의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 enable-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

CloudWatch 이벤트 규칙을 활성화하려면

이 예제에서는 이전에 비활성화 DailyLambdaFunction된 이라는 규칙을 활성화합니다.

aws events enable-rule --name "DailyLambdaFunction"
  • 자세한 API 내용은 명령 참조EnableRule의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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"

다음 코드 예시에서는 list-rules을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 CloudWatch 이벤트 규칙 목록을 표시하려면

이 예제는 리전의 모든 CloudWatch 이벤트 규칙을 표시합니다.

aws events list-rules

특정 문자열로 시작하는 CloudWatch 이벤트 규칙 목록을 표시합니다.

이 예제에서는 이름이 “일일”로 시작하는 리전의 모든 CloudWatch 이벤트 규칙을 표시합니다.

aws events list-rules --name-prefix "Daily"
  • 자세한 API 내용은 명령 참조ListRules의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-targets-by-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

CloudWatch 이벤트 규칙의 모든 대상을 표시하려면

이 예제에서는 라는 규칙의 모든 대상을 표시합니다 DailyLambdaFunction.

aws events list-targets-by-rule --rule "DailyLambdaFunction"
  • 자세한 API 내용은 명령 참조ListTargetsByRule의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조PutEvents의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 put-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

CloudWatch 이벤트 규칙을 생성하려면

이 예제에서는 매일 오전 9시()에 트리거되는 규칙을 생성합니다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 내용은 명령 참조PutRule의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조PutTargets의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 remove-targets을 사용하는 방법을 보여 줍니다.

AWS CLI

이벤트 대상을 제거하는 방법

이 예제에서는 MyStream1이라는 Amazon Kinesis 스트림을 규칙의 대상으로서 제거합니다 DailyLambdaFunction. DailyLambdaFunction 이 생성되면 이 스트림은 ID가 Target1인 대상으로 설정되었습니다.

aws events remove-targets --rule "DailyLambdaFunction" --ids "Target1"
  • 자세한 API 내용은 명령 참조RemoveTargets의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조TestEventPattern의 섹션을 참조하세요. AWS CLI