Wichtige Konzepte von Jobs - AWS IoT Core

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.

Wichtige Konzepte von Jobs

Die folgenden Konzepte enthalten Details zu - AWS IoT Aufträgen und zum Erstellen und Bereitstellen von Aufträgen zur Ausführung von Remote-Vorgängen auf Ihren Geräten.

Grundkonzepte

Im Folgenden finden Sie grundlegende Konzepte, die Sie bei der Verwendung von - AWS IoT Aufträgen kennen müssen.

Job

Ein Auftrag ist eine Remote-Operation, die an ein oder mehrere mit AWS IoT verbundene Geräte gesendet und dort ausgeführt werden. Sie können beispielsweise einen Auftrag definieren, der eine Reihe von Geräten anweist, eine Anwendung herunterzuladen und zu installieren oder Firmware-Updates auszuführen, einen Neustart vorzunehmen, die Zertifikate zu rotieren oder Remote-Fehlerbehebungsvorgänge auszuführen.

Auftragsdokument

Um einen Auftrag zu erstellen, müssen Sie zunächst ein Auftragsdokument erstellen, das ist eine Beschreibung der Remote-Operationen, die von den Geräten ausgeführt werden sollen.

Auftragsdokumente sind UTF-8-kodierte JSON-Dokumente, die die Informationen enthalten, die Ihr Gerät für die Ausführung eines Auftrags benötigt. Ein Auftragsdokument enthält eine oder mehrere URLs, unter denen das Gerät ein Update oder andere Daten herunterladen kann. Das Auftragsdokument kann in einem Amazon S3-Bucket gespeichert sein oder inline in dem Befehl enthalten sein, der den Auftrag erstellt.

Tipp

Beispiele für Auftragsdokumente finden Sie im Beispiel job-agent.js im AWS IoT SDK für JavaScript.

Ziel

Beim Anlegen eines Auftrags geben Sie eine Liste von Zielen an, nämlich die Geräte, die die Operationen ausführen sollen. Bei den Zielen kann es sich um Objekte und/oder Objektgruppen handeln. Der AWS IoT Jobs-Service sendet eine Nachricht an jedes Ziel, um es darüber zu informieren, dass ein Auftrag verfügbar ist.

Bereitstellung

Nachdem Sie einen Auftrag erstellt haben, indem Sie das Auftragsdokument bereitgestellt und Ihre Zielliste angegeben haben, wird das Auftragsdokument dann auf den Remote-Zielgeräten bereitgestellt, für die Sie das Update durchführen möchten. Bei Snapshot-Aufträgen wird der Auftrag nach der Bereitstellung auf den Zielgeräten abgeschlossen. Bei kontinuierlichen Aufträgen wird ein Auftrag für eine Gruppe von Geräten bereitgestellt, sobald diese den Gruppen hinzugefügt werden.

Auftragsausführung

Eine Auftragsausführung ist eine Instance eines Auftrags auf einem Zielgerät. Das Ziel startet eine Ausführung eines Auftrags durch Herunterladen des Auftragsdokuments. Anschließend führt es die im Dokument angegebenen Operationen aus und meldet seinen Fortschritt an AWS IoT. Eine Ausführungsnummer ist eine eindeutige Kennung einer Auftragsausführung auf einem bestimmten Ziel. Der AWS IoT Jobs-Service stellt Befehle bereit, um den Fortschritt einer Auftragsausführung auf einem Ziel und den Fortschritt eines Auftrags über alle Ziele hinweg zu verfolgen.

Auftragstypen, Konzepte

Die folgenden Konzepte können Ihnen helfen, mehr über die verschiedenen Arten von Aufträgen zu erfahren, die Sie mit AWS IoT Aufträgen erstellen können.

Snapshot-Auftrag

Standardmäßig wird ein Auftrag an alle Ziele gesendet, die Sie bei der Erstellung des Auftrags angeben. Wenn diese Ziele den Auftrag abgeschlossen haben (oder melden, dass sie dazu nicht in der Lage sind), ist der Auftrag abgeschlossen.

Kontinuierlicher Auftrag

Kontinuierliche Aufträge werden an alle Ziele gesendet, die Sie bei der Erstellung des Auftrags angeben. Er weiter ausgeführt und an alle neuen Geräten (Objekte) gesendet, die der Zielgruppe hinzugefügt werden. Beispiel: Ein kontinuierlicher Auftrag kann zum Onboarding und zur Aktualisierung von Geräten, die einer Gruppe hinzugefügt werden, verwendet werden. Sie können einen Auftrag kontinuierlich machen, indem Sie bei der Erstellung des Auftrags einen optionalen Parameter setzen.

Anmerkung

Wenn Sie Ihre IoT-Flotte mit dynamischen Objektgruppen ins Visier nehmen, empfehlen wir, kontinuierliche Aufträge anstelle von Snapshot-Aufträgen zu verwenden. Durch die Verwendung kontinuierlicher Aufträge erhalten Geräte, die der Gruppe beitreten, die Auftragsausführung auch dann, wenn der Auftrag erstellt wurde.

