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.
Pre-Provisioning-Hooks
AWS empfiehlt, bei der Erstellung von Bereitstellungsvorlagen Hook-Funktionen vor der Bereitstellung zu verwenden, damit Sie besser kontrollieren können, welche und wie viele Geräte Ihr Konto integriert. Pre-Provisioning-Hooks sind Lambda-Funktionen, die vom Gerät übergebene Parameter überprüfen, bevor das Gerät bereitgestellt werden kann. Diese Lambda-Funktion muss in Ihrem Konto vorhanden sein, bevor Sie ein Gerät bereitstellen, da sie jedes Mal aufgerufen wird, wenn ein Gerät eine Anfrage über RegisterThing sendet.
Wichtig
Achten Sie darauf, das source-arn
oder source-account
in die globalen Bedingungskontextschlüssel der Richtlinien aufzunehmen, die mit Ihrer Lambda-Aktion verknüpft sind, damit Berechtigungen nicht manipuliert werden können. Weitere Informationen hierzu finden Sie unter Serviceübergreifende Confused-Deputy-Prävention.
Damit Geräte bereitgestellt werden können, muss Ihre Lambda-Funktion das Eingabeobjekt akzeptieren und das in diesem Abschnitt beschriebene Ausgabeobjekt zurückgeben. Die Bereitstellung wird nur fortgesetzt, wenn die Lambda-Funktion ein Objekt mit "allowProvisioning": True
zurückgibt.
Pre-Provisioning-Hook-Eingabe
AWS IoT sendet dieses Objekt an die Lambda-Funktion, wenn sich ein Gerät bei AWS IoT registriert.
{ "claimCertificateId" : "
string
", "certificateId" : "string
", "certificatePem" : "string
", "templateArn" : "arn:aws:iot:us-east-1
:1234567890
:provisioningtemplate/MyTemplate
", "clientId" : "221a6d10-9c7f-42f1-9153-e52e6fc869c1
", "parameters" : { "string
" : "string
", ... } }
Das an die Lambda-Funktion übergebene parameters
-Objekt enthält die Eigenschaften im parameters
-Argument, das in der RegisterThing-Anforderungsnutzlast übergeben wird.
Pre-Provisioning-Hook-Rückgabewert
Die Lambda-Funktion muss eine Antwort zurückgeben, die angibt, ob sie die Bereitstellungsanforderung und die Werte der zu überschreibenden Eigenschaften autorisiert hat.
Im Folgenden finden Sie ein Beispiel für eine erfolgreiche Antwort der Pre-Provisioning-Funktion.
{ "allowProvisioning": true, "parameterOverrides" : { "Key": "newCustomValue", ... } }
"parameterOverrides"
-Werte werden dem Parameter "parameters"
in der RegisterThing-Anforderungsnutzlast hinzugefügt.
Anmerkung
-
Wenn die Lambda-Funktion fehlschlägt, schlägt die Bereitstellungsanforderung fehl
ACCESS_DENIED
und ein Fehler wird in Logs protokolliert. CloudWatch -
Wenn die Lambda-Funktion in der Antwort nicht
"allowProvisioning": "true"
zurückgibt, schlägt die Bereitstellungsanforderung mitACCESS_DENIED
fehl. -
Die Lambda-Funktion muss die Ausführung beenden und innerhalb von 5 Sekunden zurückgeben, andernfalls schlägt die Bereitstellungsanforderung fehl.