Amazon Monitron steht neuen Kunden nicht mehr offen. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Funktionen, die denen von 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 auf v2
Wenn Sie derzeit das v1-Datenschema verwenden, senden Sie möglicherweise bereits Daten an Amazon S3 oder verarbeiten die Datenstrom-Nutzlast mit Lambda weiter.
Aktualisierung des Datenschemas auf Version 2
Wenn Sie bereits einen Datenstrom mit dem v1-Schema konfiguriert haben, können Sie Ihren Datenexportprozess wie folgt aktualisieren:
-
Öffnen Sie Ihre Amazon Monitron-Konsole.
-
Navigieren Sie zu Ihrem Projekt.
-
Stoppen Sie 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 Übermittlungsmethode für Ihren neu erstellten Datenstrom mit dem v2-Schema.
Ihr neuer Stream liefert jetzt Payloads, die dem v2-Schema entsprechen, an Ihren neuen Bucket. Wir empfehlen, zwei verschiedene Buckets zu verwenden, um ein einheitliches Format zu erhalten, falls Sie alle Daten in diesen Buckets verarbeiten möchten. Verwenden Sie beispielsweise andere 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. Weitere Informationen dazu, wie Sie Ihre Daten mit dem v2-Schema an Amazon S3 übermitteln können.
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
Wenn Sie die Datenverarbeitung mit Lambda aktualisieren, müssen Sie berücksichtigen, dass der v2-Datenstrom jetzt ereignisbasiert ist. Ihr anfänglicher v1-Lambda-Code sah möglicherweise wie folgt aus:
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