iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python脚本读取Consul配置信息的方法示例
  • 495
分享到

Python脚本读取Consul配置信息的方法示例

2024-04-02 19:04:59 495人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

先来说一下背景,为什么要写脚本去读Consul的配置信息呢?Consul是啥呢?consul是Google开源的一个使用go语言开发的服务发现、配置管理中心服务。目前公司用的是这个东

先来说一下背景,为什么要写脚本去读Consul的配置信息呢?Consul是啥呢?consul是Google开源的一个使用go语言开发的服务发现、配置管理中心服务。目前公司用的是这个东西去管理项目上的一些配置信息。公司的环境是通过Docker镜像的方式去部署的,镜像是通过rancher去进行管理的。这一套东西面临的一个问题是:服务每次更新之后,服务对应的ip地址是动态变化的。每次需要使用swagger去测接口的时候,都要去rancher上去重新找新的ip地址,比较麻烦。正好呢,最近部门在考虑准备做接口自动化测试,到时候ip总是变的问题也是需要解决的,因此,就先写个脚本调接口获取配置信息,拿到某个服务的ip和端口信息。顺带的把swagger地址也打印出来,以后要访问某个服务的swagger地址就方便很多了。

python读取Consul配置信息的话,用到的是Python-consul库,在使用前,需要先安装一下对应的插件


pip install python-consul

封装好的读取consul配置的类如下:

以下脚本中定义的函数,暂时只做数据打印,并未返回具体的数据,因为不同的consul地址,上面的配置信息其实还需要做处理,比如我这次主需要取出一些部署的服务的ip和端口信息,但是consul上面还有一些其他的配置信息,是可以过滤掉的。并且,有的配置项可能由于配置错误,会存在重复的配置,暂时没有删除,这种的话,后续可以在脚本中根据返回的相关字段,去取有效的配置信息。


import consul
 
 
class RFConsul(object):
 
    def __init__(self, host, port):
        """初始化,连接consul服务器"""
        self._client = consul.Consul(host, port, scheme='Http', verify=False)
 
    def getAllServices(self):
        services = self._client.agent.services()
        for i in services:
            service = services.get(i)
            print({service['Service']: service})
 
    def getServiceByName(self, service_name):
 
        data = self._client.catalog.service(service_name)
        for value in data[1]:
            print(service_name + "服务的swagger地址: " + "http://" + value['ServiceAddress'] + ":" + str(value['ServicePort']) + "/swagger-ui.html")

getServiceByName:根据服务名,调用后,直接打印拼接好的swagger-ui的访问地址。

getAllServices:打印某个consul地址下的所有配置信息。

调用方式:


host = "127.0.0.1"  # consul服务器的ip
port = "8500"  # consul服务器对外的端口
consul_client = RFConsul(host, port)
consul_client.getAllServices()
res = consul_client.getServiceByName("xxx-servicename") # 输入配置项的名称

调用后,直接得到类似下图的swagger访问地址是不是很香:

然后,在公司中的话,像这种配置中心的地址一般都需要通过代理才能访问,公司用的是Socket5的代理,一般在调用脚本的时候要把代理软件打开。也可以在脚本中添加socket代理的配置信息:


 import socket
 import socks
 socks.set_default_proxy(socks.SOCKS5, "ip", port)
 socket.socket = socks.socksocket

到此这篇关于Python脚本读取Consul配置信息的方法示例的文章就介绍到这了,更多相关Python读取Consul配置信息内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python脚本读取Consul配置信息的方法示例

