2017-04-08 3 views
1

Ich möchte AWS IoT verwenden, um ein Raster von Geräten zu verwalten. Daten nach Gerät müssen an einen Warteschlangendienst (RabbitMQ) gesendet werden, der auf einer EC2-Instanz gehostet wird, die der Ausgangspunkt für eine Echtzeitsteuerungsanwendung ist. Ich lese, wie man eine Regel schreibt, um Daten zu anderem Service zu schreiben: HereAws IoT: Wie benutzt man einen Anwendungsdienst auf EC2?

Jedoch gibt es kein Beispiel für EC2. Wie kann ich mit dem AWS IoT-Dienst eine Verbindung zu einem Dienst auf EC2 herstellen?

Bearbeiten: Ich habe eine Echtzeit-Anwendung mit Sturm entwickelt, die Daten von RabbitMQ konsumieren und das Ergebnis der Berechnung in eine andere RabbitMQ-Warteschlange legt. RabbitMQ und Sturm sind auf EC2. Ich habe Geräte, die Daten produzieren und mit IoT verbunden sind. Daten, die von Geräten erzeugt werden, müssen in die Warteschlange auf EC2 umgeleitet werden, die der Ausgangspunkt meiner Anwendung ist. Es tut mir leid, wenn ich nicht klar war.

+0

Sorry, aber Ihre Frage ist verwirrend. Möchten Sie Daten an RabbitMQ oder an AWS IoT senden? Sie haben auch auf Informationen zu Apache Storm verwiesen. Wenn ich raten müsste, scheint es, dass Sie Daten an IoT senden und dann an Rabbit MQ senden lassen möchten. Könnten Sie bitte Ihre Frage bearbeiten, um den tatsächlichen Fluss Ihrer Daten von der Quelle zum Ziel zu klären? Vielen Dank. –

+1

Ich glaube, der Grund, warum Sie keine Beispiele dafür sehen, ist, dass AWS IoT direkt mit anderen AWS-Diensten wie SNS, Lambda oder Kinesis interagiert - aber nur indirekt mit Ihren eigenen Diensten, so dass eine benutzerdefinierte Integration zum Versenden verwendet wird Daten in benutzerdefinierte Ziele ... zum Beispiel könnte eine von Ihnen entwickelte Lambda-Funktion eine Verbindung zu Ihrem RabbitMQ herstellen und diese Nachrichten weiterleiten. –

+0

@ Michael-sqlbot Danke, also gibt es keine Möglichkeit, IoT und EC2 zu verbinden, und ich muss Lambda verwenden –

Antwort

0

Das AWS-IoT unterstützt das direkte Übertragen der Daten an andere AWS-Dienste. Wie Sie wahrscheinlich herausgefunden haben, wird das Publizieren auf APIs von Drittanbietern nicht direkt unterstützt.

Von den Möglichkeiten, die AWS bietet, funktionieren Lambda, SQS, SNS und Kinesis wahrscheinlich am besten für Sie.

  • Mit Lambda konnten Sie die eingehende Nachricht direkt mit einer der Rabbit MQs APIs weiterleiten.
  • Mit SQS würden Sie es zuerst in eine AWS-Warteschlange einfügen und dann diese Warteschlange abfragen und es an RabbitMQ übertragen.
  • Kinesis würde anspruchsvollere Verarbeitung ermöglichen, ist aber wahrscheinlich zu komplex.
  • Ich schlage vor, Sie programmieren ein Lamba mit der Programmiersprache Ihrer Wahl mit einer der zahlreichen RabbitMQ APIs.