Amazon Monitron steht Neukunden nicht mehr zur Verfügung. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Informationen zu Funktionen, die Amazon Monitron ähneln, finden Sie in unserem Blogbeitrag
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migration von Kinesis v1 zu v2
Wenn Sie derzeit das v1-Datenschema verwenden, senden Sie möglicherweise bereits Daten an Amazon S3 oder verarbeiten die Datenstrom-Payload mit Lambda weiter.
Aktualisierung des Datenschemas auf Version 2
Wenn Sie bereits einen Datenstream mit dem v1-Schema konfiguriert haben, können Sie Ihren Datenexportprozess wie folgt aktualisieren:
-
Öffnen Sie Ihre Amazon Monitron Monitron-Konsole.
-
Navigieren Sie zu Ihrem Projekt.
-
Stoppt den aktuellen Live-Datenexport.
-
Starten Sie den Live-Datenexport, um einen neuen Datenstrom zu erstellen.
-
Wählen Sie den neu erstellten Datenstrom aus.
-
Wählen Sie Live-Datenexport starten. Zu diesem Zeitpunkt sendet das neue Schema Ihre Nutzdaten durch den Datenstrom.
-
(Optional) Gehen Sie zur Kinesis-Konsole und löschen Sie Ihren alten Datenstream.
-
Konfigurieren Sie eine neue Bereitstellungsmethode für Ihren neu erstellten Datenstream mit dem v2-Schema.
Ihr neuer Stream liefert jetzt Payloads, die dem v2-Schema entsprechen, an Ihren neuen Bucket. Wir empfehlen, zwei unterschiedliche Buckets zu verwenden, um ein einheitliches Format zu haben, falls Sie alle Daten in diesen Buckets verarbeiten möchten. Zum Beispiel die Nutzung anderer Dienste wie Athena und AWS Glue.
Anmerkung
Wenn Sie Ihre Daten an Amazon S3 übermittelt haben, erfahren Sie, wie Sie exportierte Daten in Amazon S3 speichern, um weitere Informationen zur Übertragung Ihrer Daten an Amazon S3 mit dem v2-Schema zu erhalten.
Anmerkung
Wenn Sie eine Lambda-Funktion zur Verarbeitung Ihrer Payloads verwendet haben, erfahren Sie, wie Sie Daten mit Lambda verarbeiten. Weitere Informationen finden Sie auch im Abschnitt Aktualisierung mit Lambda.
Aktualisierung der Datenverarbeitung mit Lambda
Um die Datenverarbeitung mit Lambda zu aktualisieren, müssen Sie berücksichtigen, dass der v2-Datenstrom jetzt ereignisbasiert ist. Ihr erster v1-Lambda-Code sah möglicherweise dem folgenden ähnlich:
import base64 def main_handler(event): # Kinesis "data" blob is base64 encoded so decode here: for record in event['Records']: payload = base64.b64decode(record["kinesis"]["data"]) measurement = payload["measurement"] projectDisplayName = payload["projectDisplayName"] # Process the content of the measurement # ...
Da sich das v1-Datenschema auf einem veralteten Pfad befindet, funktioniert der vorherige Lambda-Code nicht mit allen neuen Datenströmen.
Der folgende Python-Beispielcode verarbeitet Ereignisse aus dem Kinesis-Stream mit dem Datenschema v2. Dieser Code verwendet den neuen eventType
Parameter, um die Verarbeitung auf den entsprechenden Handler auszurichten:
import base64 handlers = { "measurement": measurementEventHandler, "gatewayConnected": gatewayConnectedEventHandler, "gatewayDisconnected": gatewayDisconnectedEventHandler, "sensorConnected": sensorConnectedEventHandler, "sensorDisconnected": sensorDisconnectedEventHandler, } def main_handler(event): # Kinesis "data" blob is base64 encoded so decode here: for record in event['Records']: payload = base64.b64decode(record["kinesis"]["data"]) eventType = payload["eventType"] if eventType not in handler.keys(): log.info("No event handler found for the event type: {event['eventType']}") return # Invoke the appropriate handler based on the event type. eventPayload = payload["eventPayload"] eventHandler = handlers[eventType] eventHandler(eventPayload) def measurementEventHandler(measurementEventPayload): # Handle measurement event projectName = measurementEventPayload["projectName"] # ... def gatewayConnectedEventHandler(gatewayConnectedEventPayload): # Handle gateway connected event # Other event handler functions