assegnare a una variabile il contenuto di un url (javascript)

eleonora123

Nuovo Utente
24 Lug 2018
1
0
1
Sto cercando di scrivere sullo shadow di aws il contenuto di una pagina web utilizzando le api del servizio. Riesco a scrivere sul cloudwatch ma quando cerco di scrivere anche sulla variabile, nel mio caso UD2, non riesco. Riuscite ad aiutarmi? Riporto, per comodità, il mio codice. Grazie in anticipo.
Eleonora


Codice:
console.log('Loading function');
var aws = require('aws-sdk');
var endpoint  = '';
var thingName = '';
exports.handler = function(event, context) {
 
  var https = require("https");
 
  var querystring = "https://api.openweathermap.org/data/2.5/weather?lat=35&lon=139&APPID=1234"; 

    https.get(encodeURI(querystring), function(res) {
        console.log("Got response: " + res.statusCode);
        res.setEncoding('utf8');
        res.on('data', function(d) {
           //testtest = d;
            console.log('Body: ' + d);
            return d;
        });
        context.succeed(res.statusCode)
        return res;
      }).on('error', function(e) {
        console.log("Got error: " + e.message);
        context.fail(e.message);
      });
    
    var iotdata = new aws.IotData( { endpoint: endpoint } );
    var params = { thingName: thingName };
    iotdata.getThingShadow(params, function (err, data) {
       
        if (!err){
            var payload = JSON.parse(data.payload);
            var currentUD1 = payload.state.desired.UD1;
            var currentUD2 = payload.state.desired.UD2;
            console.log("Current state : " + currentUD2);
        
           var desiredUD2;
            if(currentUD1 == 1) {
            desiredUD2 = https.get.res.on.d;
            console.log(desiredUD2);
            }
              else {
    
            desiredUD2=https.get.res.on.d; 
            console.log(desiredUD2);
                 } 
               
               
           
            var desiredState = {
                state: {
                    desired: {
                          UD2:https.get.res.on.d
                    },
                    reported: {
                        UD2:https.get.res.on.d
                    }
                }
            };
            var params = {
                thingName: thingName,
                payload: JSON.stringify(desiredState)
            };
            iotdata.updateThingShadow(params, function (err, data) {
                if (!err) {
                    context.succeed();
                } else {
                    context.fail(err);     
                }
            });
        } else {
            context.fail(err);     
        }
    });
};