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.
Exportieren Sie Konfigurationen für unterstützte AWS Cloud Destinationen
User-defined Greengrass-Komponenten werden StreamManagerClient im Stream Manager SDK zur Interaktion mit dem Stream Manager verwendet. Wenn eine Komponente einen Stream erstellt oder einen Stream aktualisiert, übergibt sie ein MessageStreamDefinition Objekt, das die Stream-Eigenschaften einschließlich der Exportdefinition darstellt. Das ExportDefinition Objekt enthält die für den Stream definierten Exportkonfigurationen. Stream Manager verwendet diese Exportkonfigurationen, um zu bestimmen, wo und wie der Stream exportiert werden soll.
Sie können null oder mehr Exportkonfigurationen für einen Stream definieren, einschließlich mehrerer Exportkonfigurationen für einen einzelnen Zieltyp. Sie können beispielsweise einen Stream in zwei Kinesis Data Streams-Datenstreams und ein Amazon S3-Ziel exportieren.
Bei fehlgeschlagenen Exportversuchen versucht der Stream Manager kontinuierlich, Daten in Intervallen von bis zu fünf Minuten AWS Cloud in die zu exportieren. Für die Anzahl der Wiederholungsversuche gibt es kein Höchstlimit.
Anmerkung
StreamManagerClientbietet auch ein Zielziel, das Sie verwenden können, um Streams auf einen HTTP-Server zu exportieren. Dieses Ziel dient nur zu Testzwecken. Es ist nicht stabil und wird nicht für die Verwendung in Produktionsumgebungen unterstützt.
Unterstützte AWS Cloud Ziele
Sie sind für die Wartung dieser AWS Cloud Ressourcen verantwortlich.
AWS IoT Analytics Kanäle (eingestellt)
AWS IoT Analytics abgesetzt
AWS IoT Analytics wurde am 15. Dezember 2025 eingestellt. Stream Manager-Exporte zu AWS IoT Analytics Kanälen funktionieren nicht mehr. Wenn du Streams mit IoTAnalyticsConfig Exportzielen konfiguriert hast, entferne sie, um kontinuierliche fehlgeschlagene Exportversuche zu vermeiden.
Um AWS IoT Analytics Exportkonfigurationen aus einem vorhandenen Stream zu entfernen, aktualisieren Sie Ihre Greengrass-Komponente so, ExportDefinition dass sie updateMessageStream mit einem aufruft, das den IoTAnalyticsConfig Eintrag auslässt. Sie können den Stream auch ohne die Exportkonfiguration löschen und neu erstellen. AWS IoT Analytics
Erwägen Sie, für Ihre Workflows zur Datenaufnahme und Analyse auf eines der anderen unterstützten Exportziele wie Amazon Kinesis Data Streams oder Amazon S3 zu migrieren.
Amazon Kinesis-Datenstreams
Stream Manager unterstützt automatische Exporte in Amazon Kinesis Data Streams. Kinesis Data Streams wird häufig verwendet, um große Datenmengen zu aggregieren und sie in ein Data Warehouse oder Cluster zu laden. MapReduce Weitere Informationen finden Sie unter Was ist Amazon Kinesis Data Streams? im Amazon Kinesis-Entwicklerhandbuch.
Im Stream Manager SDK verwenden Ihre Greengrass-Komponenten das, KinesisConfig um die Exportkonfiguration für diesen Zieltyp zu definieren. Weitere Informationen finden Sie in der SDK-Referenz für Ihre Zielsprache:
-
KinesisConfig
im Python-SDK -
KinesisConfig
im Java SDK -
KinesisConfig
im Node.js SDK
Voraussetzungen
Für dieses Exportziel gelten die folgenden Anforderungen:
-
Die Zielstreams in Kinesis Data Streams müssen sich im selben AWS-Konto und AWS-Region wie das Greengrass-Core-Gerät befinden.
-
(Empfohlen) Ab Version 2.2.1 verbessert der Stream Manager die Leistung beim Exportieren von Streams zu Kinesis Data Streams-Zielen. Version 2.3.1 fügt ein adaptives, shardbewusstes Tempo hinzu, das den Exportdurchsatz weiter erhöht. Um diese Verbesserungen nutzen zu können, aktualisieren Sie Ihre Stream-Manager-Komponente auf die neueste Version. Erteilen Sie dann die
kinesis:ListShardsErlaubnis in der Greengrass-Token-Exchange-Rolle. Mit dieser Berechtigung verteilt der Stream Manager die Datensätze auf die Shards des Zieldatenstroms und passt Anfragen so an, dass sie innerhalb der Grenzen von Kinesis Data Streams pro Shard bleiben. -
Der Autorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS muss die Erlaubnis zum Targeting von Datenstreams gewähren.
kinesis:PutRecordsBeispiel:Sie können granularen oder bedingten Zugriff auf Ressourcen gewähren, z. B. mithilfe eines
*Platzhalter-Benennungsschemas. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von IAM-Richtlinien im IAM-Benutzerhandbuch.
Exportieren in Kinesis Data Streams
Um einen Stream zu erstellen, der in Kinesis Data Streams exportiert wird, erstellen Ihre Greengrass-Komponenten einen Stream mit einer Exportdefinition, die ein oder mehrere Objekte enthält. KinesisConfig Dieses Objekt definiert Exporteinstellungen wie den Zieldatenstream, die Batchgröße, das Batch-Intervall und die Priorität.
Wenn Ihre Greengrass-Komponenten Daten von Geräten empfangen, hängen sie Nachrichten, die einen Datenblock enthalten, an den Zielstream an. Anschließend exportiert der Stream Manager die Daten auf der Grundlage der Batch-Einstellungen und der Priorität, die in den Exportkonfigurationen des Streams definiert sind.
Wenn der Stream-Manager das Shard-Layout des Zieldatenstreams bestimmen kann, verteilt er die Datensätze auf die verfügbaren Shards. Der Stream Manager stellt außerdem Anfragen so, dass sie innerhalb der Grenzen von Kinesis Data Streams pro Shard bleiben. Wenn der Stream-Manager das Shard-Layout nicht ermitteln kann, weist er jedem Datensatz, den er auf Amazon Kinesis hochlädt, eine eindeutige, zufällige UUID als Partitionsschlüssel zu.
AWS IoT SiteWise Eigenschaften von Vermögenswerten
Stream Manager unterstützt automatische Exporte nach AWS IoT SiteWise. AWS IoT SiteWise ermöglicht es Ihnen, Daten von Industrieanlagen in großem Maßstab zu sammeln, zu organisieren und zu analysieren. Weitere Informationen finden Sie unter Was ist AWS IoT SiteWise? im AWS IoT SiteWise Benutzerhandbuch.
Im Stream Manager SDK verwenden Ihre Greengrass-Komponenten das, IoTSiteWiseConfig um die Exportkonfiguration für diesen Zieltyp zu definieren. Weitere Informationen finden Sie in der SDK-Referenz für Ihre Zielsprache:
-
IoTSiteWiseConfig
im Python-SDK -
IoTSiteWiseConfig
im Java SDK -
IoTSiteWiseConfig
im Node.js SDK
Anmerkung
AWS bietet auch AWS IoT SiteWise Komponenten, die eine vorgefertigte Lösung bieten, mit der Sie Daten aus OPC-UA Quellen streamen können. Weitere Informationen finden Sie unter SiteWise IoT-OPC-UA-Kollektor.
Voraussetzungen
Für dieses Exportziel gelten die folgenden Anforderungen:
-
Die Eigenschaften des Ziel-Assets in AWS IoT SiteWise müssen sich im selben AWS-Konto und AWS-Region wie das Greengrass-Core-Gerät befinden.
Anmerkung
Eine Liste der AWS-Region AWS IoT SiteWise unterstützten Geräte finden Sie unter AWS IoT SiteWise Endpunkte und Kontingente in der AWS Allgemeinen Referenz.
-
Sie Autorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS müssen die
iotsitewise:BatchPutAssetPropertyValueBerechtigung zum Targeting auf Asset-Eigenschaften gewähren. Die folgende Beispielrichtlinie verwendet deniotsitewise:assetHierarchyPathBedingungsschlüssel, um Zugriff auf ein Ziel-Root-Asset und dessen untergeordnete Elemente zu gewähren. Sie können denConditionaus der Richtlinie entfernen, um den Zugriff auf alle Ihre AWS IoT SiteWise Assets zu ermöglichen, oder ARNs einzelner Assets angeben.Sie können granularen oder bedingten Zugriff auf Ressourcen gewähren, z. B. mithilfe eines
*Platzhalter-Benennungsschemas. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von IAM-Richtlinien im IAM-Benutzerhandbuch.Wichtige Sicherheitsinformationen finden Sie unter BatchPutAssetPropertyValue Autorisierung im AWS IoT SiteWise Benutzerhandbuch.
Exportieren nach AWS IoT SiteWise
Um einen Stream zu erstellen, in den exportiert wird AWS IoT SiteWise, erstellen Ihre Greengrass-Komponenten einen Stream mit einer Exportdefinition, die ein oder mehrere IoTSiteWiseConfig Objekte enthält. Dieses Objekt definiert Exporteinstellungen wie Batchgröße, Batch-Intervall und Priorität.
Wenn Ihre Greengrass-Komponenten Asset-Eigenschaftsdaten von Geräten empfangen, hängen sie Nachrichten, die die Daten enthalten, an den Ziel-Stream an. Nachrichten sind JSON-serialized PutAssetPropertyValueEntry Objekte, die Eigenschaftswerte für eine oder mehrere Asset-Eigenschaften enthalten. Weitere Informationen finden Sie unter Nachricht für AWS IoT SiteWise
Exportziele anhängen.
Anmerkung
Wenn Sie Daten an senden AWS IoT SiteWise, müssen Ihre Daten die Anforderungen der BatchPutAssetPropertyValue Aktion erfüllen. Weitere Informationen finden Sie unter BatchPutAssetPropertyValue in der AWS IoT SiteWise -API-Referenz.
Anschließend exportiert der Stream Manager die Daten auf der Grundlage der Batch-Einstellungen und der Priorität, die in den Exportkonfigurationen des Streams definiert sind.
Sie können Ihre Stream-Manager-Einstellungen und die Greengrass-Komponentenlogik anpassen, um Ihre Exportstrategie zu entwerfen. Beispiel:
-
Stellen Sie für Exporte nahezu in Echtzeit niedrige Einstellungen für Batchgröße und Intervalle ein und hängen Sie die Daten an den Stream an, wenn sie empfangen werden.
-
Um das Batching zu optimieren, Bandbreitenbeschränkungen zu minimieren oder die Kosten zu minimieren, können Ihre Greengrass-Komponenten die für eine einzelne Asset-Eigenschaft empfangenen Timestamp-Quality-Value (TQV) -Datenpunkte bündeln, bevor sie die Daten an den Stream anhängen. Eine Strategie besteht darin, Einträge für bis zu 10 verschiedene Eigenschaft-Asset-Kombinationen oder Eigenschaftsaliase in einer Nachricht zusammenzufassen, anstatt mehr als einen Eintrag für dieselbe Eigenschaft zu senden. Dies hilft dem Stream Manager dabei, die Kontingente einzuhalten. AWS IoT SiteWise
Amazon-S3-Objekte
Stream Manager unterstützt automatische Exporte nach Amazon S3. Sie können Amazon S3 verwenden, um große Datenmengen zu speichern und abzurufen. Weitere Informationen finden Sie unter Was ist Amazon S3? im Amazon Simple Storage Service Developer Guide.
Im Stream Manager SDK verwenden Ihre Greengrass-Komponenten das, S3ExportTaskExecutorConfig um die Exportkonfiguration für diesen Zieltyp zu definieren. Weitere Informationen finden Sie in der SDK-Referenz für Ihre Zielsprache:
-
S3ExportTaskExecutorConfig
im Python-SDK -
S3ExportTaskExecutorConfig
im Java SDK -
S3ExportTaskExecutorConfig
im Node.js SDK
Voraussetzungen
Für dieses Exportziel gelten die folgenden Anforderungen:
-
Die Amazon S3-Ziel-Buckets müssen sich in demselben AWS-Konto wie das Greengrass-Core-Gerät befinden.
-
Wenn eine Lambda-Funktion, die im Greengrass-Containermodus ausgeführt wird, Eingabedateien in ein Eingabedateiverzeichnis schreibt, müssen Sie das Verzeichnis als Volume im Container mit Schreibberechtigungen bereitstellen. Dadurch wird sichergestellt, dass die Dateien in das Root-Dateisystem geschrieben und für die Stream-Manager-Komponente sichtbar sind, die außerhalb des Containers ausgeführt wird.
-
Wenn eine Docker-Container-Komponente Eingabedateien in ein Eingabedateiverzeichnis schreibt, müssen Sie das Verzeichnis als Volume im Container mit Schreibberechtigungen mounten. Dadurch wird sichergestellt, dass die Dateien in das Root-Dateisystem geschrieben und für die Stream-Manager-Komponente sichtbar sind, die außerhalb des Containers ausgeführt wird.
-
Der Autorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS muss den Ziel-Buckets die folgenden Berechtigungen gewähren. Beispiel:
Sie können granularen oder bedingten Zugriff auf Ressourcen gewähren, z. B. mithilfe eines
*Platzhalter-Benennungsschemas. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von IAM-Richtlinien im IAM-Benutzerhandbuch.
Exportieren nach Amazon S3
Um einen Stream zu erstellen, der nach Amazon S3 exportiert wird, verwenden Ihre Greengrass-Komponenten das S3ExportTaskExecutorConfig Objekt, um die Exportrichtlinie zu konfigurieren. Die Richtlinie definiert Exporteinstellungen, wie z. B. den Schwellenwert und die Priorität für mehrteilige Uploads. Bei Amazon S3-Exporten lädt der Stream Manager Daten hoch, die er aus lokalen Dateien auf dem Kerngerät liest. Um einen Upload zu initiieren, hängen Ihre Greengrass-Komponenten eine Exportaufgabe an den Ziel-Stream an. Die Exportaufgabe enthält Informationen über die Eingabedatei und das Amazon S3-Zielobjekt. Stream Manager führt Aufgaben in der Reihenfolge aus, in der sie an den Stream angehängt werden.
Anmerkung
Der Ziel-Bucket muss bereits in Ihrem AWS-Konto vorhanden sein. Wenn ein Objekt für den angegebenen Schlüssel nicht existiert, erstellt Stream Manager das Objekt für Sie.
Stream Manager verwendet die Schwellenwerteigenschaft für mehrteiligen Upload, die Einstellung für die Mindestgröße von Teilen und die Größe der Eingabedatei, um zu bestimmen, wie Daten hochgeladen werden. Der Schwellenwert für den mehrteiligen Upload muss größer oder gleich der Mindestgröße für Teile sein. Wenn Sie Daten parallel hochladen möchten, können Sie mehrere Streams erstellen.
Die Schlüssel, die Ihre Amazon S3-Zielobjekte angeben, können gültige DateTimeFormatter !{timestamp: Platzhaltern enthalten. Sie können diese Zeitstempel-Platzhalter verwenden, um Daten in Amazon S3 basierend auf dem Zeitpunkt zu partitionieren, zu dem die Eingabedateidaten hochgeladen wurden. Beispielsweise wird der folgende Schlüsselname in einen Wert wie aufgelöst. value}my-key/2020/12/31/data.txt
my-key/!{timestamp:YYYY}/!{timestamp:MM}/!{timestamp:dd}/data.txt
Anmerkung
Wenn Sie den Exportstatus für einen Stream überwachen möchten, erstellen Sie zunächst einen Status-Stream und konfigurieren Sie dann den Export-Stream so, dass er ihn verwendet. Weitere Informationen finden Sie unter Überwachen Sie die Exportaufgaben.
Eingabedaten verwalten
Sie können Code verfassen, den IoT-Anwendungen verwenden, um den Lebenszyklus der Eingabedaten zu verwalten. Der folgende Beispiel-Workflow zeigt, wie Sie Greengrass-Komponenten verwenden können, um diese Daten zu verwalten.
-
Ein lokaler Prozess empfängt Daten von Geräten oder Peripheriegeräten und schreibt die Daten dann in Dateien in einem Verzeichnis auf dem Kerngerät. Dies sind die Eingabedateien für den Stream-Manager.
-
Eine Greengrass-Komponente scannt das Verzeichnis und hängt eine Exportaufgabe an den Ziel-Stream an, wenn eine neue Datei erstellt wird. Die Aufgabe ist ein JSON-serialized
S3ExportTaskDefinitionObjekt, das die URL der Eingabedatei, den Amazon S3-Ziel-Bucket und -Schlüssel sowie optionale Benutzermetadaten angibt. -
Der Stream-Manager liest die Eingabedatei und exportiert die Daten in der Reihenfolge der angehängten Aufgaben nach Amazon S3. Der Ziel-Bucket muss bereits in Ihrem AWS-Konto vorhanden sein. Wenn ein Objekt für den angegebenen Schlüssel nicht existiert, erstellt Stream Manager das Objekt für Sie.
-
Die Greengrass-Komponente liest Nachrichten aus einem Status-Stream, um den Exportstatus zu überwachen. Nach Abschluss der Exportaufgaben kann die Greengrass-Komponente die entsprechenden Eingabedateien löschen. Weitere Informationen finden Sie unter Überwachen Sie die Exportaufgaben.
Überwachen Sie die Exportaufgaben
Sie können Code verfassen, den IoT-Anwendungen verwenden, um den Status Ihrer Amazon S3-Exporte zu überwachen. Ihre Greengrass-Komponenten müssen einen Status-Stream erstellen und dann den Export-Stream so konfigurieren, dass Status-Updates in den Status-Stream geschrieben werden. Ein einzelner Status-Stream kann Statusaktualisierungen von mehreren Streams empfangen, die nach Amazon S3 exportiert werden.
Erstellen Sie zunächst einen Stream, der als Status-Stream verwendet werden soll. Sie können die Größen- und Aufbewahrungsrichtlinien für den Stream konfigurieren, um die Lebensdauer der Statusmeldungen zu steuern. Beispiel:
-
Setzen
PersistenceSieMemorydiese Option auf, wenn Sie die Statusmeldungen nicht speichern möchten. -
Stellen
StrategyOnFullSie diese Option ein,OverwriteOldestDatadamit neue Statusmeldungen nicht verloren gehen.
Erstellen oder aktualisieren Sie dann den Export-Stream, um den Status-Stream zu verwenden. Legen Sie insbesondere die Statuskonfigurationseigenschaft der S3ExportTaskExecutorConfig Exportkonfiguration des Streams fest. Diese Einstellung weist den Stream-Manager an, Statusmeldungen zu den Exportaufgaben in den Status-Stream zu schreiben. Geben Sie im StatusConfig Objekt den Namen des Status-Streams und den Grad der Ausführlichkeit an. Die folgenden unterstützten Werte reichen von am wenigsten ausführlich (ERROR) bis am meisten ausführlich (). TRACE Der Standardwert ist INFO.
-
ERROR -
WARN -
INFO -
DEBUG -
TRACE
Der folgende Beispiel-Workflow zeigt, wie Greengrass-Komponenten einen Statusstream verwenden könnten, um den Exportstatus zu überwachen.
-
Wie im vorherigen Workflow beschrieben, hängt eine Greengrass-Komponente eine Exportaufgabe an einen Stream an, der so konfiguriert ist, dass er Statusmeldungen über Exportaufgaben in einen Statusstream schreibt. Der Anfügevorgang gibt eine Sequenznummer zurück, die die Aufgaben-ID darstellt.
-
Eine Greengrass-Komponente liest Nachrichten sequentiell aus dem Status-Stream und filtert die Nachrichten dann anhand des Stream-Namens und der Task-ID oder basierend auf einer Eigenschaft der Exportaufgabe aus dem Nachrichtenkontext. Beispielsweise kann die Greengrass-Komponente nach der Eingabedatei-URL der Exportaufgabe filtern, die durch das
S3ExportTaskDefinitionObjekt im Nachrichtenkontext dargestellt wird.Die folgenden Statuscodes geben an, dass eine Exportaufgabe den Status „Abgeschlossen“ erreicht hat:
-
Success. Der Upload wurde erfolgreich abgeschlossen. -
Failure. Im Stream Manager ist ein Fehler aufgetreten, z. B. ist der angegebene Bucket nicht vorhanden. Nachdem Sie das Problem behoben haben, können Sie die Exportaufgabe erneut an den Stream anhängen. -
Canceled. Die Aufgabe wurde gestoppt, weil die Stream- oder Exportdefinition gelöscht wurde oder die Gültigkeitsdauer (TTL) der Aufgabe abgelaufen ist.
Anmerkung
Die Aufgabe kann auch den Status oder haben.
InProgressWarningStream Manager gibt Warnungen aus, wenn ein Ereignis einen Fehler zurückgibt, der die Ausführung der Aufgabe nicht beeinträchtigt. Wenn beispielsweise ein teilweiser Upload nicht bereinigt werden kann, wird eine Warnung zurückgegeben. -
-
Nach Abschluss der Exportaufgaben kann die Greengrass-Komponente die entsprechenden Eingabedateien löschen.
Das folgende Beispiel zeigt, wie eine Greengrass-Komponente Statusmeldungen lesen und verarbeiten könnte.