반응형
node.js에서 지원하는 AWS Lambda 함수를 사용하여 SNS 주제에 메시지를 게시 할 수 있습니까?
node.js에서 지원하는 AWS Lambda 함수를 사용하여 SNS 주제에 메시지를 게시 할 수 있습니까?
예, SNS 주제에 게시하는 Lambda 함수를 작성할 수 있습니다. Lambda에서 실행되는 코드는 함수가 사용 하는 모든 Java 용 AWS SDK 또는 Javascript에 액세스 할 수 있습니다. 함수를 실행하는 IAM 역할에 주제에 대한 게시 권한을 부여했는지 확인하기 만하면됩니다. 자바 스크립트에서 :
console.log("Loading function");
var AWS = require("aws-sdk");
exports.handler = function(event, context) {
var eventText = JSON.stringify(event, null, 2);
console.log("Received event:", eventText);
var sns = new AWS.SNS();
var params = {
Message: eventText,
Subject: "Test SNS From Lambda",
TopicArn: "arn:aws:sns:us-west-2:123456789012:test-topic1"
};
sns.publish(params, context.done);
};
Lambda 함수를 사용하여 SNS 메시지를 처리 할 수도 있습니다. Lambda 콘솔 의 Lambda 함수 생성 버튼을 sns-message
통해 제공되는 함수 청사진을 살펴볼 수 있습니다 .
먼저 적절한 Lambda IAM role
.NET을 사용하여에 게시 할 수있는 권한 을 부여해야합니다 .SNS topic
IAM policy
{
"Action" : [
"sns:Publish",
"sns:Subscribe"
],
"Effect" : "Allow",
"Resource" : [
{ "Ref" : "<your SNS topic ARN>" }
]
}
그런 다음에 다음과 같은 코드를 사용할 수 있습니다 SNS publish
당신에게 SNS topic
다른에서 Lambda
또는 Node.js
코드입니다.
var message = {};
var sns = new AWS.SNS();
sns.publish({
TopicArn: "<your SNS topic ARN>",
Message: JSON.stringify(message)
}, function(err, data) {
if(err) {
console.error('error publishing to SNS');
context.fail(err);
} else {
console.info('message published to SNS');
context.succeed(null, data);
}
});
반응형
'IT Share you' 카테고리의 다른 글
Jenkins에서 프로젝트를 특정 디렉터리로 체크 아웃하는 방법 (GIT 사용) (0) | 2020.12.10 |
---|---|
파이썬 문자열에서 쉼표를 제거하는 방법 (0) | 2020.12.10 |
Docker에서 여러 터미널을 여는 방법은 무엇입니까? (0) | 2020.12.10 |
ListBox.items를 일반 목록으로 변환하는 가장 간결한 방법 (0) | 2020.12.10 |
Python 3.1에서 문자열의 HTML 엔티티를 어떻게 이스케이프 해제합니까? (0) | 2020.12.09 |