我正在尝试通过alexa技能触发的lambda函数发布有关AWS Iot上的主题。哪个类别的AWSClient
是正确的选择?
基于关于stackoverflow的答案,我知道我需要使用HTTP
方法从aws lambda函数发布到aws iot,而不是MQTT
。由于类AWSIotDataClient
已过时,我不知道要使用哪个类。 AWS建议使用AwsIotClientBuilder
,我做了,但是现在怎么办?
AWSIotClientBuilder client = AWSIotClientBuilder.standard();
client.setEndpointConfiguration(conf);
client.setCredentials(new AWSCredentialsProvider() {
@Override
public AWSCredentials getCredentials() {
return cred;
}
@Override
public void refresh() {
}
});
答案 0 :(得分:0)
AWSIotDataClient
不被弃用,只是不推荐使用构造函数,而所有AWSClient
实现的构造函数也被弃用。您应该使用AwsClientBuilder.build()
获取AWSIotDataClient
的实例。然后,您可以在publish()
实例上调用AWSIotDataClient
方法以发布到您的IoT主题。
答案 1 :(得分:0)
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"));