媒体管理
Event
媒体文件上传优先级上报
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: highest_priority_upload_flighttask_media
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
flight_id | 任务 ID | text | 目前优先级最高的任务 ID |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"flight_id": "xxx"
},
"gateway": "xxx",
"need_reply": 1,
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp:": 1654070968655,
"method": "highest_priority_upload_flighttask_media"
}
媒体文件上传结果上报
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: file_upload_callback
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
file | 文件信息 | struct | ||
»object_key | 文件在对象存储桶的 Key | text | ||
»path | 文件的业务路径 | text | ||
»name | 文件名称 | text | ||
»ext | 文件扩展内容 | struct | ||
»»flight_id | 任务 ID | text | ||
»»drone_model_key | 飞行器产品枚举值 | text | ||
»»payload_model_key | 负载产品枚举值 | text | ||
»»is_original | 是否为原图 | bool | {"0":"否","1":"是"} | |
»metadata | 媒体元数据 | struct | ||
»»gimbal_yaw_degree | 云台偏航角 | float | ||
»»absolute_altitude | 拍摄绝对高度 | float | ||
»»relative_altitude | 拍摄相对高度 | float | ||
»»create_time | 媒体拍摄时间 | date | {"format":"iso8601"} | |
»»shoot_position | 拍摄位置 | struct | ||
»»»lat | 拍摄位置纬度 | float | ||
»»»lng | 拍摄位置经度 | float | ||
»cloud_to_cloud_id | 云端互联云服务存储桶 ID | text | {"length":""} | 该媒体上传到的存储桶 id,若未上传到云端互联存储桶中,该字段的值为 'DEFAULT' |
flight_task | 飞行任务信息 | struct | ||
»uploaded_file_count | 该飞行架次当前已上传媒体数量 | int | {"max":"","min":"","step":"","unit_name":null} | |
»expected_file_count | 该飞行架次拍摄媒体总数量 | int | {"max":"","min":"","step":"","unit_name":null} | |
»flight_type | 飞行类型枚举值 | enum_int | {"0":"航线任务","1":"一键起飞任务"} |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"file": {
"cloud_to_cloud_id": "DEFAULT",
"ext": {
"drone_model_key": "0-67-0",
"flight_id": "xxx",
"is_original": true,
"payload_model_key": "0-67-0"
},
"metadata": {
"absolute_altitude": 56.311,
"create_time": "2021-05-10 16:04:20",
"gimbal_yaw_degree": "-91.40",
"relative_altitude": 41.124,
"shoot_position": {
"lat": 22.1,
"lng": 122.5
}
},
"name": "dog.jpeg",
"object_key": "object_key",
"path": "xxx"
},
"flight_task": {
"expected_file_count": 14,
"flight_type": 0,
"uploaded_file_count": 12
}
},
"gateway": "xxx",
"method": "file_upload_callback",
"need_reply": 1,
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655
}
Service
调整上传的文件为最高优先级
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: upload_flighttask_media_prioritize
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
flight_id | 任务 ID | text | 需要最高优先级上传的任务 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"flight_id": "xxx"
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp:": 1654070968655,
"method": "upload_flighttask_media_prioritize"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: upload_flighttask_media_prioritize
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp:": 1654070968655,
"method": "upload_flighttask_media_prioritize"
}
Requests
获取上传临时凭证
Topic: thing/product/{gateway_sn}/requests
Direction: up
Method: storage_config_get
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
module | 模块枚举值 | enum_int | {"0":"媒体"} |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"module": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp:": 1654070968655,
"method": "storage_config_get"
}
Topic: thing/product/{gateway_sn}/requests_reply
Direction: down
Method: storage_config_get
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | 返回码 | int | 非 0 代表错误 | |
output | 输出 | struct | ||
»bucket | 对象存储桶名称 | text | ||
»credentials | 凭证信息 | struct | ||
»»access_key_id | 访问密钥 ID | text | ||
»»access_key_secret | 秘密访问密钥 | text | ||
»»expire | 访问密钥过期时间 | int | {"step":"1","unit_name":"秒 / s"} | |
»»security_token | 会话凭证 | text | ||
»endpoint | 对外服务的访问域名 | text | ||
»provider | 云厂商枚举值 | enum_string | {"ali":"阿里云","aws":"亚马逊云","minio":"minio"} | |
»region | 数据中心所在的地域 | text | ||
»object_key_prefix | 对象存储桶的 Key 的前缀 | text |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"bucket": "bucket_name",
"credentials": {
"access_key_id": "access_key_id",
"access_key_secret": "access_key_secret",
"expire": 3600,
"security_token": "security_token"
},
"endpoint": "https://oss-cn-hangzhou.aliyuncs.com",
"object_key_prefix": "b4cfaae6-bd9d-4cd0-8472-63b608c3c581",
"provider": "ali",
"region": "hz"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp:": 1654070968655,
"method": "storage_config_get"
}