概述
依赖
前言:平台给设备下发消息,通过接口的方式实现调用,调用aws iot sdk,实现publish的功能
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-iot</artifactId>
</dependency>
<aws-sdk.version>1.12.310</aws-sdk.version>
SDK
/*
*
* *
* * * ******************************************************************************
* * *
* * * Woodare PROPRIETARY INFORMATION
* * *
* * * The information contained herein is proprietary to Woodare
* * * and shall not be reproduced or disclosed in whole or in part
* * * or used for any design or manufacture
* * * without direct written authorization from FengDa.
* * *
* * * Copyright (c) 2021 by Woodare. All rights reserved.
* * *
* * * ******************************************************************************
* *
*
*
*/
package com.woodare.tsp.common.mqtt.component;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.iotdata.AWSIotData;
import com.amazonaws.services.iotdata.AWSIotDataClient;
import com.amazonaws.services.iotdata.AWSIotDataClientBuilder;
import com.amazonaws.services.iotdata.model.PublishRequest;
import com.amazonaws.services.iotdata.model.PublishResult;
import com.woodare.tsp.common.core.utils.BeanUtils;
import com.woodare.tsp.common.mqtt.cons.MqttCons;
import com.woodare.tsp.common.mqtt.pojo.vo.AwsVO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
/**
* @author Wang
* @Date 2022/9/6
*/
@Component
@Slf4j
@RequiredArgsConstructor
@RefreshScope
public class AwsRestClient {
@Value(value = "${aws.iot.endpoint:https://*.iot.ap-northeast-1.amazonaws.com}")
private String endpoint;
@Value(value = "${aws.iot.region:ap-northeast-1}")
private String region;
@Value(value = "${aws.iot.accessKeyId:*}")
private String accessKey;
@Value(value = "${aws.iot.secretAccessKey:S5GmNeNAMVNInF4Yxn9ZjuzFS//VZvCHvrso8/iz}")
private String secretKey;
public AwsVO publish(PublishRequest request){
AWSStaticCredentialsProvider provider = new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey));
AWSIotDataClientBuilder builder = AWSIotDataClient.builder();
builder.setCredentials(provider);
AwsClientBuilder.EndpointConfiguration configuration = new AwsClientBuilder.EndpointConfiguration(endpoint, region);
builder.setEndpointConfiguration(configuration);
AWSIotData awsIotData = builder.build();
request.setQos(MqttCons.QoS);
PublishResult publishResult = awsIotData.publish(request);
return BeanUtils.map(publishResult, new AwsVO());
}
}
最后
以上就是舒适小丸子为你收集整理的springboot集成aws mqtt publish的全部内容,希望文章能够帮你解决springboot集成aws mqtt publish所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复