J'essaie d'envoyer une commande de mise à jour du micrologiciel DM à partir d'un flux NodeRed.Comment envoyer une demande de gestion de périphérique à l'aide de NodeRed ou de n'importe quel client REST
noeud Fonction:
msg.payload = {"MgmtInitiationRequest": {
"action":"firmware/update",
"devices": [{
"typeId": "myType",
"deviceId": "myDevice"
}]
}}
msg.headers={"Content-Type":"application/json"}
return msg;
je l'envoie à un noeud de requête HTTP POST avec un à
https://orgid.internetofthings.ibmcloud.com/api/v0002/mgmt/requests
l'authentification de base avec les touches api. Je l'a basé des Initiate a device management request
Je reviens un que les documents ont comme:
Un ou plusieurs des dispositifs ne prend pas en charge l'action demandée
Tout le monde voir ce que je Je suis manquant? Il fonctionne très bien depuis l'interface utilisateur de la plateforme IoT vers le même type de périphérique/périphérique.
EDIT: Même 403 si j'utilise un client de repos comme Postman.
AFAIK votre flux NR devra être connecté comme une application pour envoyer une commande dm - Est-ce le cas? – barny
@barny Oui, il utilise les touches api et devrait donc se connecter en tant qu'application. – amadain
Les docs affichent le paramètre appelé deviceManagementInitiationRequest plutôt que MgmtInitiationRequest - une raison pour ne pas utiliser le nom affiché par les docs? Est-ce qu'une action "device/reboot" fonctionne? – barny