2017-04-25 8 views
12

AWS에서 노드 SDK를 통해 SMS를 보내고 있습니다. SMS가 잘 전달되고 전달 정보를 얻으려고합니다. 분명히 그렇게 쉬운 일은 아니며 Cloudwatch에 로그를 보내고 MessageId를 조회하는 배달 정보를 얻기 위해 CloudWatch를 구문 분석하도록 SNS를 설정해야합니다. https://stackoverflow.com/a/40327061/2054629AWS SMS의 배달 상태 받기

SNS 웹 인터페이스를 통해 SMS를 보내면 로그를 볼 수 있습니다. 하지만 노드 SDK를 통해 전송할 때는 그렇지 않습니다. 노드에서 전송하기 전에 설정하는 방법에 대한 정보를 얻을 수 없었습니다. 현재 내가 가지고있는

const sendSMS = async (message, number) => { 
    // send the SMS 
    // wait to get delivery info 
    // resolve with delivery info, or reject if failed 
} 

:

이상적으로는, 내가 좋아하는 뭔가를 달성하려는 경우에만 AWS에 SMS 요청을 보내

{ 
    ResponseMetadata: { RequestId: '7e0999a3-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }, 
    MessageId: 'f7f21871-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 
} 
같은과 해결
import AWS from 'aws-sdk'; 

AWS.config.update({ 
    accessKeyId: accessKey, 
    secretAccessKey: secretKey, 
    region: 'us-east-1', 
}); 

const sns = new AWS.SNS(); 

const sendSMS = async (message, number) => { 
    return await new Promise((resolve, reject) => { 
    sns.publish({ 
     Message: message, 
     MessageStructure: 'string', 
     PhoneNumber: number, 
    }, (err, res) => { 
     if (err) { return reject(err); } 
     resolve(res); 
    }); 
    }); 
} 

로그를 가져올 수 있도록 SNS 응용 프로그램을 설정해야하는지 잘 모르겠다. 일을 단순하게 유지하는 것.

답변

1

귀하의 코드는 node5s v6에서 import 구문 (ES5/6 지원 부족)을 변경하여 올바르게 작동하는 것 같습니다. 클라우드 감시에 로깅을 사용하도록 설정 한 후 모든 SMS (웹 인터페이스와이 코드를 통해)는 CloudWatch 로그에 로그 스팀을 생성합니다. 제 생각에는 AWS SDK를 다시 설치하거나 ES5/6을 사용하지 않아야 SDK가 제대로 작동합니다. 두 번째 질문에 대한

는 메시지가 배달되지 않은 경우, 오류 얻을 것이다 :

{ ResponseMetadata: { RequestId: 'e31feda6-669c-5b13-XXX-bc25b07877b5' }, 
    MessageId: '53555115-6acb-5684-XXXX-0096bc2f6a22' } 
+0

저는 ES6이 문제라고 생각하지 않습니다. 노드 SDK에서 SMS에 해당하는 CloudWatch 로그를 얻으려면 어떻게해야합니까? – Guig

0

: 메시지가 성공적으로 전송 된 경우

(err, res) => { 
     if (err) { return reject(err); } 
     resolve(res); 
    }); 

을, 당신은 같은 응답을 이미이 작업을 수행 한 적이 있지만 SMS 배달에 대한 Cloudwatch 로그를 구성하려면 SMS 기본 설정을 구성해야합니다. 이를 위해서는 클라우드 검색 로그 액세스를 허용하는 IAM 역할을 만들어야합니다. AWS 콘솔을 통해 작업하는 것은 매우 간단합니다. 단계는 http://docs.aws.amazon.com/sns/latest/dg/sms_preferences.html

당신이 원한다면 성공적으로 배달 된 분과 실패한 SMS의 비율을 제어 할 수도 있습니다. 이 작업이 완료되면 SMS를 보낸 방식에 상관없이 클라우드 검색 로그를보기 시작해야합니다.

의견으로 추가하고 싶지만 충분한 담당자가 없습니다. 이 대답이 작동하지 않으면 삭제하겠습니다.