AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.
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.
Konfigurieren des AWS IoT Greengrass-Stream-Managers
Auf derAWS IoT Greengrasscore, Stream-Manager kann IoT-Gerätedaten speichern, verarbeiten und exportieren. Der Stream-Manager stellt Parameter bereit, die Sie zum Konfigurieren von Laufzeiteinstellungen auf Gruppenebene verwenden. Diese Einstellungen gelten für alle Streams auf dem Greengrass-Core. Sie können dasAWS IoT-KonsoleAWS IoT GreengrassAPI zum Konfigurieren der Stream-Manager-Einstellungen. Änderungen werden wirksam, nachdem die Gruppe bereitgestellt wurde.
Anmerkung
Nachdem Sie den Stream Manager konfiguriert haben, können Sie IoT-Anwendungen erstellen und bereitstellen, die auf dem Greengrass-Kern ausgeführt werden und mit dem Stream Manager interagieren. Diese IoT-Anwendungen sind in der Regel benutzerdefinierte Lambda-Funktionen. Weitere Informationen finden Sie unter Verwenden von StreamManagerClient um mit Streams zu arbeiten.
Stream-Manager-Parameter
Der Stream-Manager stellt die folgenden Parameter bereit, mit denen Sie Einstellungen auf Gruppenebene definieren können. Alle Parameter sind optional.
- Speicherverzeichnis
-
Parametername:
STREAM_MANAGER_STORE_ROOT_DIR
Der absolute Pfad des lokalen Verzeichnisses, das zum Speichern von Streams verwendet wird. Dieser Wert muss mit einem Schrägstrich (z. B.
/data
) beginnen.Hinweise zum Sichern von Streamdaten finden Sie unter Lokale Datensicherheit.
MinimumAWS IoT Greengrass-Co-Version: 1.10.0
- Server port
-
Parametername:
STREAM_MANAGER_SERVER_PORT
Die lokale Portnummer, die für die Kommunikation mit dem Stream-Manager verwendet wird. Der Standardwert ist
8088
.MinimumAWS IoT Greengrass-Co-Version: 1.10.0
- Client authentifizieren
-
Parametername:
STREAM_MANAGER_AUTHENTICATE_CLIENT
Gibt an, ob Clients authentifiziert werden müssen, um mit dem Stream-Manager zu interagieren. Die gesamte Interaktion zwischen Clients und Stream-Manager wird vom gesteuertAWS IoT GreengrassCo-SDK. Dieser Parameter bestimmt, welche Clients das aufrufen könnenAWS IoT Greengrass-SDK zum Arbeiten mit Streams. Weitere Informationen finden Sie unter Client-Authentifizierung.
Gültige Werte sind
true
oderfalse
. Der Standardwert isttrue
(empfohlen).-
true
aus. Erlaubt nur Greengrass Lambda-Funktionen als Clients. Lambda-Funktionsclients verwenden internAWS IoT GreengrassKernprotokolle zur Authentifizierung mit demAWS IoT GreengrassCo-SDK. -
false
aus. Ermöglicht jeden Prozess, der auf demAWS IoT Greengrasscore ein Kunde zu sein. Setzen Sie diese Einstellung nicht auffalse
, es sei denn, Ihr Geschäftsfall erfordert dies. Stellen Sie diesen Wert beispielsweise auffalse
nur wenn Nicht—Lambda-Prozesse auf dem Core-Gerät direkt mit dem Stream-Manager kommunizieren müssen, z. B.Docker-Containerauf dem Core.
MinimumAWS IoT Greengrass-Co-Version: 1.10.0
-
- Maximale Bandbreite
-
Parametername:
STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH
Die durchschnittliche maximale Bandbreite (in Kilobit pro Sekunde), die zum Exportieren von Daten verwendet werden kann. Die Standardeinstellung erlaubt die unbegrenzte Nutzung der verfügbaren Bandbreite.
MinimumAWS IoT Greengrass-Co-Version: 1.10.0
- Größe des Threadpools
-
Parametername:
STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE
Die maximale Anzahl der aktiven Threads, die zum Exportieren von Daten verwendet werden können. Der Standardwert ist
5
.Die optimale Größe hängt von der Hardware, dem Stream-Volume und der geplanten Anzahl der Exportstreams ab. Wenn die Exportgeschwindigkeit langsam ist, können Sie diese Einstellung anpassen, um die optimale Größe für Ihre Hardware und Ihren Geschäftsfall zu ermitteln. Die CPU und der Arbeitsspeicher Ihrer Core-Geräte-Hardware sind begrenzende Faktoren. Um zu starten, können Sie versuchen, diesen Wert gleich der Anzahl der Prozessorkerne auf dem Gerät festzulegen.
Achten Sie darauf, keine Größe festzulegen, die höher ist, als Ihre Hardware unterstützen kann. Jeder Stream verbraucht Hardwareressourcen, daher sollten Sie versuchen, die Anzahl der Exportstreams auf eingeschränkten Geräten zu begrenzen.
MinimumAWS IoT Greengrass-Co-Version: 1.10.0
- JVM-Argumente
-
Parametername:
JVM_ARGS
Benutzerdefinierte Java Virtual Machine-Argumente, die beim Start an den Stream-Manager übergeben werden. Mehrere Argumente sollten durch Leerzeichen getrennt werden.
Verwenden Sie diesen Parameter nur, wenn Sie die von der JVM verwendeten Standardeinstellungen außer Kraft setzen müssen. Beispielsweise müssen Sie möglicherweise die Standard-Heap-Größe erhöhen, wenn Sie eine große Anzahl von Streams exportieren möchten.
MinimumAWS IoT Greengrass-Co-Version: 1.10.0
- Schreibgeschützte Dateiverzeichnisse
-
Parametername:
STREAM_MANAGER_READ_ONLY_DIRS
Eine durch Komma getrennte Liste mit absoluten Pfaden zu den Verzeichnissen außerhalb des Root-Dateisystems, die Eingabedateien speichern. Der Stream-Manager liest und lädt die Dateien in Amazon S3 hoch und hängt die Verzeichnisse schreibgeschützt ein. Weitere Informationen zum Exportieren nach Amazon S3 finden Sie unter.Amazon S3 S3-Objekteaus.
Verwenden Sie diesen Parameter nur, wenn die folgenden Bedingungen zutreffen:
-
Das Eingabedateiverzeichnis für einen Stream, der nach Amazon S3 exportiert, befindet sich an einem der folgenden Speicherorte:
-
Eine andere Partition als das Root-Dateisystem.
-
UNDER
/tmp
im Root-Dateisystem.
-
-
DieStandard-Containerisierungseigenschaftender Greengrass-GruppeGreengrass-Containeraus.
Beispielwert:
/mnt/directory-1,/mnt/directory-2,/tmp
MinimumAWS IoT Greengrass-Co-Version: 1.11.0
-
- Mindestgröße für mehrteilige Uploads
-
Parametername:
STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES
Die Mindestgröße (in Byte) eines Teils in einem mehrteiligen Upload auf Amazon S3. Der Stream-Manager verwendet diese Einstellung und die Größe der Eingabedatei, um zu bestimmen, wie Daten in einer mehrteiligen PUT-Anforderung gebündelt werden. Der Standard und Mindestwert ist
5242880
Byte (5 MB).Anmerkung
Der Stream-Manager verwendet die
sizeThresholdForMultipartUploadBytes
-Eigenschaft, um zu bestimmen, ob ein- oder mehrteiliger Upload nach Amazon S3 exportiert werden soll. Benutzerdefinierte Lambda-Funktionen legen diesen Schwellenwert fest, wenn sie einen Stream erstellen, der nach Amazon S3 exportiert wird. Der Standardschwellenwert ist 5 MB.MinimumAWS IoT Greengrass-Co-Version: 1.11.0
Konfigurieren der Stream-Manager-Einstellungen (Konsole)
Sie können dasAWS IoT-Konsole für die folgenden Verwaltungsaufgaben:
Änderungen werden wirksam, nachdem die Greengrass-Gruppe bereitgestellt wurde. Ein Tutorial, das zeigt, wie Sie eine Greengrass-Gruppe bereitstellen, die eine Lambda-Funktion enthält, die mit dem Stream-Manager interagiert, finden Sie unterExportieren von Daten-Streams inAWS Cloud(Konsole)aus.
Anmerkung
Wenn Sie die Konsole verwenden, um den Stream-Manager zu aktivieren und die Gruppe bereitzustellen, ist die Speichergröße für den Stream-Manager standardmäßig auf 4194304 KB (4 GB) festgelegt. Wir empfehlen, dass Sie die Speichergröße auf mindestens 128000 KB einstellen.
So prüfen Sie, ob der Stream-Manager aktiviert ist (Konsole)
In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.
Wählen Sie die Zielgruppe aus.
-
Wählen Sie das SymbolLambdaaus.
-
UNDERSystem von Lambda-FunktionenSELECTStream-Manager, und wähleBearbeitenaus.
-
Überprüfen Sie den Status „Aktiviert“ oder „De Alle konfigurierten benutzerdefinierten Stream-Manager-Einstellungen werden ebenfalls angezeigt.
So aktivieren oder deaktivieren Sie den Stream-Manager während der Gruppenerstellung (Konsole)
In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.
-
Wählen Sie Create Group. Ihre Auswahl auf der nächsten Seite bestimmt, wie Sie den Stream-Manager für die Gruppe konfigurieren.
-
Führen Sie dieNennen Sie Ihre Gruppeund wähle einGreengrass-Kernseiten.
-
Wählen Sie Create group (Gruppe erstellen) aus.
-
Wählen Sie auf der Gruppenkonfigurationsseite die Option aus.Lambda-Funktionen, wählen SieStream-Manager, und wähleBearbeitenaus.
-
Um den Stream-Manager mit Standardeinstellungen zu aktivieren, wählen SieMit Standardeinstellungen aktivierenaus.
-
Um den Stream-Manager mit benutzerdefinierten Einstellungen zu aktivieren, wählen Sie Einstellungen anpassen aus.
-
Auf derKonfigurieren des Stream-Managers-SeiteAktivieren mit benutzerdefinierten Einstellungenaus.
-
Geben Sie unter Benutzerdefinierte Einstellungen Werte für Stream-Manager-Parameter ein. Weitere Informationen finden Sie unter Stream-Manager-Parameter. Lassen Sie die Felder leer, damit AWS IoT Greengrass die Standardwerte verwenden kann.
-
-
Um den Stream-Manager zu deaktivieren, wählen SieDeaktivieren vonaus.
-
Wählen Sie auf der Seite Stream-Manager konfigurieren die Option Deaktivieren aus.
-
-
-
Wählen Sie Save (Speichern) aus.
-
Fahren Sie mit den verbleibenden Seiten fort, um Ihre Gruppe zu erstellen.
-
Auf derClient-Geräte, laden Sie Ihre Sicherheitsressourcen herunter, überprüfen Sie die Informationen und wählen Sie dannFinishaus.
Anmerkung
Wenn der Stream-Manager aktiviert ist, müssen Sie die Java 8-Laufzeitumgebung auf dem Core-Gerät installieren, bevor Sie die Gruppe bereitstellen.
So aktivieren oder deaktivieren Sie den Stream-Manager für eine vorhandene Gruppe (Konsole)
In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.
Wählen Sie die Zielgruppe aus.
-
Wählen Sie das SymbolLambdaaus.
-
UNDERSystem von Lambda-FunktionenSELECTStream-Manager, und wähleBearbeitenaus.
-
Überprüfen Sie den Status „Aktiviert“ oder „De Alle konfigurierten benutzerdefinierten Stream-Manager-Einstellungen werden ebenfalls angezeigt.
So ändern Sie die Einstellungen des Stream-Managers (Konsole)
In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.
Wählen Sie die Zielgruppe aus.
-
Wählen Sie das SymbolLambdaaus.
-
UNDERSystem von Lambda-FunktionenSELECTStream-Manager, und wähleBearbeitenaus.
-
Überprüfen Sie den Status „Aktiviert“ oder „De Alle konfigurierten benutzerdefinierten Stream-Manager-Einstellungen werden ebenfalls angezeigt.
-
Wählen Sie Save (Speichern) aus.
Konfigurieren der Stream Manager-Einstellungen (CLI)
In derAWS CLI, benutze das SystemGGStreamManager
Lambda—Funktion zum Konfigurieren des Stream-Managers. Lambda-Funktionen sind Komponenten desAWS IoT Greengrass-Co-Software-Sof Für den Stream-Manager und einige andere Lambda-Systemfunktionen können Sie die Greengrass-Funktionalität konfigurieren, indem Sie die entsprechendenFunction
undFunctionDefinitionVersion
-Objekte in der Greengrass-Gruppe. Weitere Informationen finden Sie unter Übersicht über das AWS IoT Greengrass-Gruppenobjektmodell.
Sie können die API für die folgenden Verwaltungsaufgaben verwenden. Die Beispiele in diesem Abschnitt zeigen, wie Sie das verwendenAWS CLI, aber Sie können auch dasAWS IoT GreengrassAPI direkt oder verwenden Sie eineAWSSDK.
Änderungen werden wirksam, nachdem die Gruppe bereitgestellt wurde. Ein Tutorial, das zeigt, wie Sie eine Greengrass-Gruppe mit einer Lambda-Funktion bereitstellen, die mit dem Stream-Manager interagiert, finden Sie unterExportieren von Daten-Streams inAWS Cloud(CLI)aus.
Tipp
Um zu sehen, ob der Stream-Manager aktiviert ist und von Ihrem Core-Gerät ausgeführt wird, können Sie den folgenden Befehl in einem Terminal auf dem Gerät ausführen.
ps aux | grep -i 'streammanager'
So prüfen Sie, ob der Stream-Manager aktiviert ist (CLI)
Der Stream-Manager ist aktiviert, wenn die bereitgestellte Funktionsdefinitionsversion das System enthältGGStreamManager
Lambda-Funktion Zur Überprüfung gehen Sie folgendermaßen vor:
-
Rufen Sie die IDs der Greengrass-Zielgruppen und die Gruppenversion ab. Bei diesem Verfahren wird davon ausgegangen, dass es sich um die neueste Gruppe und Gruppenversion handelt. Die folgende Abfrage gibt die zuletzt erstellte Gruppe zurück.
aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"
Sie können auch nach Namen abfragen. Gruppennamen müssen nicht eindeutig sein, sodass mehrere Gruppen zurückgegeben werden können.
aws greengrass list-groups --query "Groups[?Name=='
MyGroup
']"Anmerkung
Sie finden diese Werte auch inAWS IoTconsole. Die Gruppen-ID wird auf der Seite Einstellungen der Gruppe angezeigt. Gruppenversions-IDs werden in der Gruppe angezeigtBereitstellungenRegisterkarteneigenschaften.
-
Kopieren Sie die
LatestVersion
Werte undId
aus der Zielgruppe in die Ausgabe. -
Rufen Sie die neueste Gruppenversion ab.
-
Ersetzen Sie
group-id
durch die kopierteId
. -
Ersetzen
latest-group-version-id
mit demLatestVersion
das du kopiert hast.
aws greengrass get-group-version \ --group-id
group-id
\ --group-version-idlatest-group-version-id
-
-
Rufen Sie die IDs der Funktionsdefinition und der Funktionsdefinitionsversion aus dem
FunctionDefinitionVersionArn
in der Ausgabe ab.-
Die ID der Funktionsdefinition ist die GUID nach dem
functions
-Segment im Amazon-Ressourcennamen (ARN). -
Die ID der Funktionsdefinitionsversion ist die GUID, die dem
versions
-Segment im ARN folgt.
arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/
function-definition-id
/versions/function-definition-version-id
-
-
Rufen Sie die ID der Funktionsdefinitionsversion ab.
-
Ersetzen
function-definition-id
mit der ID der Funktionsdefinition. -
Ersetzen
function-definition-version-id
mit der ID der Funktionsdefinitionsversion.
aws greengrass get-function-definition-version \ --function-definition-id
function-definition-id
\ --function-definition-version-idfunction-definition-version-id
-
Wenn das functions
-Array in der Ausgabe die GGStreamManager
-Funktion enthält, ist der Stream-Manager aktiviert. Alle Umgebungsvariablen, die für die Funktion definiert sind, stellen benutzerdefinierte Einstellungen für den Stream-Manager dar.
So aktivieren, deaktivieren oder konfigurieren Sie den Stream-Manager (CLI)
In derAWS CLI, benutze das SystemGGStreamManager
Lambda—Funktion zum Konfigurieren des Stream-Managers. Änderungen werden wirksam, nachdem Sie die Gruppe bereitgestellt haben.
-
Um den Stream-Manager zu aktivieren, schließen Sie
GGStreamManager
in dasfunctions
-Array Ihrer Funktionsdefinitionsversion ein. Um benutzerdefinierte Einstellungen zu konfigurieren, definieren Sie Umgebungsvariablen für die entsprechenden Stream-Manager-Parameter. -
Um den Stream-Manager zu deaktivieren, entfernen Sie
GGStreamManager
aus demfunctions
-Array Ihrer Funktionsdefinitionsversion.
- Stream-Manager mit Standardeinstellungen
-
Die folgende Beispielkonfiguration aktiviert den Stream-Manager mit Standardeinstellungen. Sie setzt die beliebige Funktions-ID auf
streamManager
.{ "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }
Anmerkung
Für den
FunctionConfiguration
-Eigenschaften kennen Sie vielleicht Folgendes:-
MemorySize
ist mit Standardeinstellungen auf 4194304 KB (4 GB) eingestellt. Sie können diesen Wert jederzeit ändern. Wir empfehlen Ihnen, einzustellenMemorySize
auf mindestens 128000 KB. -
muss
Pinned
auftrue
festgelegt sein. -
Timeout
ist für die Funktionsdefinitionsversion erforderlich, wird vomGGStreamManager
jedoch nicht verwendet.
-
- Stream-Manager mit benutzerdefinierten Einstellungen
-
Die folgende Beispielkonfiguration aktiviert den Stream-Manager mit benutzerdefinierten Werten für die Parameter Speicherverzeichnis, Serverport und Größe des Threadpools.
{ "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "Environment": { "Variables": { "STREAM_MANAGER_STORE_ROOT_DIR": "/data", "STREAM_MANAGER_SERVER_PORT": "1234", "STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE": "4" } }, "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }
AWS IoT Greengrassverwendet Standardwerte fürStream-Manager-Parameterdie nicht als Umgebungsvariablen angegeben sind.
- Stream-Manager mit benutzerdefinierten Einstellungen für Amazon S3 S3-Exporte
-
Die folgende Beispielkonfiguration aktiviert den Stream-Manager mit benutzerdefinierten Werten für das Upload-Verzeichnis und Parameter der Mindestgröße für mehrteilige Uploads.
{ "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "Environment": { "Variables": { "STREAM_MANAGER_READ_ONLY_DIRS": "/mnt/directory-1,/mnt/directory-2,/tmp", "STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES": "10485760" } }, "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }
So aktivieren, deaktivieren oder konfigurieren Sie den Stream-Manager (CLI)
-
Rufen Sie die IDs der Greengrass-Zielgruppen und die Gruppenversion ab. Bei diesem Verfahren wird davon ausgegangen, dass es sich um die neueste Gruppe und Gruppenversion handelt. Die folgende Abfrage gibt die zuletzt erstellte Gruppe zurück.
aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"
Sie können auch nach Namen abfragen. Gruppennamen müssen nicht eindeutig sein, sodass mehrere Gruppen zurückgegeben werden können.
aws greengrass list-groups --query "Groups[?Name=='
MyGroup
']"Anmerkung
Sie finden diese Werte auch inAWS IoTconsole. Die Gruppen-ID wird auf der Seite Einstellungen der Gruppe angezeigt. Gruppenversions-IDs werden in der Gruppe angezeigtBereitstellungenRegisterkarteneigenschaften.
-
Kopieren Sie die
LatestVersion
Werte undId
aus der Zielgruppe in die Ausgabe. -
Rufen Sie die neueste Gruppenversion ab.
-
Ersetzen Sie
group-id
durch die kopierteId
. -
Ersetzen
latest-group-version-id
mit demLatestVersion
das du kopiert hast.
aws greengrass get-group-version \ --group-id
group-id
\ --group-version-idlatest-group-version-id
-
-
Kopieren Sie das
CoreDefinitionVersionArn
und alle anderen Versions-ARNs aus der Ausgabe, außerFunctionDefinitionVersionArn
aus. Sie verwenden diese Werte später, wenn Sie eine Gruppenversion erstellen. -
Kopieren Sie die ID der Funktionsdefinition aus
FunctionDefinitionVersionArn
. Die ID ist die GUID, die demfunctions
-Segment im ARN folgt, wie im folgenden Beispiel gezeigt.arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/bcfc6b49-beb0-4396-b703-6dEXAMPLEcu5/versions/0f7337b4-922b-45c5-856f-1aEXAMPLEsf6
Anmerkung
Sie können auch eine Funktionsdefinition mit dem
create-function-definition
und kopieren Sie dann die ID aus der Ausgabe. -
Fügen Sie der Funktionsdefinition eine Funktionsdefinitionsversion hinzu.
-
Ersetzen
function-definition-id
mit demId
die Sie für die -Funktionsdefinition kopiert haben. -
In der
functions
-Array enthält alle anderen Funktionen, die Sie auf dem Greengrass-Core zur Verfügung stellen möchten. Sie können denget-function-definition-version
-Befehl verwenden, um die Liste der vorhandenen Funktionen abzurufen.
- Aktivieren des Stream-Managers mit Standardeinstellungen
-
Im folgenden Beispiel wird der Stream-Manager aktiviert, indem das
GGStreamManager
-Funktion imfunctions
Array. In diesem Beispiel werden Standardwerte für die Stream-Manager-Parameter verwendet.aws greengrass create-function-definition-version \ --function-definition-id
function-definition-id
\ --functions '[ { "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }, { "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MyLambdaFunction:MyAlias", "FunctionConfiguration": { "Executable": "myLambdaFunction.function_handler", "MemorySize": 16000, "Pinned": true, "Timeout": 5 }, "Id": "myLambdaFunction" }, ... more user-defined functions ] }'Anmerkung
Die
myLambdaFunction
-Funktion in den Beispielen stellt eine Ihrer benutzerdefinierten Lambda-Funktionen dar. - Aktivieren des Stream-Managers mit benutzerdefinierten Einstellungen
-
Im folgenden Beispiel wird der Stream-Manager aktiviert, indem die
GGStreamManager
-Funktion in dasfunctions
-Array aufgenommen wird. Alle Einstellungen des Stream-Managers sind optional, es sei denn, Sie möchten die Standardwerte ändern. Dieses Beispiel zeigt, wie Sie Umgebungsvariablen verwenden, um benutzerdefinierte Werte festzulegen.aws greengrass create-function-definition-version \ --function-definition-id
function-definition-id
\ --functions '[ { "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "Environment": { "Variables": { "STREAM_MANAGER_STORE_ROOT_DIR": "/data", "STREAM_MANAGER_SERVER_PORT": "1234", "STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE": "4" } }, "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }, { "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MyLambdaFunction:MyAlias", "FunctionConfiguration": { "Executable": "myLambdaFunction.function_handler", "MemorySize": 16000, "Pinned": true, "Timeout": 5 }, "Id": "myLambdaFunction" }, ... more user-defined functions ] }'Anmerkung
Für den
FunctionConfiguration
-Eigenschaften kennen Sie vielleicht Folgendes:-
MemorySize
ist mit Standardeinstellungen auf 4194304 KB (4 GB) eingestellt. Sie können diesen Wert jederzeit ändern. Wir empfehlen Ihnen, einzustellenMemorySize
auf mindestens 128000 KB. -
muss
Pinned
auftrue
festgelegt sein. -
Timeout
ist für die Funktionsdefinitionsversion erforderlich, wird vomGGStreamManager
jedoch nicht verwendet.
-
- Deaktivieren des Stream-Managers
-
Im folgenden Beispiel wird die
GGStreamManager
-Funktion weggelassen, wodurch der Stream-Manager deaktiviert wird.aws greengrass create-function-definition-version \ --function-definition-id
function-definition-id
\ --functions '[ { "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MyLambdaFunction:MyAlias", "FunctionConfiguration": { "Executable": "myLambdaFunction.function_handler", "MemorySize": 16000, "Pinned": true, "Timeout": 5 }, "Id": "myLambdaFunction" }, ... more user-defined functions ] }'Anmerkung
Wenn Sie keine Lambda-Funktionen bereitstellen möchten, können Sie die Version der Funktionsdefinition vollständig weglassen.
-
-
Kopieren Sie den
Arn
der Funktionsdefinitionsversion aus der Ausgabe. -
Erstellen Sie eine Gruppenversion, in der die die Lambda-Systemfunktion enthalten ist.
-
Ersetzen Sie
group-id
durch dieId
für die Gruppe. -
Ersetzen
core-definition-version-arn
mit demCoreDefinitionVersionArn
die Sie aus der neuesten Gruppe kopiert haben. -
Ersetzen
function-definition-version-arn
mit demArn
die Sie für die neue Funktionsdefinitionsversion kopiert haben. -
Ersetzen Sie die ARNs für andere Gruppenkomponenten (zum Beispiel
SubscriptionDefinitionVersionArn
oderDeviceDefinitionVersionArn
), die Sie aus der neuesten Gruppe kopiert haben. -
Entfernen Sie alle nicht verwendeten Parameter. Entfernen Sie zum Beispiel
--resource-definition-version-arn
, wenn Ihre Gruppenversion keine Ressourcen enthält.
aws greengrass create-group-version \ --group-id
group-id
\ --core-definition-version-arncore-definition-version-arn
\ --function-definition-version-arnfunction-definition-version-arn
\ --device-definition-version-arndevice-definition-version-arn
\ --logger-definition-version-arnlogger-definition-version-arn
\ --resource-definition-version-arnresource-definition-version-arn
\ --subscription-definition-version-arnsubscription-definition-version-arn
-
-
Kopieren Sie die
Version
aus der Ausgabe. Dies ist die ID der neuen Gruppenversion. -
Stellen Sie die Gruppe mit der neuen Gruppenversion bereit.
-
Ersetzen Sie
group-id
durch die kopierteId
für die Gruppe. -
Ersetzen
group-version-id
mit demVersion
die Sie für die neue Gruppe kopiert haben.
aws greengrass create-deployment \ --group-id
group-id
\ --group-version-idgroup-version-id
\ --deployment-type NewDeployment -
Verwenden Sie dieses Verfahren, wenn Sie die Einstellungen des Stream-Managers später erneut bearbeiten möchten. Stellen Sie sicher, dass Sie eine Funktionsdefinitionsversion mit demGGStreamManager
funktionieren mit der aktualisierten Konfiguration. Die Gruppenversion muss auf alle ARNs der Komponentenversion verweisen, die Sie auf dem Core bereitstellen möchten. Änderungen werden wirksam, nachdem die Gruppe bereitgestellt wurde.