2017-10-01 1 views
0

나는 alexa 스마트 홈 스킬을 설정하려고 시도하고 있으며 클라이언트가 메시지를 수신하거나 수신 대기하도록 aws sqs를 사용하려고합니다. 문제는 인스턴트 메시징 (IM)을 어떻게 만들어서 각 클라이언트가 특정 메시지를 청취 할 수 있는지에 관한 것입니다. 나는 메시지 또는 무언가에 자신의 인증 토큰을 가진 특정 사용자의 turnOn 대기열에 메시지를 넣고 해당 인증 토큰을 수신하는 사용자 만 해당 메시지를 수신 할 수 있도록하려고합니다. 기본적으로 나는 각 사용자가 자신의 장치를위한 메시지 만받을 수 있도록 설정하려고합니다. 이것이 가능한가? 나는 튜토리얼을 둘러 보았고 이것에 대한 문서를 찾을 수 없다.자신의 메시지를 듣는 모든 클라이언트와 amazon sqs를 사용하십시오.

만약에 이것이 켜지거나 켜지라고 말하는 메시지를 클라이언트에게 직접 보내는 가장 좋은 방법은 무엇입니까? MQTT라고 생각합니다.

답변

3

각 사용자 또는 장치마다 전용 SQS 대기열을 만들 수 있지만 유지 관리 가능성 및 비용 전망 모두에서 좋은 디자인이 아닙니다.

계정에 보유 할 수있는 SQS 대기열 수에 대한 게시 된 제한은 없지만 SQS는 여론 조사에 따라 요금이 부과되므로 전용 대기열을 폴링하는 많은 장치가 매우 비쌉니다.

그러나 보안 전문가로부터이 방법을 확보 할 수 있습니다. 토큰을 인증 한 다음 적절한 SQS 대기열을 폴링하는 API를 SQS 앞에 놓을 수 있습니다. 또는 STS를 사용하여 중간 처리를 피하기 위해 API를 사용하여 임시로 자격 증명을 특정 큐에 제공 할 수 있습니다.

hackathon이나 개인적인 용도로만 사용할 수있는 장난감 같은 경우에만이 방법을 권장합니다. 그럼에도 불구하고 코드화하고 작동하는 방식을 이해하는 것이 매우 간단하기 때문에,하지만 이것은 실제로 효율적이지 않습니다.


이 문제에 대한 적절한 해결책은 AWS IoT를 사용하는 것입니다. 이는 디바이스를 등록하고 해당 주제에 권한을 지정할 수있는 관리 MQTT 구현을 제공합니다. 여기에 결제는 메시지 당입니다.

AWS IoT를 사용하여 설정하고 이해하는 것이 더 많지만 전반적으로이 접근법은 많은 수의 장치에 더 효율적이며 확장 성이 뛰어나고 제작 준비 상태입니다.

관련 문제