
radarbase/radar-upload-connect-backendRADAR-base Data Uploader 是一个Web应用程序,用于向RADAR-Base平台上传数据。它包含一个Kafka Connect源连接器,能够处理上传的数据,将其解析为适当的格式并发送到Kafka。
主要用途:
该项目包含三个核心组件:
!使用managementportal凭据登录
!创建和上传文件
!查看记录和状态
!查看参与者和记录
RADAR-base Data Uploader适用于以下场景:
要从源代码安装功能完整的RADAR-base数据上传器,请使用根目录下的docker-compose.yml:
bashdocker-compose up -d --build
注意:此部署不包括完整的RADAR-Base堆栈。有关完整安装指南,请访问RADAR-Docker或RADAR-Kubernetes。
要使用数据上传器,您需要在环境的ManagementPortal应用程序上拥有一个账户。如果没有,请向系统管理员申请。
有关更多信息,请参阅详细步骤指南(含截图)。
配置RADAR-base Data Uploader涉及配置上述三个组件。
将etc/upload.yml.template复制到etc/upload.yml,并修改数据库凭据和OAuth客户端凭据。以下是可能的属性和说明:
yamlbaseUri: "[***]" managementPortalUrl: "[***]" jdbcDriver: "org.postgresql.Driver" jdbcUrl: "jdbc:postgresql://radarbase-postgresql:5432/uploadconnector" jdbcUser: "username" # 更改为您的数据库用户名 jdbcPassword: "password" # 更改为您的数据库密码 additionalPersistenceConfig: "hibernate.dialect": "org.hibernate.dialect.PostgreSQL95Dialect" enableCors: yes # 如果要为此组件启用CORS过滤器,请指定yes clientId: "radar_upload_backend" # 配置您的OAuth客户端ID clientSecret: "secret" # 配置客户端密钥 sourceTypes: # 支持上传数据的数据源类型 - name: phone-acceleration topics: - android_phone_acceleration contentTypes: - text/csv timeRequired: false sourceIdRequired: false configuration: setting1: value1 setting2: value2 - name: acceleration-zip topics: - android_phone_acceleration contentTypes: - application/zip timeRequired: false sourceIdRequired: false # 其他数据源类型配置...
如果在启动服务后修改了upload.yml文件,请重启服务:
bashdocker-compose restart radar-upload-backend
要添加对其他设备类型的支持,请在sourceTypes列表中添加一个新的sourceType条目。单个sourceType条目定义如下:
yaml- name: acceleration-zip # 数据源或设备的唯一标识符 (*必需) topics: # 要发送数据的主题列表 - android_phone_acceleration contentTypes: # 数据的内容类型 - application/zip timeRequired: false # 是否需要用户提供上传的日期时间(例如,当数据没有时间戳时) sourceIdRequired: false # 如果source-id是上传数据的必需项,请指定true
将etc/source-upload.properties.template复制到etc/source-upload.properties,并修改OAuth客户端凭据和支持的转换器类。以下是可能的属性和说明:
| 名称 | 描述 | 类型 | 默认值 | 有效值 | 重要性 |
|---|---|---|---|---|---|
| upload.source.poll.interval.ms | 轮询要处理的记录的频率 | long | 60000 | 低 | |
| upload.source.queue.size | 记录队列的容量 | int | 1000 | 高 | |
| upload.source.client.id | 上传kafka连接器的OAuth Client-id | string | radar-upload-connector-client | 高 | |
| upload.source.client.secret | 上传kafka连接器的OAuth client-secret | string | 高 | ||
| upload.source.client.tokenUrl | ManagementPortal获取访问令牌的Token URL | string | 高 | ||
| upload.source.backend.baseUrl | radar-upload-backend的URL,上传的文件存储在此处 | string | [***] | 高 | |
| upload.source.record.converter.classes | 用于转换记录的类列表 | list | org.radarbase.connect.upload.converter.phone.AccelerometerConverterFactory | 扩展org.radarbase.connect.upload.converter.ConverterFactory的类 | 高 |
要添加对新设备类型的数据处理支持,请实现一个能够处理相应设备数据的ConverterFactory,并将类名添加到upload.source.record.converter.classes列表中。
配置radar-upload-frontend需要为docker容器配置正确的环境变量:
| 名称 | 描述 | 值 |
|---|---|---|
| VUE_APP_BASE_URL | Web应用程序的基本URL | /upload |
| VUE_APP_API_BASE_URL | radar-upload-backend的公布URL | http://localhost:8080/upload/api/ 或 [***] |
| VUE_APP_AUTH_API | ManagementPortal Authorization的公布URL | http://localhost:8080/managementportal/oauth 或 [***] |
| VUE_APP_AUTH_CALLBACK | 发送authorization_code的回调URL。这应该在ManagementPortal上正确配置 | http://localhost:8080/upload/login 或 [***] |
| VUE_APP_CLIENT_ID | 在ManagementPortal上配置的Web应用程序的OAuth客户端ID | radar_upload_frontend |
后端应用程序负责存储上传的文件并管理其他状态。它提供API接口供前端调用,处理文件存储、元数据管理和与Kafka连接器的交互。后端应用程序还负责与ManagementPortal集成,处理用户认证和授权。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务