Konfigurieren des AWS IoT Greengrass-Stream-Managers - AWS IoT Greengrass

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 oder false. Der Standardwert ist true (empfohlen).

  • trueaus. Erlaubt nur Greengrass Lambda-Funktionen als Clients. Lambda-Funktionsclients verwenden internAWS IoT GreengrassKernprotokolle zur Authentifizierung mit demAWS IoT GreengrassCo-SDK.

  • falseaus. Ermöglicht jeden Prozess, der auf demAWS IoT Greengrasscore ein Kunde zu sein. Setzen Sie diese Einstellung nicht auf false, es sei denn, Ihr Geschäftsfall erfordert dies. Stellen Sie diesen Wert beispielsweise auffalsenur 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/tmpim 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 ist5242880Byte (5 MB).

Anmerkung

Der Stream-Manager verwendet diesizeThresholdForMultipartUploadBytes-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)

  1. In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.

  2. Wählen Sie die Zielgruppe aus.

  3. Wählen Sie das SymbolLambdaaus.

  4. UNDERSystem von Lambda-FunktionenSELECTStream-Manager, und wähleBearbeitenaus.

  5. Ü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)

  1. In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.

  2. Wählen Sie Create Group. Ihre Auswahl auf der nächsten Seite bestimmt, wie Sie den Stream-Manager für die Gruppe konfigurieren.

  3. Führen Sie dieNennen Sie Ihre Gruppeund wähle einGreengrass-Kernseiten.

  4. Wählen Sie Create group (Gruppe erstellen) aus.

  5. 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.

      1. Auf derKonfigurieren des Stream-Managers-SeiteAktivieren mit benutzerdefinierten Einstellungenaus.

      2. 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.

      1. Wählen Sie auf der Seite Stream-Manager konfigurieren die Option Deaktivieren aus.

         

  6. Wählen Sie Save (Speichern) aus.

  7. Fahren Sie mit den verbleibenden Seiten fort, um Ihre Gruppe zu erstellen.

  8. 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)

  1. In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.

  2. Wählen Sie die Zielgruppe aus.

  3. Wählen Sie das SymbolLambdaaus.

  4. UNDERSystem von Lambda-FunktionenSELECTStream-Manager, und wähleBearbeitenaus.

  5. Ü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)

  1. In derAWS IoTNavigationsbereich der -Konsole unterVerwaltenErweitern SieGreengrass-GeräteKlicken Sie aufGruppen (V1)aus.

  2. Wählen Sie die Zielgruppe aus.

  3. Wählen Sie das SymbolLambdaaus.

  4. UNDERSystem von Lambda-FunktionenSELECTStream-Manager, und wähleBearbeitenaus.

  5. Überprüfen Sie den Status „Aktiviert“ oder „De Alle konfigurierten benutzerdefinierten Stream-Manager-Einstellungen werden ebenfalls angezeigt.

  6. Wählen Sie Save (Speichern) aus.

Konfigurieren der Stream Manager-Einstellungen (CLI)

