首页 > 解决方案 > 来自 lambda 的 AWS iot 核心访问

问题描述

我想使用 lambda 函数在 AWS iot 核心上创建一个事物或删除一个事物,但我不知道为什么当我使用 AWS iot sdk 时我的 lambda 函数什么都不做,是网络问题吗?我应该设置vpc还是什么?

const AWS = require('aws-sdk');
AWS.config.region = "YYYY";
var iotdata = new AWS.IotData({endpoint: endpoint});
var iot = new AWS.Iot();

exports.handler = async(event) => {
    iot.listThings().on('success', function(response) {
        var things = response.data.things;
        console.log("test")
        var myThings = [];

        for(var i = 0; i < things.length; i++) {
           if (things[i].thingName.includes("myThing")) {
               myThings[i]=things[i].thingName;
           }
        }
    })

    iot.createThing(thingParams).on('success', function(response) {
    //Thing Created!
  }).on('error', function(response) {
    console.log(response);
  }).send();
};

回复:

null

请求编号:

"ccccc-fffff-eeee-rrrr-rrrrr"

功能日志:

START RequestId: ccccc-fffff-eeee-rrrr-rrrrr Version: $LATEST
END RequestId: ccccc-fffff-eeee-rrrr-rrrrr
REPORT RequestId: ccccc-fffff-eeee-rrrr-rrrrr: 29.75 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 88 MB

标签: aws-lambdaamazon-vpcaws-iot

解决方案


对于您最初的问题 - 运行 lambda 的私有子网需要为出口流量配置 NAT 网关。

这是必需的,因为您正在公共域中交互 IoT Core API。


推荐阅读