Vorsignierte URLs

Für einen sicheren, zeitlich begrenzten Zugriff auf Daten, die nicht im Auftragsdokument enthalten sind, können Sie vorsignierte Amazon S3-URLs verwenden. Platzieren Sie Ihre Daten in einen Amazon S3-Bucket und fügen einen Platzhalterlink zu den Daten in dem Auftragsdokument hinzu. Wenn AWS IoT Jobs eine Anforderung für das Auftragsdokument erhält, analysiert es das Auftragsdokument, indem es nach den Platzhalterlinks sucht, und ersetzt dann die Links durch vorsignierte Amazon S3-URLs.

Der Platzhalterlink hat das folgende Format:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

wobei bucket der Name Ihres Buckets und key das Objekt in dem Bucket ist, zu dem Sie die Verknüpfung herstellen.

In den Regionen Peking und Ningxia funktionieren vorsignierte URLs nur, wenn der Eigentümer der Ressource über eine ICP-Lizenz (Internet Content Provider) verfügt. Weitere Informationen finden Sie unter Amazon Simple Storage Service in der Dokumentation Erste Schritte mit AWS Services in China.

Auftragskonfigurationskonzepte

Die folgenden Konzepte können Ihnen helfen, die Konfiguration von Aufträgen zu verstehen.

Rollouts

Sie können angeben, wie schnell die Ziele über eine ausstehende Auftragsausführung benachrichtigt werden. Auf diese Weise können Sie einen schrittweisen Rollout erstellen, um Updates, Neustarts und andere Operationen besser zu verwalten. Sie können eine Rolloutkonfiguration erstellen, indem Sie entweder eine statische Rollout-Rate oder eine exponentielle Rollout-Rate verwenden. Verwenden Sie eine statische Rollout-Rate, um die maximale Anzahl von Auftragszielen festzulegen, die pro Minute informiert werden sollen.

Beispiele für die Festlegung von Rollout-Raten und weitere Informationen zur Konfiguration von Auftrags-Rollouts finden Sie unter. Konfigurationen für Auftrags-Rollout, Planung und Abbruch

Planung

Auftragsplanung ermöglicht es Ihnen, den Rollout-Zeitraum eines Auftragsdokuments auf allen Geräten der Zielgruppe für kontinuierliche Aufträge und Snapshot-Aufträge zu planen. Darüber hinaus können Sie ein optionales Wartungsfenster einrichten, das bestimmte Daten und Uhrzeiten enthält, zu denen das Auftragsdokument im Rahmen eines Auftrags auf allen Geräten in der Zielgruppe bereitgestellt wird. Ein Wartungsfenster ist eine wiederkehrende Instance mit einer Häufigkeit von täglichen, wöchentlichen, monatlichen oder benutzerdefinierten Daten und Uhrzeiten, die bei der ersten Erstellung des Auftrags oder der Auftragsvorlage ausgewählt wurden. Nur fortlaufende Aufträge können so geplant werden, dass sie während eines Wartungsfensters einen Rollout durchführen.

Die Planung von Aufträgen ist spezifisch für Ihren Auftrag. Einzelne Auftragsausführungen können nicht geplant werden. Weitere Informationen finden Sie unter Konfigurationen für Auftrags-Rollout, Planung und Abbruch.

Abbrechen

Sie können eine Reihe von Bedingungen für den Abbruch von Rollouts erstellen, wenn bestimmte von Ihnen angegebenen Kriterien erfüllt sind. Weitere Informationen finden Sie unter Konfigurationen für Auftrags-Rollout, Planung und Abbruch.

Timeouts

Auftrags-Timeouts benachrichtigen Sie, wenn eine Auftragsbereitstellung für eine unerwartet lange Zeit im Status IN_PROGRESS stecken bleibt. Es gibt zwei Arten von Timern: Timer für „In Bearbeitung“ und Timer für „Schritt“. Wenn der Auftrag IN_PROGRESS ist, können Sie den Fortschritt Ihrer Auftragsbereitstellung überwachen und verfolgen.

Rollouts und Abbruchkonfigurationen sind spezifisch für Ihren Auftrag, wohingegen die Timeout-Konfiguration spezifisch für eine Auftragsbereitstellung ist. Weitere Informationen finden Sie unter Timeout bei der Auftragsausführung und Wiederholungskonfigurationen.

Wiederholversuche

Auftragswiederholungen ermöglichen es, die Auftragsausführung erneut zu versuchen, wenn ein Auftrag fehlschlägt, eine Zeitüberschreitung eintritt oder beides auftritt. Sie können über bis zu 10 Wiederholungsversuche für die Auftragsausführung verfügen. Sie können den Fortschritt Ihres Wiederholungsversuchs überwachen und verfolgen, ob die Auftragsausführung erfolgreich war.

Rollouts und Abbruchkonfigurationen sind spezifisch für Ihren Auftrag, während die Timeout- und Wiederholungs-Konfigurationen spezifisch für eine Auftragsausführung sind. Weitere Informationen finden Sie unter Timeout bei der Auftragsausführung und Wiederholungskonfigurationen.