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

网站开发手机版专业建站

网站开发手机版,专业建站,wordpress添加视频集,学校网站要求背景 之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo#xff0c;预期建设方案是使用触发器类型从公共的文档源拉取最新的文件#xff0c;然后调用Java将文件转Base64后入ES建索引#xff0c;再提供封装接口给前端做查询之用。 由于全部内容过长#xff…背景 之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo预期建设方案是使用触发器类型从公共的文档源拉取最新的文件然后调用Java将文件转Base64后入ES建索引再提供封装接口给前端做查询之用。 由于全部内容过长为了便于阅读按照大的章节分为三部分第一部分讲述基于WebHook的触发机制怎么搭建包含全部实现细节 使用Git Hook获取文件变化 我们内部使用了GitBucket因此方案采用它的WebHook功能来实现。 GitBucket支持Webhook功能允许你设置一个URL当特定的Git事件发生时如push事件GitBucket会向这个URL发送一个POST请求。 这个功能可以在【设置】-【Service Hooks】找到 但是看介绍这需要一个接收Webhook事件的URL因此我们需要创建一个SpringBoot的Rest服务来提供这个功能。 SpringBoot脚手架 使用阿里云脚手架创建初始化项目https://start.aliyun.com/ 创建一个hello world接口 GetMapping(/hello) public String hello() { // 获取当前日期和时间 LocalDateTime dateTime LocalDateTime.now(); // 定义日期和时间格式 DateTimeFormatter formatter DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss); return Welcome! Now is: dateTime.format(formatter) \n; }启动应用进行冒烟测试使用浏览器访问http://localhost:8080/hello 返回Welcome! Now is:2024-03-05 15:45:57 完美 上述测试成功后创建一个Webhook的测试接口代码如下 package com.es.file.search; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; RestController public class MyController { PostMapping(/gitbucket/webhook) public ResponseEntity? handleGitBucketWebhook(RequestBody String payload) { // 处理GitBucket发送的Webhook事件 // 解析JSON获取事件信息 // 提取变更的文件列表 // 处理文件 System.out.println(payload); return ResponseEntity.ok().build(); } }测试一下接口使用后台curl命令发送请求 curl -XPOST -H Content-Type: application/json -d {key1:value1, key2:value2} http://localhost:8080/gitbucket/webhook上述命令发送后后台打印 至此本地的测试Rest接口已经大功告成了。 Hook实测 登录到GitBucket打开想监控的仓库设置找到Webhook部分并添加一个新的Webhook Payload URL: 填写你的服务接收Webhook事件的URL就是上面的测试接口。Content type: 选择application/json。Events: 选择push这样只有当有新的提交推送到仓库时你的服务才会收到通知。Active: 确保这个Webhook是激活状态。 上面第一个参数的url填好之后它右侧直接就有一个测试按钮点击测试通过的结果是这样的注意响应码是200 然后我们给仓库推送一个更新看看打印的内容是什么。 格式化打印 在此之前我们先做一个json格式化的操作以免打印的内容过长无法阅读。 首先引入一个新的依赖 dependency groupIdorg.json/groupId artifactIdjson/artifactId version20210307/version /dependency然后打印的代码修改如下 import org.json.JSONObject;JSONObject jsonObject new JSONObject(payload); String formattedJsonString jsonObject.toString(4); System.out.println(formattedJsonString);重启应用。 我在后台push了一条变更之后应用立即收到更新消息Server端的打印截图 WebHook发送消息体内容较多至少包含了该提交增删改查的信息如removed表示删除了哪些内容added额度表示新增了哪些文件我们可以重点关注added和modified针对新增和修改的内容进行进一步的处理。 下一步动作 总体思路基于前面已经搭建的WebHook触发流程接收到push更新消息之后使用本地的git工具拉取最新变动。这些文件与我们的ES应用在同一台机器上然后Java可以读取这些文件转码并交给ES处理。
http://www.hkea.cn/news/14402573/

相关文章:

  • 四川省住房和城乡建设厅网站wordpress数据库发布文章
  • 谷歌浏览器对做网站有什么好处wordpress 前端修改
  • 湘潭网站建设出色磐石网络微信小程序怎么清理掉
  • 阜宁网站建设小程序商城使用教程
  • jsp小型网站开发石家庄自适应网站建设
  • 网站手机页面做多大东莞做营销型网站的
  • 北京专业网站设计制作360安全网址
  • 网站底部美化代码益阳网站建设公司电话
  • 城乡建设与环保部网站关键词排名优化佛山售后
  • 怎么修改网站首页html代码顺义企业建站
  • 怎样在工商局网站上做变更网站开发 书籍
  • 嘉兴网站搜索优化什么是口碑营销
  • 电商网站大连网站推广是做什
  • 太仓网站建设服务老薛主机卸载wordpress
  • 织梦添加网站音乐app运营推广策划方案
  • 法律网站模板企业名录app
  • ai生成建筑网站东莞seo服务商
  • 成都网站建设木子网络健身器材 网站模版
  • 嵊州哪里可以做网站网站建设的例子
  • 国内产品网站w源码1688wordpress 主题 更新
  • 网站策划书哪个容易做指纹锁在什么网站做宣传好
  • 免费最好网站建设人际网络营销三商法
  • kali做钓鱼网站齐齐哈尔网站seo
  • 网站首页设计大赛建设部网站技术负责人业绩表
  • 论文收录网站排名盈利型网站
  • 网站建设捌金手指花总十八如果做网站运营
  • 毕节市网站建设宁波免费自助建站模板
  • iis网站目录权限微信公众平台小程序官网
  • 建个网站花钱做百度推广014最新电影网站源码程序|自动采集|一键采集|静态生成|联盟利器
  • 用什么软件做网站前端四川网站开发哪家好