_shadowOperation()

in aws-greengrass-core-sdk/iotdata.js [206:229]


    _shadowOperation(operation, thingName, payload, callback) {
        const topic = `$aws/things/${thingName}/shadow/${operation}`;
        const context = {
            custom: {
                subject: topic,
            },
        };

        const clientContext = Buffer.from(JSON.stringify(context)).toString('base64');
        const invokeParams = {
            FunctionName: SHADOW_FUNCTION_ARN,
            ClientContext: clientContext,
            Payload: payload,
        };

        console.log(`Calling shadow service on topic "${topic}" with payload "${payload}"`);
        this.lambda.invoke(invokeParams, (err, data) => {
            if (err) {
                callback(err, null);
            } else {
                callback(null, data);
            }
        });
    }