[英]Publishing to an topic on AWS iot from lambda function [Java]
我正在尝试通过我的 lambda 函数在我的 AWS Iot 上发布一个主题,该函数由 alexa 技能触发。 哪一类AWSClient
适合这样做?
根据 stackoverflow 上的答案,我知道我需要使用HTTP
方法从 aws lambda 函数发布到 aws iot,而不是MQTT
。 由于AWSIotDataClient
类AWSIotDataClient
被弃用,我不知道要使用哪个类。 AWS 建议使用AwsIotClientBuilder
,我做了但现在怎么办?
AWSIotClientBuilder client = AWSIotClientBuilder.standard();
client.setEndpointConfiguration(conf);
client.setCredentials(new AWSCredentialsProvider() {
@Override
public AWSCredentials getCredentials() {
return cred;
}
@Override
public void refresh() {
}
});
AWSIotDataClient
没有被弃用,只是构造函数被弃用,所有AWSClient
实现的构造函数也被弃用,支持构建器。 您应该使用AwsClientBuilder.build()
来获取AWSIotDataClient
的实例。 然后,您可以在AWSIotDataClient
实例上调用publish()
方法以发布到您的 IoT 主题。
AWSIotData awsIotDataClient = AWSIotDataClientBuilder.defaultClient(); // add your AWS creds to environment vars to test locally
awsIotDataClient.publish(new PublishRequest()
.withPayload(ByteBuffer.wrap(("{\"some\":\"message\"}").getBytes()))
.withQos(1)
.withTopic("your/topic"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.