In derAWS CLI, benutze das SystemGGStreamManagerLambda—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 entsprechendenFunctionundFunctionDefinitionVersion-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ältGGStreamManagerLambda-Funktion Zur Überprüfung gehen Sie folgendermaßen vor:

  1. 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.

  2. Kopieren Sie die LatestVersionWerte und Id aus der Zielgruppe in die Ausgabe.

  3. Rufen Sie die neueste Gruppenversion ab.

    • Ersetzen Sie group-id durch die kopierte Id.

    • Ersetzenlatest-group-version-idmit demLatestVersiondas du kopiert hast.

    aws greengrass get-group-version \ --group-id group-id \ --group-version-id latest-group-version-id
  4. Rufen Sie die IDs der Funktionsdefinition und der Funktionsdefinitionsversion aus dem FunctionDefinitionVersionArn in der Ausgabe ab.

    • Die ID der Funktionsdefinition ist die GUID nach demfunctions-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
  5. Rufen Sie die ID der Funktionsdefinitionsversion ab.

    • Ersetzenfunction-definition-idmit der ID der Funktionsdefinition.

    • Ersetzenfunction-definition-version-idmit der ID der Funktionsdefinitionsversion.

    aws greengrass get-function-definition-version \ --function-definition-id function-definition-id \ --function-definition-version-id function-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 SystemGGStreamManagerLambda—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 das functions-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 dem functions-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 denFunctionConfiguration-Eigenschaften kennen Sie vielleicht Folgendes:

  • MemorySizeist mit Standardeinstellungen auf 4194304 KB (4 GB) eingestellt. Sie können diesen Wert jederzeit ändern. Wir empfehlen Ihnen, einzustellenMemorySizeauf mindestens 128000 KB.

  • muss Pinned auf true festgelegt sein.

  • Timeout ist für die Funktionsdefinitionsversion erforderlich, wird vom GGStreamManager 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)
  1. 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.

  2. Kopieren Sie die LatestVersionWerte und Id aus der Zielgruppe in die Ausgabe.

  3. Rufen Sie die neueste Gruppenversion ab.

    • Ersetzen Sie group-id durch die kopierte Id.

    • Ersetzenlatest-group-version-idmit demLatestVersiondas du kopiert hast.

    aws greengrass get-group-version \ --group-id group-id \ --group-version-id latest-group-version-id
  4. Kopieren Sie dasCoreDefinitionVersionArnund alle anderen Versions-ARNs aus der Ausgabe, außerFunctionDefinitionVersionArnaus. Sie verwenden diese Werte später, wenn Sie eine Gruppenversion erstellen.

  5. Kopieren Sie die ID der Funktionsdefinition aus FunctionDefinitionVersionArn. Die ID ist die GUID, die dem functions-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 demcreate-function-definitionund kopieren Sie dann die ID aus der Ausgabe.

  6. Fügen Sie der Funktionsdefinition eine Funktionsdefinitionsversion hinzu.

    • Ersetzenfunction-definition-idmit demIddie Sie für die -Funktionsdefinition kopiert haben.

    • In derfunctions-Array enthält alle anderen Funktionen, die Sie auf dem Greengrass-Core zur Verfügung stellen möchten. Sie können den get-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 dasGGStreamManager-Funktion imfunctionsArray. 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

    DiemyLambdaFunction-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 das functions-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 denFunctionConfiguration-Eigenschaften kennen Sie vielleicht Folgendes:

    • MemorySizeist mit Standardeinstellungen auf 4194304 KB (4 GB) eingestellt. Sie können diesen Wert jederzeit ändern. Wir empfehlen Ihnen, einzustellenMemorySizeauf mindestens 128000 KB.

    • muss Pinned auf true festgelegt sein.

    • Timeout ist für die Funktionsdefinitionsversion erforderlich, wird vom GGStreamManager 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.

  7. Kopieren Sie den Arn der Funktionsdefinitionsversion aus der Ausgabe.

  8. Erstellen Sie eine Gruppenversion, in der die die Lambda-Systemfunktion enthalten ist.

    • Ersetzen Sie group-id durch die Id für die Gruppe.

    • Ersetzencore-definition-version-arnmit demCoreDefinitionVersionArndie Sie aus der neuesten Gruppe kopiert haben.

    • Ersetzenfunction-definition-version-arnmit demArndie Sie für die neue Funktionsdefinitionsversion kopiert haben.

    • Ersetzen Sie die ARNs für andere Gruppenkomponenten (zum Beispiel SubscriptionDefinitionVersionArn oder DeviceDefinitionVersionArn), 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-arn core-definition-version-arn \ --function-definition-version-arn function-definition-version-arn \ --device-definition-version-arn device-definition-version-arn \ --logger-definition-version-arn logger-definition-version-arn \ --resource-definition-version-arn resource-definition-version-arn \ --subscription-definition-version-arn subscription-definition-version-arn
  9. Kopieren Sie die Version aus der Ausgabe. Dies ist die ID der neuen Gruppenversion.

  10. Stellen Sie die Gruppe mit der neuen Gruppenversion bereit.

    • Ersetzen Sie group-id durch die kopierte Id für die Gruppe.

    • Ersetzengroup-version-idmit demVersiondie Sie für die neue Gruppe kopiert haben.

    aws greengrass create-deployment \ --group-id group-id \ --group-version-id group-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 demGGStreamManagerfunktionieren 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.

Weitere Informationen finden Sie auch unter