我是靠谱客的博主 舒适小丸子,最近开发中收集的这篇文章主要介绍springboot集成aws mqtt publish,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

依赖

前言:平台给设备下发消息,通过接口的方式实现调用,调用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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部