当前位置: 首页 > news >正文

通过kettle获取API数据

1. 概况:

使用 kettle 获取高德 API 提供 天气信息;

2. 准备:

成为开发者并创建 Key 文档:创建应用和 Key-Web服务 API | 高德地图API

高德天气查询开发文档:基础 API 文档-开发指南-Web服务 API | 高德地图API

2.1. 接口介绍:

2.1.1. 天气查询API服务地址

URL

请求方式

https://restapi.amap.com/v3/weather/weatherInfo?parameters

GET

parameters 代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。下面的列表枚举了这些参数及其使用规则。

2.1.2. 请求参数

参数名

含义

规则说明

是否必须

缺省值

key

请求服务权限标识

用户在高德地图官网 申请 web 服务 API 类型 KEY

必填

city

城市编码

输入城市的 adcode,adcode 信息可参考 城市编码表

必填

extensions

气象类型

可选值:base/all

base:返回实况天气

all:返回预报天气

可选

output

返回格式

可选值:JSON,XML

可选

JSON

2.1.3. 返回结果参数说明

实况天气每小时更新多次,预报天气每天更新3次,分别在8、11、18点左右更新。由于天气数据的特殊性以及数据更新的持续性,无法确定精确的更新时间,请以接口返回数据的 reporttime 字段为准。天气结果对照表>>

名称

含义

规则说明

status

返回状态

值为0或1

1:成功;0:失败

count

返回结果总数目

info

返回的状态信息

infocode

返回状态说明,10000代表正确

lives

实况天气数据信息

province

省份名

city

城市名

adcode

区域编码

weather

天气现象(汉字描述)

temperature

实时气温,单位:摄氏度

winddirection

风向描述

windpower

风力级别,单位:级

humidity

空气湿度

reporttime

数据发布的时间

forecast

预报天气信息数据

city

城市名称

adcode

城市编码

province

省份名称

reporttime

预报发布时间

casts

预报数据 list 结构,元素 cast,按顺序为当天、第二天、第三天的预报数据

date

日期

week

星期几

dayweather

白天天气现象

nightweather

晚上天气现象

daytemp

白天温度

nighttemp

晚上温度

daywind

白天风向

nightwind

晚上风向

daypower

白天风力

nightpower

晚上风力

2.1.4. 服务示例
https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<用户key>

参数

备注

必选

city

需要查询天气的城市编码

2.2. 城市编码表 下载

adcode 信息可参考城市编码表,下载地址: https://lbs.amap.com/api/webservice/download

3. kettle 实现:

3.1. 总 job

思路:分两步走,一、获取到城市信息;二、把城市信息中的adcode 作为参数传到一转换中;

3.2. 获取城市信息步骤;

步骤解释:

① 城市信息:

组件 ,由 excel 表输入(数据下载地址: https://lbs.amap.com/api/webservice/download)。

② 过滤:

组件,把“中国”过滤掉,因为“中国”范围太大,返还不了值;

③ 修改名:

组件,整理下字段名,非必要步骤;

④ 保留记录:

组件,把值存储起来;(作用:用于存储查询出的数据信息,如excel的导入结果,sql查询的结果等。一般在同一个 作业 中的不同 转换 中使用)。

备注:以上步骤属于基本操作略

3.3. 获取天气信息步骤:

步骤解释:

① 设置此转换参数(见下图)

② 获取变量:

组件,作用是用来获取上一步骤中的值;

③ 拼 URL:

组件。

④ 通过请求获取 api 数据;组件有:

本次中使用的

组件;

三者区别:
HTTP client 组件对应的API的请求方式为’GET’.
HTTP post 组件对应的API的请求方式为’POST’.
REST client 组件则可以灵活的选择’GET’,'POST’或者其他请求方式.

关于 REST client 组件可以参考:kettle介绍-Step之REST Client_kettle rest client-CSDN博客 文章

⑤ 解析状态字段,采用

组件。

附:JsonPath 说明

⑥ 判断(非必须步骤)

⑦ 解析天气信息字段。

⑧ 字段改名:作用是为了与数据库中的名一样,后续方便些(非必须步骤)。

⑨ 生成 uuid 及生成创建时间

⑩ 数据入库,用

组件。

最后一步也是最重要一点:在 job 中设置参数循环;

整个流程完结;

4. 总结:

此实例中涉及到:1.请求获取数据;2.JSON 解释;3.在 job 中的循环;

最后附件上项目地址:GitCode - 全球开发者的开源社区,开源代码托管平台

http://www.dtcms.com/a/297336.html

相关文章:

  • 虚拟机docker elasticsearch启动失败
  • JMeter每次压测前清除全部以确保异常率准确(以黑马点评为例、详细图解)
  • 如何提高微信小程序的应用速度
  • 数据赋能(332)——安全与合规——保密管理
  • RocketMQ5.3.1的安装
  • C 语言数组深度解析:从内存布局到安全实践的全维度指南
  • 二开---01
  • 什么是FCR,如何提升FCR?
  • Springboot3.0 集成 RocketMQ5
  • linux配置ntp时间同步
  • 告别虚函数性能焦虑:深入剖析C++多态的现代设计模式
  • Go 官方 Elasticsearch 客户端 v9 快速上手与进阶实践*
  • 银河麒麟安装软件商店方法
  • 《设计模式之禅》笔记摘录 - 10.装饰模式
  • vue项目入门
  • PostgreSQL对象权限管理
  • 全新轻量化PHP网盘搜索引擎系统源码
  • 常用设计模式系列(十三)—组合模式
  • Oracle 的单体安装
  • Android Room 持久化库:简化数据库操作
  • Kingbasepostgis 安装实践
  • GaussDB 逻辑备份实操
  • AR眼镜重塑外科手术导航:精准“透视”新突破
  • Elasticsearch-8.17.0 centos7安装
  • 《Angular+Spring Boot:ERP前端采购销售库存协同架构解析》
  • AR与AI融合:医疗诊断的智能新引擎
  • 解决angular与jetty websocket 每30s自动断连的问题
  • 安装pyarrow包
  • 小程序安卓ApK转aab文件详情教程MacM4环境
  • 好看的小程序推广单页HTML源码 可用作导航页