Verwalten von Aufträgen - 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.

Verwalten von Aufträgen

Verwenden Sie Jobs, um Geräte über ein Software- oder Firmware-Update zu informieren. Sie können das verwendenAWS IoTKonsole, derAPI-Operationen für Auftragsverwaltung und -kontrolle, derAWS Command Line Interface, oder dieAWSSDKsum Arbeitsplätze zu schaffen und zu verwalten.

Codesigning für Jobs

Damit Geräte beim Senden von Code an Geräte erkennen können, ob der Code während der Übertragung geändert wurde, empfehlen wir, die Codedatei mit demAWS CLI. Anweisungen finden Sie unterErstellen und verwalten Sie Jobs mithilfe desAWS CLI.

Weitere Informationen finden Sie unterWofür ist Code SigningAWS IoT?.

Stellendokument

Bevor Sie einen Auftrag erstellen, müssen Sie ein Auftragsdokument erstellen. Wenn Sie Code Signing verwenden fürAWS IoT, müssen Sie Ihr Stellendokument in einen versionierten Amazon S3-Bucket hochladen. Weitere Informationen zum Erstellen eines Amazon S3-Buckets und zum Hochladen von Dateien in diesen Bucket finden Sie unterErste Schritte mit Amazon Simple Storage Servicein derAmazon S3-Handbuch „Erste Schritte“.

Tipp

Beispiele für Stellendokumente finden Sie in derjobs-agent.jsBeispiel in derAWS IoTSDK fürJavaScript.

Vorsignierte URLs

Ihr Auftragsdokument kann eine vorsignierte Amazon S3-URL enthalten, die auf Ihre Codedatei (oder eine andere Datei) verweist. Vorsignierte Amazon S3-URLs sind nur für einen begrenzten Zeitraum gültig und werden generiert, wenn ein Gerät ein Auftragsdokument anfordert. Da die vorsignierte URL nicht erstellt wird, wenn Sie das Stellendokument erstellen, verwenden Sie stattdessen eine Platzhalter-URL in Ihrem Stellendokument. Eine Platzhalter-URL sieht wie folgt aus:

${aws:iot:s3-presigned-url:https://s3.region.amazonaws.com/<bucket>/<code file>}

Wobei:

  • Eimerist der Amazon S3-Bucket, der die Codedatei enthält.

  • Codedateiist der Amazon S3-Schlüssel der Codedatei.

Wenn ein Gerät das Auftragsdokument anfordert, generiert AWS IoT die vorsignierte URL und ersetzt die Platzhalter-URL durch die vorsignierte URL. Ihr Auftragsdokument wird dann an das Gerät gesendet.

IAM-Rolle, um die Erlaubnis zum Herunterladen von Dateien von S3 zu erteilen

Wenn Sie einen Job erstellen, der vorsignierte Amazon S3-URLs verwendet, müssen Sie eine IAM-Rolle angeben. Die Rolle muss die Berechtigung zum Herunterladen von Dateien aus dem Amazon S3-Bucket gewähren, in dem die Daten oder Updates gespeichert sind. Die Rolle muss auch die Berechtigung für AWS IoT zur Übernahme der Rolle gewähren.

Sie können optional ein Timeout für die vorsignierte URL angeben. Weitere Informationen finden Sie unterCreateJob.

ZuschussAWS IoTBerufliche Erlaubnis, Ihre Rolle anzunehmen
  1. Gehe zumRollen-Hub der IAM-Konsoleund wähle deine Rolle.

  2. Auf derVertrauensbeziehungenTabulator, wählenVertrauensverhältnis bearbeitenund ersetzen Sie das Richtliniendokument durch das folgende JSON. Wählen Sie Update Trust Policy (Trust Policy aktualisieren).

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "iot.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  3. Um sich vor dem Problem des verwirrten Stellvertreters zu schützen, fügen Sie die globalen Bedingungskontextschlüssel hinzuaws:SourceArnundaws:SourceAccountzur Richtlinie.

    Wichtig

    Deinaws:SourceArnmuss dem Format entsprechen:arn:aws:iot:region:account-id:*. Stellen Sie sicher, dassRegionentspricht deinemAWS IoTRegion undKonto-IDentspricht Ihrer Kundenkonto-ID. Weitere Informationen finden Sie unterDienststellenübergreifende prävention für verwirrte Stellvertreter.

    { "Effect": "Allow", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:iot:*:123456789012:job/*" } } } ] }
  4. Wenn Ihr Job ein Auftragsdokument verwendet, das ein Amazon S3-Objekt ist, wählen SieBerechtigungenund verwende den folgenden JSON. Dadurch wird eine Richtlinie hinzugefügt, die die Berechtigung zum Herunterladen von Dateien aus Ihrem Amazon S3-Bucket gewährt:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your_S3_bucket/*" } ] }