使用KONGA配置Elasticsearch中的数据作为API接口

前提条件:

首先要将Oracle的数据导入到Elasticsearch中。之前的步骤以及总结在下面的博客中:使用logstash将Oracle数据导入到Elasticsearch

一、在Elasticsearch中对以导入的表创建别名

二、在KONGA中创建CONSUMER

在导航栏中选择创建CONSUMER,打开以下界面:

点击CREATE CONSUMER,输入我们需要的username:

然后创建group,Group name 为 user_AI 后面我们会用到:

三、在KONGA中创建SERVICES

在导航栏中选择创建SERVICES,打开以下界面:

我们点击 ADD NEW SERVICE,打开以下选项卡:

其中按照我们需要填入Service的信息:

Name:sugon_course
Description:警察学院课程信息服务
Protocol:http
Host:es-cluster 
Port:9200
Path:/gxjx_kcsjlb/doc/_search  (具体访问路径)

注意:
Host中一般写 Elasticsearch 的IP,但是这里写es-cluster。端口也写访问Elasticsearch 的Port,上篇博客我们导入到 Elasticsearch 的路径:

对于Host,其中没有写具体的IP,而是es-cluster,其来源:


detail --> Targets 可以看到他可以访问的IP,这里就包含了我们之前Elasticsearch 存在的IP地址:

四、对我们创建的Service新建Route

在此Server中新建Route  -->  course

自定义Paths,后面访问使用此路径,记得String Path选为YES,Protocols为http,调用的方法选择GET

注意:很多参数需要我们写好以后回车才能存入,如果存在写好了对应参数,结果关掉以后没有更新,应该就是写好后未回车确认。

五、在创建好的Service中建立3个Plugins

点击对应Service下面的Plugins,打开以下界面:

A.编辑Key Auth,这里的key names填写apikey:

B.在Transfoemations中新建一个Request Transformer:

编辑Request Transformer,写入Request,看要返回哪些数据:

样例:

_source_includes:kch,kcmc,kcywmc,xf,zhxs,zxs,llxs,syxs,kcjj,jc,cksm,kcfzrh,kcksdwh,sjxs,kcjxdg,kcjbm,kclbm,kclxm,sftk,tkrqsj,ksrqsj,scbz,kcxz,kkbmdm

然后我们再使用路径调用时可以有选择的返回数据。

C.新建ACL:

编辑Acl:

其中white list中填写的 “user_AI” 是我们在第二步时创建的group name。为了安全性只允许这个group进行访问。
三个plugins添加好后如下图:

六、测试API是否可用

最后API访问路径如下:

http://192.168.102.25:8000/sugon/gxjg_jzgjcsjzlb?apikey=WxNsQstXvqxLsPl3JTT8iC65Kalt5HNU

一定要加上 ?apikey=WxNsQstXvqxLsPl3JTT8iC65Kalt5HNU  其中的值在CONSUMERS -> VR-AI教育->Credentials->API KEYS中看:

测试结果:

可以看到使用该路径就可以成功获取到之前导入到Elasticsearch中的数据了。

 

拓展:

这里分享一下最后编辑的API文档格式,可以做个参考。

3课程数据信息

请求方式:GET

请求路径/sugon/gxjg_jzgjcsjzlb

字段说明:

字段

类型

说明

备注

数据情况

KCH

string

课程号

 

KCMC

string

课程名称

 

KCYWMC

string

课程英文名称

 

XF

int

学分

 

ZHXS

string

周学时

 

ZXS

int

总学时

 

LLXS

int

理论学时

 

SYXS

int

实验学时

 

KCJJ

CLOB

课程简介

 

JC

CLOB

教材

 

CKSM

CLOB

参考书目

 

KCFZRH

string

课程负责人号

 

KCKSDWH

string

课程开设单位号

 

SJXS

int

实践学时

 

KCJXDG

string

课程教学大纲

 

KCJBM

string

课程级别码

 

KCLBM

string

课程类别

 

KCLXM

string

课程类型

 

SFTK

string

是否停开

 

TKRQSJ

string

停开日期时间

 

KSRQSJ

string

开设日期时间

 

SCBZ

string

删除标志

 

KCXZ

string

课程性质

 

KKBMDM

string

开课学院代码

 

请求示例:

GET /sugon/gxjg_jzgjcsjzlb?size=1&apikey=XXXXXXXXXXX

返回示例:

{
    "took":16,
    "timed_out":false,
    "_shards":{
        "total":5,
        "successful":5,
        "failed":0
    },
    "hits":{
        "total":4440,
        "max_score":1,
        "hits":[
            {
                "_index":"gxjx_kcsjlb_index",
                "_type":"doc",
                "_id":"bx080200",
                "_score":1,
                "_source":{
                    "kcjxdg":null,
                    "sjxs":0,
                    "scbz":null,
                    "kcxz":"必修课",
                    "kclxm":null,
                    "kkbmdm":"17",
                    "kcjbm":null,
                    "cksm":null,
                    "kcjj":null,
                    "ksrqsj":null,
                    "sftk":null,
                    "kclbm":null,
                    "jc":null,
                    "kcfzrh":null,
                    "tkrqsj":null,
                    "kch":"bx080200",
                    "zxs":null,
                    "kcksdwh":"17",
                    "llxs":16,
                    "syxs":0,
                    "kcywmc":null,
                    "zhxs":"4.0-0.0",
                    "kcmc":"人文素养系列讲座(创新实验班)",
                    "xf":1
                }
            }

    }
}

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青山孤客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值