【问题标题】:Get MQTT Topic name coming from AWS IOT CORE to AWS Lambda .Net Core获取来自 AWS IOT CORE 到 AWS Lambda .Net Core 的 MQTT 主题名称
【发布时间】:2021-07-14 09:29:09
【问题描述】:

我需要帮助。 所以我需要从 AWS Lambda 获取从 AWS IOT CORE 订阅(触发)的主题名称。 所以这是我的 lambda 代码:

        public string FunctionHandler(Gps message, ILambdaContext context)
    { 
        LambdaLogger.Log("STRING MESSAGE DT: " + message.dt);
        LambdaLogger.Log("STRING MESSAGE LN: " + message.ln);
        LambdaLogger.Log("STRING MESSAGE LT: " + message.lt);
        LambdaLogger.Log("input context: " + context.FunctionName);
        LambdaLogger.Log("input context: " + context.Identity);
        LambdaLogger.Log("input context: " + context.InvokedFunctionArn);
        LambdaLogger.Log("input context: " + context.FunctionName);
        LambdaLogger.Log("input context: " + context.AwsRequestId);
        LambdaLogger.Log("input context: " + context.ClientContext);
        LambdaLogger.Log("input context: " + context.Logger);
        LambdaLogger.Log("input context: " + context.LogStreamName);
        return JsonConvert.SerializeObject(gpsList);
    }

我在 Cloud Watch 中看到,我正确接收到来自 MQTT 的有效负载数据并正确触发。 所以这是我的主题:

AWS/#

这是我在 AWS/Test 上发布的有效负载(地理定位对象 json)

{
        "dt": "2020-02-26 18:03:30",
        "lt": "xxx.xxx",
        "ln": "yyy.yyy"
}

我的 aws iot 核心规则:

SELECT *, topic() as Topic FROM 'AWS/#'

这是我来自 AWS CloudWatch 的日志

2021-04-20T09:26:48.457+02:00   STRING MESSAGE DT: 2020-02-26 18:03:30

2021-04-20T09:26:48.473+02:00   STRING MESSAGE LN: xxx.xxx

2021-04-20T09:26:48.473+02:00   STRING MESSAGE LT: yyy.yyy

如您所见,我正确收到了所有数据,但我需要阅读主题名称。 在这种情况下我需要阅读AWS/Test

我需要,因为该主题将包含机器序列等基本信息,例如“AWS/xyz”。 如何从发布 MQTT 中读取主题名称并读取“xyz”?我需要在 AWS Lambda 中获取主题名称。 我无法将串口机插入payload,只能在发布主题的命名上。

【问题讨论】:

    标签: .net amazon-web-services aws-lambda amazon-cloudwatch aws-iot


    【解决方案1】:

    您需要为您的 Gps 类添加一个 .Topic 属性。 lambda 接收到的事件如下所示:

    {
      "dt": "2020-02-26 18:03:30",
      "lt": "xxx.xxx",
      "ln": "yyy.yyy"
      "Topic: "your topic here"
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 2022-06-12
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      • 2021-08-17
      • 2018-08-14
      • 2020-08-21
      • 2022-12-07
      相关资源
      最近更新 更多