本文链接: https://www.lsjlt.com/news/156134.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python脚本读取Consul配置信息的方法示例
    先来说一下背景,为什么要写脚本去读Consul的配置信息呢?Consul是啥呢?consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。目前公司用的是这个东...
    99+
    2024-04-02
  • Python脚本如何读取Consul配置信息
    这篇文章给大家分享的是有关Python脚本如何读取Consul配置信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先来说一下背景,为什么要写脚本去读Consul的配置信息呢?Consul是啥呢?consul是g...
    99+
    2023-06-25
  • Shell脚本读取ini配置文件的实现方法
    本篇内容介绍了“Shell脚本读取ini配置文件的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简单版参考stackoverfl...
    99+
    2023-06-09
  • springboot配置文件读取pom文件信息方式
    目录配置文件读取pom文件信息解决的问题解决修改后的写法maven打包命令可能会出现的一些问题Pom文件依赖配置说明scope依赖范围配置文件读取pom文件信息 解决的问题 spri...
    99+
    2024-04-02
  • Python如何获取实时股票信息的方法示例
    如何获取实时股票信息 股票信息的接口有很多,之前大家常用的是新浪的,但在年初的时候,新浪的接口突然不能使用,给大家造成了很大的困扰,为此网上也有很多教程教大家如何从新浪获取数据,跟着...
    99+
    2024-04-02
  • 用于读取不同消息模式的 Python 脚本
    问题内容 我正在尝试制作一个灵活的python脚本,从synop代码中读取和提取一些天气变量。 这是代码: import re def extract_data_12_utc(mes...
    99+
    2024-02-11
    python脚本
  • Python 获取磁盘信息的脚本及常用文
    文件是否存在 os.path.exists(save_to_path+ '/0.png'): 删除 os.remove(save_to_path + '/0.png') 当前运行的脚本位置 run_path = os.path.s...
    99+
    2023-01-31
    磁盘 脚本 常用
  • laravel配置修改及读取的示例
    小编给大家分享一下laravel配置修改及读取的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1)laravel 的所以配置文件都在根目录下的 config ...
    99+
    2023-06-06
  • py3nvml实现GPU相关信息读取的示例分析
    py3nvml实现GPU相关信息读取的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在深度学习或者其他类型的GPU运算过程中,对于GPU信息的监测也是一...
    99+
    2023-06-26
  • Python语言脚本的安装和配置方法
    这篇文章主要讲解了“Python语言脚本的安装和配置方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python语言脚本的安装和配置方法”吧!1. 安装与配置Python语言脚本目前***...
    99+
    2023-06-17
  • python读取/写入配置文件ini方法
    在写测试脚本时,经常有一些需要变动的数据,可以单独放在ini文件里,然后读取传递给 相应的函数,这样程序操作更灵活。具体的方法介绍如下: 文件结构: Cofig.ini内容:[test1]ip = 10.10.10.10 [test2]po...
    99+
    2023-01-31
    配置文件 方法 python
  • DOS下内存信息的配置方法
    这篇文章主要介绍“DOS下内存信息的配置方法”,在日常操作中,相信很多人在DOS下内存信息的配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”DOS下内存信息的配置方法”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-08
  • 解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题
    @ConfigurationProperties是springboot新加入的注解,主要用于配置文件中的指定键值对映射到一个java实体类上。那么它是怎么发挥作用的呢?下面我们将揭开...
    99+
    2024-04-02
  • Python实现爬取房源信息的示例详解
    目录前言分析页面,寻找切入点爬取数据整理数据,导出文件前言 最近由于工作突然变动,新的办公地点离现在的住处很远,必须要换房子租了。 我坐上中介的小电驴,开始探索城市各处的陌生角落。 ...
    99+
    2024-04-02
  • shell脚本配置hostname的方法步骤
    目录1.Shell字符串拼接(连接、合并)2.shell产生随机数的方法2.1 通过内部系统变量($RANDOM)2.2 读取linux的uuid码2.3 使3.修改hostname1.Shell字符串拼接(连接、合并)...
    99+
    2023-03-23
    shell脚本配置hostname shell配置hostname
  • WinForm怎么保存和读取应用程序的配置信息
    在WinForm应用程序中,可以使用AppConfiguratioin类来保存和读取应用程序的配置信息。以下是保存和读取应用程序配置...
    99+
    2024-04-08
    winform
  • .NET Core读取配置文件的方法
    配置文件是每个项目最基础的部分,也是不可或缺的部分,比如:数据库连接、中间件属性等常见的配置。 今天这篇文章主要内容就是,在.Net Core项目中怎样去读取配置文件并使用。 提前准...
    99+
    2024-04-02
  • Python读取配置文件-ConfigParser的二次封装方法
    目录Python读取配置文件-ConfigParser二次封装直接上上代码读取配置文件&&简单封装1.configparser模块2.configparser读取文件...
    99+
    2024-04-02
  • 查看win10电脑配置和系统基本信息的方法
    当我们使用电脑遇到一些问题时,可能需要知道电脑配置和系统信息才能解决。win10系统如何查看系统信息和电脑的配置呢,请阅读本篇经验。 系统设置查看 1、打开【开始菜单】 2、进入【系统设置】 3、选择”...
    99+
    2023-06-11
    win10 电脑配置 信息 系统 方法
  • VisualStudio2019配置OpenCV4.5.0的方法示例
    一、下载安装OpenCV4.5.0 1、进入opencv官网 2、点击Release进入Release界面,选择Windows版本 3、读秒完成即可开始下载,建议使用迅雷...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作