华为云之开天aPaaS的深度使用体验和天气系统的集成指南【开天aPaaS大作战】
【摘要】 一、开天 aPaaS 简介 ① 什么是开天 aPaaS 集成工作台?华为云开天集成工作台基于华为在数字化转型中积累的丰富经验,为企业开发者提供基于元数据的可扩展的集成框架,降低了应用间集成工作量,并沉淀多种集成资产如连接器、业务模型、行业 API 等。它帮助客户快速建立 SaaS 应用之间的连接通道,打破信息孤岛与“烟囱式”架构;实现应用的快速构建和上线,持续提升用户体验。开天集成工作台总...
一、开天 aPaaS 简介
① 什么是开天 aPaaS 集成工作台?
- 华为云开天集成工作台基于华为在数字化转型中积累的丰富经验,为企业开发者提供基于元数据的可扩展的集成框架,降低了应用间集成工作量,并沉淀多种集成资产如连接器、业务模型、行业 API 等。
- 它帮助客户快速建立 SaaS 应用之间的连接通道,打破信息孤岛与“烟囱式”架构;实现应用的快速构建和上线,持续提升用户体验。开天集成工作台总体架构示意图如下所示:

- 开天集成工作台关键特性包括:
-
- 数据模型管理:提供领域信息模型的采集、定义、管理能力,支撑在行业建立标准的领域信息模型库,行业内各厂家应用依托标准的领域信息模型进行互联互通;
-
- API 生命周期管理:支持合作伙伴的 API 设计、实施、测试、发布、运维、消费和运营,并可封装为便于编排的连接器和流;
-
- 连接器管理:它是集成工作台流编排能力扩展的唯一方式,提供了丰富的预置连接器,用户还可以基于 API 自定义连接器;
-
- 流管理:基于连接器,通过可视化的方式进行流式组合,实现集成流编排,扩展支持多种形式编排如流程编排,事件编排等;
-
- 开天集成工作台使能伙伴的 SaaS 高效上云,与伙伴共建行业方案,共同沉淀和分享行业经验。
② 产品优势
- 面向行业的业务模型库,拉通管理者、业务人员和 IT 人员;
- 行业能力 API 化,覆盖工业、城市治理、教育、办公、Message、Map、移动应用等领域;
- SaaS 应用间集成资产多样化,开箱即用,降低交付复杂度;
- 基于标准业务模型的集成模式,每个应用只需集成一次,实现 XYZ 变成 X+Y+Z;
- 开放的连接框架,可灵活定义各种连接器和流,适配企业的业务逻辑。
③ 应用场景
- 企业把自身能力以 API 服务的形式开放出来,通过 API 衔接应用开发者、系统集成商等,从而服务更多的商业场景,快速形成产业链,从而让企业以最小改动满足用户碎片化且日益增长的需求:

- 企业应用建设随着业务发展逐步展开,势必要解决企业存量应用与新应用之间的协同,通过建立应用间的水管,让价值信息在企业内部及企业间流动,为此有多样化的集成场景如应用间集成、数据的同步、流程的集成或者异步事件的集成等。通过集成工作台,可以实现云上应用间、云上应用与企业内部应用间的集成:

④ 使用流程
- 创建自定义连接器:创建连接器,根据业务场景,自定义触发事件和执行动作;
- 触发事件:触发器从连接器读取数据。触发器关注发生的特定事件,例如正在创建的新联系人或订单,并提供相关数据,以便用户可以对该事件采取行动;
- 执行动作:通过定义执行动作确定用户可以执行的操作。操作可用于读取、创建、更新或删除对应服务中的资源;
- 创建连接:设置访问接口的认证信息,例如账号等;
- 创建流:根据创建流时选择的触发事件不同,分为自动化流和手动触发流,支持从头开始创建和从模板创建两种创建方式;
- 发布为模板:可将已创建好的流发布为模板,方便后续使用;
- 运行:根据流的类型不同,分为开启后自动运行和手动点击按钮运行两种运行方式;
- 流运行日志:流运行后可在流运行日志页面查看详细信息。

