# ali-datahub-Consumer **Repository Path**: kaigejava/ali-datahub-consumer ## Basic Information - **Project Name**: ali-datahub-Consumer - **Description**: 阿里的datahub消费者demo代码-配置多个topic,然后把读取到的前N(默认100)条写到文件中 其中的key和security是从配置文件中读取的。 不能配置环境变了的原因是。某些特殊情况下,程序读取不到环境变量。所以,修改成从配置文件读取。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-19 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Alibaba DataHub Spring Boot Application ## 项目说明 这是一个基于 Spring Boot 的阿里云 DataHub 消费者应用程序。 ## 环境要求 - JDK 1.8 - Maven 3.x - 阿里云账号和 DataHub 访问权限 ## 配置说明 ### 1. 设置环境变量 在运行应用之前,需要设置阿里云 AK/SK 环境变量: **Windows (PowerShell):** ```powershell $env:ALIBABA_CLOUD_ACCESS_KEY_ID="your_access_key_id" $env:ALIBABA_CLOUD_ACCESS_KEY_SECRET="your_access_key_secret" ``` **Linux/Mac:** ```bash export ALIBABA_CLOUD_ACCESS_KEY_ID="your_access_key_id" export ALIBABA_CLOUD_ACCESS_KEY_SECRET="your_access_key_secret" ``` ### 2. 修改配置文件 编辑 `src/main/resources/application.properties`,根据需要修改配置: - `datahub.endpoint`: DataHub 服务地址 - `datahub.project-name`: 项目名称(当前为 test251209) - `datahub.topic-name`: Topic 名称(当前为 test01) - `datahub.sub-id`: 订阅 ID(可选) ## 运行应用 ### 1. 编译项目 ```bash mvn clean package ``` ### 2. 运行应用 ```bash mvn spring-boot:run ``` 或者: ```bash java -jar target/ali-datahub-1.0.0.jar ``` ## 使用说明 ### 生产者 (Producer) 1. 启动应用后,访问:http://localhost:8080 2. 在页面上输入电表数据: - 电表 ID (meterid) - 电压 (voltage) - 时间戳 (timetemp) 3. 点击"发送数据到 DataHub"按钮 4. 可以点击"自动填充示例数据"快速填充表单 ### 消费者 (Consumer) - 消费者在应用启动时自动运行 - 接收到的数据会: 1. 打印到控制台 2. 保存到 `./datahub-data/data_时间戳.txt` 文件中 - 每条数据保存为 JSON 格式字符串 ## API 接口 ### 发送数据 ``` POST /api/datahub/send Content-Type: application/json { "meterid": "METER001", "voltage": 220.5, "timetemp": "2023-12-09 10:30:00" } ``` ### 查看统计 ``` GET /api/datahub/stats ``` ## 项目结构 ``` ali-datahub/ ├── src/main/java/com/example/datahub/ │ ├── DataHubApplication.java # 主应用类 │ ├── config/ │ │ └── DataHubProperties.java # 配置属性 │ ├── controller/ │ │ └── DataHubController.java # REST 控制器 │ ├── model/ │ │ └── MeterData.java # 数据模型 │ └── service/ │ ├── DataHubProducerService.java # 生产者服务 │ └── DataHubConsumerService.java # 消费者服务 ├── src/main/resources/ │ ├── application.properties # 配置文件 │ └── static/ │ └── index.html # Web 页面 └── pom.xml # Maven 配置 ``` ## 注意事项 1. 确保已经在阿里云创建了 DataHub Project 和 Topic 2. Topic Schema 必须包含 meterid、voltage、timetemp 三个字段 3. 确保设置了正确的环境变量 4. 消费者数据文件保存在 `./datahub-data/` 目录下