获取来自AWS IOT CORE到AWS Lambda.Net CORE的MQTT主题名称
我需要帮助。 因此,我需要从AWS Lambda获得从AWS IOT CORE订阅(触发)的主题名称。 这是我的lambda代码:获取来自AWS IOT CORE到AWS Lambda.Net CORE的MQTT主题名称,.net,amazon-web-services,aws-lambda,amazon-cloudwatch,aws-iot,.net,Amazon Web Services,Aws Lambda,Amazon Cloudwatch,Aws Iot,我需要帮助。 因此,我需要从AWS Lambda获得从AWS IOT CORE订阅(触发)的主题名称。 这是我的lambda代码: public string FunctionHandler(Gps message, ILambdaContext context) { LambdaLogger.Log("STRING MESSAGE DT: " + message.dt); LambdaLogger.Log("
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
{
"dt": "2020-02-26 18:03:30",
"lt": "xxx.xxx",
"ln": "yyy.yyy"
}
我的aws物联网核心规则:
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
{
"dt": "2020-02-26 18:03:30",
"lt": "xxx.xxx",
"ln": "yyy.yyy"
}
我需要,因为该主题将包含基本信息,如机器系列,例如“AWS/xyz”。
如何从publish MQTT读取主题名称和“xyz”?我需要在AWS Lambda中获取主题名称。
我无法将串行计算机插入有效负载,但只能在发布主题的命名上插入。您需要在Gps类中添加.topic属性。lambda接收的事件如下所示:
{
"dt": "2020-02-26 18:03:30",
"lt": "xxx.xxx",
"ln": "yyy.yyy"
"Topic: "your topic here"
}