- 流体现的是一个具体的业务场景,包括触发事件和执行动作,通过创建编排而成,流有两种类型和两种创建方式。
- 流类型:
-
- 自动化流:开启流之后,当触发事件发生,可自动执行后续动作;
-
- 手动触发流:通过单击运行按钮启动流,例如,通过单击运行按钮向邮箱发送天气预报。
- 流创建方式:
-
- 从头开始创建:根据业务场景需求选择触发事件和执行动作创建流。
-
- 从模板创建:选择系统中的流模板创建流,根据业务场景对触发事件和执行动作进行添加、编辑或删除。
- 连接器通过统一协议接入各类应用/系统,提供强安全、高可用、轻量化的连接能力,同时输出覆盖各类业务场景的应用标准数据模型,开天集成工作台内置了大量连接器,也支持用户自定义连接器。
二、开天 aPaaS API
① API 生命周期
- API 生命周期包括 API 的创建、发布、下线和删除的完整生命周期管理功能,华为云 API 网关(API Gateway)为您提供高性能、高可用、高安全的 API 托管服务,能快速将企业服务能力包装成标准 API 服务,帮助您轻松构建、管理和部署任意规模的 API,并上架 API 市场进行售卖。
- 借助 API 网关,可以简单、快速、低成本、低风险地实现内部系统集成、业务能力开放及业务能力变现。API 网关帮助您变现服务能力的同时,降低企业研发投入,让您专注于企业核心业务,提升运营效率。
② API 说明
- 认证识别:提供各类卡证、票据的识别 API,包括银行卡、身份证、票据等,提供实名认证、企业核验等 API:

- 生活服务:调用 API 获取生活服务信息,包括天气预报、快递查询、空气质量查询等:

- 人公智能:基于深度学习及大规模样本训练,提供智能识别、自动审核等服务:

- 电子商务:提供多种 API,通过邮件、短信等方式高效触达客户,提升购买转换与运营效率:

- 医疗健康:开放 API,助力医药行业智能升级,营销数字化,药品信息可追溯:

三、开天 aPaaS 工作台的开通
- IMC (Intelligent Manufacturing Cloud) 为工业领域的 aPaaS 工作台,是工业互联网产业云解决方案的门户。IMC 致力于汇聚合作伙伴,深度融合业内优秀工业软件,为企业提供研发设计、生产制造、市场营销以及日常办公等服务,支撑企业业务流程的优化,实现站式工作体验。
- 开通流程如下:

四、“最美天气”集成指南
① API 说明
- 功能概要 《最美天气对外授权接口_公开版 V1.03》,是最美天气对外统一接口,支持天气数据、城市搜索、信息流、雷达降水等功能。由于结构复杂,字段较多,有问题请和最美天气工作人员保持沟通。
- 授权业务,按以下功能模块进行组合:

② 大颗粒接口协议详情
- 功能概要:
-
- 最美天气大颗粒接口,主要根据授权信息,按照经纬度/城市码/ip 地址, 一次性获取所需天气常规数据(实况、小时天气、多天预报、生活指 数、空气质量等)。
-
- 注: 经纬度、城市编码,支持全球站点数据; IP 定位,成功率约 90%,使用时,请联系最美天气工作人员予以确认。
- 服务地址:https://pub.zuimeitianqi.com/pubDataServer/getweatherpub?apikey =#apikey# &citycode=&language=zh_CN&lon=106.345&lat=34.5&chl=
- 请求参数释义:

- 说明:
-
- 经纬度、城市编码、ip 地址、城市名称(省、市、县)任一有效,即 可取到相应站点数据;
-
- 用城市名称(省、市、县)获取数据时:仅支持中国区域,有效字段越多,定位越准确,当能匹配到多个结 果,最美天气按大城市优先匹配唯一结果。
- 数据类型表:

- 返回数据模块释义(对应功能权限):


