簡體   English   中英

從 lambda 函數 [Java] 發布到 AWS iot 上的主題

[英]Publishing to an topic on AWS iot from lambda function [Java]

我正在嘗試通過我的 lambda 函數在我的 AWS Iot 上發布一個主題,該函數由 alexa 技能觸發。 哪一類AWSClient適合這樣做?

根據 stackoverflow 上的答案,我知道我需要使用HTTP方法從 aws lambda 函數發布到 aws iot,而不是MQTT 由於AWSIotDataClientAWSIotDataClient被棄用,我不知道要使用哪個類。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM