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.
Geben Sie Auftragskonfigurationen mithilfe der AWS IoT Jobs API an
Sie können die CreateJoboder die CreateJobTemplateAPI verwenden, um die verschiedenen Jobkonfigurationen anzugeben. In den folgenden Abschnitten wird beschrieben, wie Sie diese Konfigurationen hinzufügen. Nachdem Sie die Konfigurationen hinzugefügt haben, können Sie JobExecutionSummaryund verwenden, JobExecutionSummaryForJobum ihren Status einzusehen.
Weitere Informationen über die verschiedenen Konfigurationen und deren Funktionsweise finden Sie unter Wie funktionieren Auftragskonfigurationen.
Rollout-Konfiguration
Sie können eine konstante Rollout-Rate oder eine exponentielle Rollout-Rate für Ihre Rollout-Konfiguration angeben.
-
Stellen Sie eine konstante Rollout-Rate ein
Um eine konstante Rollout-Rate festzulegen, verwenden Sie das
JobExecutionsRolloutConfig
-Objekt, um denmaximumPerMinute
-Parameter zurCreateJob
-Anforderung hinzuzufügen. Dieser Parameter gibt die obere Grenze der Rate an, mit der Auftragsausführungen durchgeführt werden können. Dieser Wert ist optional und reicht von 1 bis 1000. Wenn Sie den Wert nicht festlegen, wird 1000 als Standardwert verwendet."jobExecutionsRolloutConfig": { "maximumPerMinute": 1000 }
-
Legen Sie eine exponentielle Rollout-Rate fest
Verwenden Sie das
JobExecutionsRolloutConfig
-Objekt, um eine variable Auftrags-Rollout-Rate festzulegen. Sie können die
-Eigenschaft konfigurieren, wenn Sie denExponentialRolloutRate
CreateJob
-API-Vorgang ausführen. Im folgenden Beispiel wird eine variable Rolloutrate mit dem ParameterexponentialRate
eingerichtet. Weitere Informationen zu den Parametern finden Sie unterExponentialRolloutRate
.{ ... "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": 50, "incrementFactor": 2, "rateIncreaseCriteria": { "numberOfNotifiedThings": 1000, "numberOfSucceededThings": 1000 }, "maximumPerMinute": 1000 } } ... }
Wo der Parameter:
- baseRatePerMinute
-
Gibt die Rate an, mit der die Aufträge ausgeführt werden, bis der
numberOfNotifiedThings
- oder dernumberOfSucceededThings
-Schwellenwert erreicht wird. - incrementFactor
-
Gibt den exponentiellen Faktor an, um den die Rolloutrate erhöht wird, nachdem der
numberOfNotifiedThings
- oder dernumberOfSucceededThings
-Schwellenwert erreicht wird. - rateIncreaseCriteria
-
Gibt entweder den
numberOfNotifiedThings
- oder dennumberOfSucceededThings
-Schwellenwert an.
Konfiguration abbrechen
Um diese Konfiguration mithilfe der API hinzuzufügen, geben Sie den AbortConfig
-Parameter an, wenn Sie den CreateJob
oder den CreateJobTemplate
API-Vorgang ausführen. Das folgende Beispiel zeigt eine Abbruchkonfiguration für einen Auftrags-Rollout, bei dem es, wie bei der CreateJob
API-Operation angegeben, zu mehreren fehlgeschlagenen Ausführungen kam.
Anmerkung
Das Löschen einer Auftragsausführung wirkt sich auf die Berechnung des Werts der gesamten abgeschlossenen Ausführungen aus. Wenn ein Auftrag abgebrochen wird, erstellt der Service einen automatisierten comment
und reasonCode
zur Differenzierung zwischen eines vom Benutzer ausgelösten Abbruchs und eines automatischen Auftragsabbruchs.
"abortConfig": { "criteriaList": [ { "action": "CANCEL", "failureType": "FAILED", "minNumberOfExecutedThings": 100, "thresholdPercentage": 20 }, { "action": "CANCEL", "failureType": "TIMED_OUT", "minNumberOfExecutedThings": 200, "thresholdPercentage": 50 } ] }
Wo der Parameter:
- Aktion
-
Gibt die Aktion an, die durchgeführt werden soll, wenn das Abbruchkriterium erfüllt ist. Dieser Parameter ist erforderlich, und
CANCEL
ist der einzige gültige Wert. - failureType
-
Gibt an, welche Fehlertypen einen Auftragsabbruch auslösen sollen. Gültige Werte sind
FAILED
,REJECTED
,TIMED_OUT
undALL
. - minNumberOfExecutedThings
-
Gibt die Anzahl der abgeschlossenen Auftragsausführungen an, die erfolgen müssen, bevor das Auftragsabbruchkriterium erfüllt ist. In diesem Beispiel prüft AWS IoT erst dann, ob ein Auftragsabbruch erfolgen soll, wenn mindestens 100 Geräte Auftragsausführungen abgeschlossen haben.
- thresholdPercentage
-
Gibt die Gesamtzahl der Objekte an, für die Aufträge ausgeführt werden, die einen Auftragsabbruch auslösen können. In diesem Beispiel wird nacheinander AWS IoT geprüft und ein Jobabbruch eingeleitet, wenn der prozentuale Schwellenwert erreicht ist. Wenn mindestens 20 % der vollständigen Ausführungen fehlschlagen, nachdem 100 Ausführungen abgeschlossen sind, wird der Auftrags-Rollout abgebrochen. Wenn dieses Kriterium nicht erfüllt ist, AWS IoT wird geprüft, ob bei mindestens 50% der abgeschlossenen Ausführungen ein Timeout nach 200 Ausführungen erreicht wurde. Wenn dies der Fall ist, wird der Auftrags-Rollout abgebrochen.
Konfiguration des Zeitplans
Um diese Konfiguration mithilfe der API hinzuzufügen, geben Sie den optionalen SchedulingConfig
an, wenn Sie den CreateJob
oder den CreateJobTemplate
API-Vorgang ausführen.
"SchedulingConfig": { "endBehavior": string "endTime": string "maintenanceWindows": string "startTime": string }
Wo der Parameter:
- startTime
-
Gibt das Datum und die Uhrzeit an, zu der der Auftrag gestartet wird.
- endTime
-
Gibt das Datum und die Uhrzeit an, zu der der Auftrag beendet wird.
- maintenanceWindows
Gibt an, ob für den geplanten Auftrag ein optionales Wartungsfenster ausgewählt wurde, um das Auftragsdokument auf alle Geräte in der Zielgruppe auszurollen. Das Zeichenkettenformat für
maintenanceWindow
ist JJJJ/MM/TT für das Datum und hh:mm für die Uhrzeit.- endBehavior
-
Gibt das Auftragsverhalten für einen geplanten Auftrag beim Erreichen des
endTime
an.
Anmerkung
Die Option SchedulingConfig
für einen Auftrag ist in den DescribeJobTemplate
- und DescribeJob
-APIs einsehbar.
Timeout-Konfiguration
Um diese Konfiguration mithilfe der API hinzuzufügen, geben Sie den TimeoutConfig
-Parameter an, wenn Sie den CreateJob
oder den CreateJobTemplate
API-Vorgang ausführen.
Um die Timeout-Konfiguration zu verwenden
-
Um den Timer für die Bearbeitung festzulegen, wenn Sie einen Job oder eine Jobvorlage erstellen, legen Sie einen Wert für die
inProgressTimeoutInMinutes
Eigenschaft des optionalen Objekts fest. TimeoutConfig"timeoutConfig": { "inProgressTimeoutInMinutes": number }
-
Um einen Schrittzeitgeber für die Ausführung eines Jobs anzugeben, legen Sie einen Wert für den
stepTimeoutInMinutes
Zeitpunkt des Aufrufs UpdateJobExecutionfest. Der Schritt Timer gilt nur für die Auftragsausführung, die Sie aktualisieren. Sie können einen neuen Wert für diesen Timer bei jeder Aktualisierung einer Auftragsausführung einrichten.Anmerkung
UpdateJobExecution
kann einen bereits erstellten Schritt-Timer verwerfen, indem er einen neuen Schritt-Timer mit dem Wert -1 erstellt.{ ... "statusDetails": { "string" : "string" }, "stepTimeoutInMinutes": number }
-
Um einen neuen Steptimer zu erstellen, können Sie auch den StartNextPendingJobExecutionAPI-Vorgang aufrufen.
Wiederholungs-Konfiguration
Anmerkung
Wenn Sie einen Auftrag erstellen, sollten Sie die entsprechende Anzahl von Wiederholungsversuchen berücksichtigen, die Sie für Ihre Konfiguration verwenden. Fügen Sie eine Abbruchkonfiguration hinzu, um übermäßige Kosten aufgrund potenzieller Wiederholungsfehler zu vermeiden. Nachdem ein Auftrag erstellt wurde, kann die Anzahl der Wiederholungen nicht aktualisiert werden. Sie können die Anzahl der Wiederholungen nur mithilfe der UpdateJobAPI-Operation auf 0 setzen.
Um diese Konfiguration mithilfe der API hinzuzufügen, geben Sie den jobExecutionsRetryConfig
-Parameter an, wenn Sie den CreateJob
oder den CreateJobTemplate
API-Vorgang ausführen.
{ ... "jobExecutionsRetryConfig": { "criteriaList": [ { "failureType": "string", "numberOfRetries": number } ] } ... }
Wobei criteriaList ein Array ist, das die Kriterienliste angibt, die die Anzahl der zulässigen Wiederholungen für jeden Fehlertyp für einen Auftrag bestimmt.