[英]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.