- 请求返回数据包示例+参数释义:
{ "data": {
"condition": {
"windgustlevel": 3, // 阵风等级
"windlevel": 3, // 风级
"windgustspeed": 16, // 阵风风速
"uVIndex": 1, // 紫外线等级
"visibility": 16, // 能见度,KM
"realfeel": 32, // 体感温度
"cloudCover": 10, // 云量
"windgustdir": "SE", //阵风风向
"winddir": "SE", // 风向
"pressure": 1003, // 气压
"pressureTendency":"R",// 气压趋势,R:上升;S:稳定;F:下降
"weatherid": 1,// 第三方无效
"comfortlink": "https://hw.zuimeitianqi.com/page/zh/comfor.htm l?cityId=0101250712&lan=zh-cn&partner=04",// 舒适度 H5 落地页
"feelTemperatureShade": 32,
"temperature": 33, // 温度
"windspeed": 12, // 风速
"humidity": 39, // 湿度
"cnweatherid": "0", // 天气码
"updatetime": 1565696880000, // 更新时间
"mobilelink": "https://hw.zuimeitianqi.com/page/zh/today.html?c ityId=0101250712&lan=zh-cn&partner=04"// 实况天气 H5 落地页
},
"city": {// 支持全球 56 种语言
"citycode": "0101250712", // 城市码
"parentcity": "01012507",// 上级城市编码;如雁塔区(0101250712)的上 级城市为西安(01012507)
"provincename": "陕西省",// 省份
"timezone": "Asia/Shanghai",// 时区
"name": "雁塔区",// 站点名
"countryname": "中国"// 国家名
},
"dailys": { // 多天预报
"dailyweathers": [ {
"moonSet": 1565728500000, // 月落
"publictime": 1565650800000, //日期
"maxtemp": 35, //高温
"source": "中国气象局",
"realFeelTempMax": 23, // 体感高温
"conditionDay": { // 白天天气
"windGustDir": "SE", // 阵风风向
"rain": 0.0, // 降雨量
"windlevel": 2, // 风级
"cloudCover": 6.0, // 云量
"snowProb": 0.0, // 降雪概率
"precProb": 14.0, // 降水概率
"thunProb": 3.0, // 雷暴概率
"rainProb": 14.0, // 降雨概率
"ice": 0.0, // 结冰量
"winddir": "NE", // 风向
"weatherid": 1,// 第三方无用
"iceProb": 0.0,// 结冰概率
"snow": 0.0,// 降雪量
"windGustPow": 3,// 阵风风力
"windspeed": 7.0, // 风速,KM
"cnweatherid": 0, // 天气码
"totalLiquid": 0.0// 降水量
},
"moonphase": "WaxingGibbous", // 月相
"sunSet": 1565696040000, // 日落
"moonRise": 1565691540000, // 月落
"mobilelink": "https://hw.zuimeitianqi.com/page/zh/sun.htm l?cityId=0101250712&lan=zh-cn&partner=04¤t=20190813",// 当日天气 H5 落地 页
"conditionNight": {
"windGustDir": "SE",
"rain": 0.0,
"windlevel": 2,
"cloudCover": 32.0,
"snowProb": 0.0,
"precProb": 5.0,
"thunProb": 1.0,
"rainProb": 5.0,
"ice": 0.0,
"winddir": "S",
"weatherid": 7,
"iceProb": 0.0,
"snow": 0.0,
"windGustPow": 3,
"windspeed": 9.0,
"cnweatherid": 1,
"totalLiquid": 0.0
},
"realFeelTempMin": 37, // 体感低温
"sunRise": 1565647380000, // 日出时间
"mintemp": 24 // 低温
},
...
],
"publictime": 1565697643721,
"mobilelink": "https://hw.zuimeitianqi.com/page/zh/days.html?ci tyId=0101250712&lan=zh-cn&partner=04"//多天预报落地页
},
"liveInfos": [ // 生活指数借点
{
"code": "4", // 编码
"level": 2, // 等级
"name": "洗车指数", // 名称
"mobilelilnk": "https://h5.zuimeitianqi.com/page/zh/car.html? cityId=0101061202&lan=zh-cn&partner=chery_car", // 二级页面
"updatetime": 1576555451920,
"day": "2019-12-17", // 日期
"content": "",
"status": "适宜" // 等级描述
}
},
"aqidays": [
{
"date": "2019-08-12",
"aqi": 49, //空气质量值
"lv": 1 //空气质量等级
},
...
],
"aqi": {
"no2": 21,// NO2 浓度,单位μg/m³
"aqivalue": 51,
"o3": 153,// O3 浓度,单位μg/m³
"pm25": 11,// PM25 浓度,单位μg/m³
"so2": 4,// SO2 浓度,单位μg/m³
"pm10": 33,// PM10 浓度,单位μg/m³
"aqivaluetext": "良好",
"lv": "2",// 空气质量等级
"updatetime": 1565694000000, // 更新时间
"aqidesc": "除少数对某些污染物特别容易过敏的人群外,其他人群可以正常进行 室外活动",
"co": 0.5,// CO 浓度,单位μg/m³
"mobilelink": "https://hw.zuimeitianqi.com/page/zh/aqi.html?cit yId=0101250712&lan=zh-cn&partner=04" //空气质量 H5 落地页
},
"alarm": [
{
"TypeN ame": "大雾", // 预警类型
"publictime": 1576454400000, // 发布时间
"level": 2, // 预警等级
"levelName": "黄色", // 预警等级
"id": "0101010120191216075523101010100 大雾黄色", // 预警唯一标识
"title": "大雾黄色预警", //预警标题
"type": 12, // 预警类型
"mobilelink": "https://h5.zuimeitianqi.com/page/zh/warn.html?city Id=01010101&lan=zh-cn&partner=zmweb2", //二级页面 H5
"content": "市气象台 2019 年 12 月 16 日 08 时 00 分发布大雾黄色预警信号:预 计 16 日 08 时至 23 时,本市大部分地区有雾,能见度小于 1 千米,部分地区小于 500 米, 请注意防范。>>(预警信息来源:国家预警信息发布中心)" // 预警报文
},
...
],
"hourlys": {
"hourlyweathers": [
{
"date": 1576490400000, // 小时时间点
"weatherid": 75,// 第三方无用
"temp": 1, // 温度
"rainprobability": 26, // 降水概率
"precipitation":0.054, // 降水量,单位:毫米 mm
"cnweatherid": 2, // 天气状态
"wp": 1, // 风力
"mobilelink": "https://h5.zuimeitianqi.com/page/zh/hourly.h tml?cityId=01010101&lan=zh-cn&partner=zmweb2¤t=2019121618", // 二级 页面 H5
"Isdaynight": false, // 是否为白天;false:夜间;true:白天
"precipitation": 0.34, // 降水量
"wd": "E" //风向
},......
],
"mobilelink":""
},
"radar":{
"dataseries":Array[120],// 降水量
"dataTime":1596174947000, // 雷达数据发布时间
"skycon":"RAIN"// rain:雨,snow:雪
},
"weatherDesc":"晴,明天凌晨 2 点钟后转小雨,其后晴" // 天气状况描述
},
"resultinfo": "OK",
"servertime": 1565699833574,
"resultcode": "0"
}
③ 数据字典
- 天气因子默认单位:
| 数据元素 | 单位 |
|---|---|
| 温度 | 摄氏度℃ |
| 风力 | 风级 |
| 风速 | 千米/小时(Km/h) |
| “海平面”气压 | 百帕(hPa) |
| 能见度 | 千米(Km) |
| 云量 | 百分比(%) |
| 湿度 | 百分比(%) |
| 空气质量子指标(PM10/PM25/NO2/SO2/O3/CO) | 微克/立方米(μg/m³) |
| 气压趋势 | R:上升;S:稳定;F:下降 |
| 台风风圈半径 | 公里 KM,9999 表示无效数据 |
| 小时天气/实况天气降水量 | 毫米每小时 mm/H |
- 天气现象编码表:
| 天气码 | 天气现象 | 天气现象英文 |
|---|---|---|
| 0 | 晴天 | Sunny |
| 1 | 多云 | Cloudy |
| 2 | 阴 | Dreary |
| 3 | 阵雨 | Showers |
| 4 | 雷阵雨 | Thundershower |
| 5 | 雷阵雨伴有冰雹 | Thundershower with hail |
| 6 | 雨夹雪 | Rain and snow |
| 7 | 小雨 | Light rain |
| 8 | 中雨 | Moderate rain |
| 9 | 大雨 | Heavy rain |
| 10 | 暴雨 | Storm |
| 11 | 大暴雨 | Heavy storm |
| 12 | 特大暴雨 | Severe storm |
| 13 | 阵雪 | Snow shower |
| 14 | 小雪 | Light snow |
| 15 | 中雪 | Moderate snow |
| 16 | 大雪 | Heavy snow |
| 17 | 暴雪 | Snowstorm |
| 18 | 雾 | Fog |
| 19 | 冻雨 | Freezing rain |
| 20 | 沙尘暴 | Dust storm |
| 21 | 小到中雨 | Light to moderate rain |
| 22 | 中到大雨 | Moderate to heavy rain |
| 23 | 大到暴雨 | Heavy rain to storm |
| 24 | 暴雨到大暴雨 | Storm to heavy storm |
| 25 | 大暴雨到特大暴雨 | Heavy to severe storm |
| 26 | 小到中雪 | Light to moderate snow |
| 27 | 中到大雪 | Moderate to heavy snow |
| 28 | 大到暴雪 | Heavy snow to snowstorm |
| 29 | 浮尘 | Dust |
| 30 | 扬沙 | Sand |
| 31 | 强沙尘暴 | Sandstorm |
| 53 | 霾 | Haze |
- 风力风向编码表:
| 文字描述 | 方位码 |
|---|---|
| 无持续风向 | E(适配) |
| 旋转不定风 | E(适配) |
| 东北 | NE |
| 东风 | E |
| 东南 | SE |
| 南风 | S |
| 西南 | SW |
| 西风 | W |
| 西北 | NW |
| 北风 | N |
- 月相编码表:
| 下发标识 | 释义 |
|---|---|
| New | 新月 |
| WaxingCrescent | 娥眉月 |
| First | 上弦月 |
| WaxingGibbous | 盈凸月 |
| Full | 满月 |
| WaningGibbous | 亏凸月 |
| Last | 下弦月 |
| WaningCrescent | 残月 |
- 预警类型等级编码表:
-
- 预警类型:
| c_warn_type | c_type_name |
|---|---|
| 1 | 台风 |
| 2 | 暴雨 |
| 3 | 暴雪 |
| 4 | 寒潮 |
| 5 | 大风 |
| 6 | 沙尘暴 |
| 7 | 高温 |
| 8 | 干旱 |
| 9 | 雷电 |
| 10 | 冰雹 |
| 11 | 霜冻 |
| 12 | 大雾 |
| 13 | 霾 |
| 14 | 道路结冰 |
| 15 | 其他 |
| 17 | 雷电大风 |
| 18 | 森林火险 |
| 19 | 寒冷 |
| 20 | 灰霾 |
| 21 | 降温 |
| 22 | 道路冰雪 |
| 23 | 干热风 |
| 24 | 空气重污染 |
| 25 | 冰冻 |
| 26 | 海上大雾 |
| 27 | 雷暴大风 |
| 28 | 持续低温 |
| 29 | 浓浮尘 |
| 30 | 龙卷风 |
| 31 | 低温冻害 |
| 32 | 海上大风 |
| 33 | 低温雨雪冰冻 |
| 34 | 强对流 |
| 35 | 臭氧 |
| 36 | 大雪 |
| 37 | 强降雨 |
| 38 | 强降温 |
| 39 | 雪灾 |
| 40 | 森林(草原)火险 |
| 41 | 雷暴 |
| 42 | 严寒 |
| 43 | 沙尘 |
| 44 | 海上雷雨大风 |
| 45 | 海上雷电 |
| 46 | 海上台风 |
| 47 | 低温 |
| 48 | 地质灾害 |
| 49 | 地质灾害气象风险 |
| 50 | 山洪 |
| 51 | 草原火险 |
| 52 | 雷雨大风 |
-
- 预警等级:
| c_warn_grade | c_grade_name |
|---|---|
| 1 | 蓝色 |
| 2 | 黄色 |
| 3 | 橙色 |
| 4 | 红色 |
| 5 | 其他 |
| 6 | 白色 |
| 7 | 台风 |
④ API 调用
(A)构造请求
- 请求 URI 由如下部分组成:
{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}
- 尽管请求 URI 包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。
- URI-scheme:表示用于传输请求的协议,当前所有 API 均采用 HTTPS 协议;
- Endpoint:指定承载 REST 服务端点的服务器域名或 IP,不同服务不同区域的 Endpoint 不同,可以从终端节点获取;例如 IAM 服务在“华北-北京一”区域的 Endpoint 为“iam.cn-north-1.myhuaweicloud.com”。
- resource-path:资源路径,也即 API 访问路径,从具体 API 的 URI 模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。
- query-string:查询参数,是可选部分,并不是每个 API 都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过 10 条数据。
(B)认证鉴权
- Token 认证:通过 Token 认证调用请求;Token 在计算机系统中代表令牌(临时)的意思,拥有 Token 就代表拥有某种权限,Token 认证就是在调用 API 的时候将 Token 加到请求消息头,从而通过身份认证,获得操作 API 的权限。
- AK/SK 认证:通过 AK(Access Key ID)/SK(Secret Access Key)加密调用请求,推荐使用 AK/SK 认证,其安全性比 Token 认证要高。
(C)API 请求
- 请求地址:
-
- API_TY_Forecast8days:https://zmexp.apistore.huaweicloud.com/bestWeather/ty/forecast8days
-
- API_TY_Condition:https://zmexp.apistore.huaweicloud.com/bestWeather/ty/condition
- 请求参数:
| 名称 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| lat | STRING | 是 | 纬度 |
| lon | STRING | 是 | 经度 |
五、附录
- 文章末尾需加上活动名称及链接地址:【开天aPaaS大作战】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/360253
- 此外,在(https://bbs.huaweicloud.com/activity/suggestion.html)提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)