쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon CloudWatch Events에 이벤트 전송 - AWS SDK for JavaScript

곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

Amazon CloudWatch Events에 이벤트 전송

JavaScript code example that applies to Node.js execution

이 Node.js 코드 예제는 다음을 보여 줍니다.

  • 이벤트를 트리거하는 데 사용되는 규칙을 생성하고 업데이트하는 방법.

  • 이벤트에 응답할 하나 이상의 대상을 정의하는 방법.

  • 처리를 위해 대상과 일치하는 이벤트를 전송하는 방법.

시나리오

CloudWatch Events는 다양한 대상으로의 Amazon Web Services 리소스 변경 사항을 설명하는 시스템 이벤트의 스트림을 거의 실시간으로 전달합니다. 단순한 규칙을 사용하여 이벤트를 하나 이상의 대상 함수 또는 스트림에 일치시키고 라우팅할 수 있습니다.

이 예제에서는 일련의 Node.js 모듈을 사용하여 이벤트를 CloudWatch Events에 전송합니다. Node.js 모듈은 SDK for JavaScript로 CloudWatchEvents 클라이언트 클래스의 다음 메서드를 사용하여 인스턴스를 관리합니다.

CloudWatch Events에 대한 자세한 내용은 Amazon CloudWatch Events 사용 설명서PutEvents로 이벤트 추가를 참조하세요.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.

IAM 역할을 생성할 때 다음 역할 정책을 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchEventsFullAccess", "Effect": "Allow", "Action": "events:*", "Resource": "*" }, { "Sid": "IAMPassRoleForCloudWatchEvents", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/AWS_Events_Invoke_Targets" } ] }

IAM 역할을 생성할 때 다음과 같은 신뢰 관계를 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

예약된 규칙 생성

파일 이름이 cwe_putrule.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. CloudWatch Events에 액세스하려면 AWS.CloudWatchEvents 서비스 객체를 생성합니다. 새로운 예약 규칙을 지정하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 다음이 포함됩니다.

  • 규칙의 이름입니다

  • 이전에 생성한 IAM 역할의 ARN

  • 5분마다 규칙 트리거링을 예약할 표현식

putRule 메서드를 호출하여 규칙을 생성합니다. 콜백은 새로운 규칙 또는 업데이트된 규칙의 ARN을 반환합니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatchEvents service object var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" }); var params = { Name: "DEMO_EVENT", RoleArn: "IAM_ROLE_ARN", ScheduleExpression: "rate(5 minutes)", State: "ENABLED", }; cwevents.putRule(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.RuleArn); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node cwe_putrule.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

AWS Lambda 함수 대상 추가

파일 이름이 cwe_puttargets.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. CloudWatch Events에 액세스하려면 AWS.CloudWatchEvents 서비스 객체를 생성합니다. 생성한 Lambda 함수의 ARN을 포함하여 대상에 연결할 규칙을 지정하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. AWS.CloudWatchEvents 서비스 객체의 putTargets 메서드를 호출합니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatchEvents service object var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" }); var params = { Rule: "DEMO_EVENT", Targets: [ { Arn: "LAMBDA_FUNCTION_ARN", Id: "myCloudWatchEventsTarget", }, ], }; cwevents.putTargets(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node cwe_puttargets.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

이벤트 전송

파일 이름이 cwe_putevents.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. CloudWatch Events에 액세스하려면 AWS.CloudWatchEvents 서비스 객체를 생성합니다. 이벤트를 전송하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이벤트마다 해당 이벤트의 소스, 해당 이벤트의 영향을 받은 모든 리소스의 ARN, 해당 이벤트의 세부 정보를 포함시킵니다. AWS.CloudWatchEvents 서비스 객체의 putEvents 메서드를 호출합니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatchEvents service object var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" }); var params = { Entries: [ { Detail: '{ "key1": "value1", "key2": "value2" }', DetailType: "appRequestSubmitted", Resources: ["RESOURCE_ARN"], Source: "com.company.app", }, ], }; cwevents.putEvents(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Entries); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node cwe_putevents.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.