华为云之开天aPaaS的深度使用体验和天气系统的集成指南【开天aPaaS大作战】

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

一、开天 aPaaS 简介

① 什么是开天 aPaaS 集成工作台?

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

image.png

  • 开天集成工作台关键特性包括:
    • 数据模型管理:提供领域信息模型的采集、定义、管理能力,支撑在行业建立标准的领域信息模型库,行业内各厂家应用依托标准的领域信息模型进行互联互通;
    • API 生命周期管理:支持合作伙伴的 API 设计、实施、测试、发布、运维、消费和运营,并可封装为便于编排的连接器和流;
    • 连接器管理:它是集成工作台流编排能力扩展的唯一方式,提供了丰富的预置连接器,用户还可以基于 API 自定义连接器;
    • 流管理:基于连接器,通过可视化的方式进行流式组合,实现集成流编排,扩展支持多种形式编排如流程编排,事件编排等;
    • 开天集成工作台使能伙伴的 SaaS 高效上云,与伙伴共建行业方案,共同沉淀和分享行业经验。

② 产品优势

  • 面向行业的业务模型库,拉通管理者、业务人员和 IT 人员;
  • 行业能力 API 化,覆盖工业、城市治理、教育、办公、Message、Map、移动应用等领域;
  • SaaS 应用间集成资产多样化,开箱即用,降低交付复杂度;
  • 基于标准业务模型的集成模式,每个应用只需集成一次,实现 XYZ 变成 X+Y+Z;
  • 开放的连接框架,可灵活定义各种连接器和流,适配企业的业务逻辑。

③ 应用场景

  • 企业把自身能力以 API 服务的形式开放出来,通过 API 衔接应用开发者、系统集成商等,从而服务更多的商业场景,快速形成产业链,从而让企业以最小改动满足用户碎片化且日益增长的需求:

image.png

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

image.png

④ 使用流程

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

  • 流体现的是一个具体的业务场景,包括触发事件和执行动作,通过创建编排而成,流有两种类型和两种创建方式。
  • 流类型:
    • 自动化流:开启流之后,当触发事件发生,可自动执行后续动作;
    • 手动触发流:通过单击运行按钮启动流,例如,通过单击运行按钮向邮箱发送天气预报。
  • 流创建方式:
    • 从头开始创建:根据业务场景需求选择触发事件和执行动作创建流。
    • 从模板创建:选择系统中的流模板创建流,根据业务场景对触发事件和执行动作进行添加、编辑或删除。
  • 连接器通过统一协议接入各类应用/系统,提供强安全、高可用、轻量化的连接能力,同时输出覆盖各类业务场景的应用标准数据模型,开天集成工作台内置了大量连接器,也支持用户自定义连接器。

二、开天 aPaaS API

① API 生命周期

  • API 生命周期包括 API 的创建、发布、下线和删除的完整生命周期管理功能,华为云 API 网关(API Gateway)为您提供高性能、高可用、高安全的 API 托管服务,能快速将企业服务能力包装成标准 API 服务,帮助您轻松构建、管理和部署任意规模的 API,并上架 API 市场进行售卖。
  • 借助 API 网关,可以简单、快速、低成本、低风险地实现内部系统集成、业务能力开放及业务能力变现。API 网关帮助您变现服务能力的同时,降低企业研发投入,让您专注于企业核心业务,提升运营效率。

② API 说明

  • 认证识别:提供各类卡证、票据的识别 API,包括银行卡、身份证、票据等,提供实名认证、企业核验等 API:

image.png

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

image.png

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

image.png

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

image.png

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

image.png

三、开天 aPaaS 工作台的开通

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

image.png

四、“最美天气”集成指南

① API 说明

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

② 大颗粒接口协议详情

image.png

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

image.png

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

image.png
image.png

  • 请求返回数据包示例+参数释义:
{ "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 请求

名称 类型 是否必填 描述
lat STRING 纬度
lon STRING 经度

五、附录

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。