python 調用apollo


import requests

requests.get('http://xxx.xxx.xxx.xxx/configfiles/json/yunwei/default/application').json()

1,通過帶緩存的Http接口從Apollo讀取配置

該接口會從緩存中獲取配置,適合頻率較高的配置拉取請求,如簡單的每30秒輪詢一次配置。

由於緩存最多會有一秒的延時,所以如果需要配合配置推送通知實現實時更新配置的話,請參考通過不帶緩存的Http接口從Apollo讀取配置

 

Http接口說明

URL: {config_server_url}/configfiles/json/{appId}/{clusterName}/{namespaceName}?ip={clientIp}

Method: GET

參數說明:

參數名 是否必須 參數值 備注
config_server_url Apollo配置服務的地址  
appId 應用的appId  
clusterName 集群名 一般情況下傳入 default 即可。 如果希望配置按集群划分,可以參考集群獨立配置說明做相關配置,然后在這里填入對應的集群名。
namespaceName Namespace的名字 如果沒有新建過Namespace的話,傳入application即可。 如果創建了Namespace,並且需要使用該Namespace的配置,則傳入對應的Namespace名字。需要注意的是對於properties類型的namespace,只需要傳入namespace的名字即可,如application。對於其它類型的namespace,需要傳入namespace的名字加上后綴名,如datasources.json
ip 應用部署的機器ip 這個參數是可選的,用來實現灰度發布。 如果不想傳這個參數,請注意URL中從?號開始的query parameters整個都不要出現。

2,通過不帶緩存的Http接口從Apollo讀取配置

該接口會直接從數據庫中獲取配置,可以配合配置推送通知實現實時更新配置。

Http接口說明

URL: {config_server_url}/configs/{appId}/{clusterName}/{namespaceName}?releaseKey={releaseKey}&ip={clientIp}

Method: GET

參數說明:

參數名 是否必須 參數值 備注
config_server_url Apollo配置服務的地址  
appId 應用的appId  
clusterName 集群名 一般情況下傳入 default 即可。 如果希望配置按集群划分,可以參考集群獨立配置說明做相關配置,然后在這里填入對應的集群名。
namespaceName Namespace的名字 如果沒有新建過Namespace的話,傳入application即可。 如果創建了Namespace,並且需要使用該Namespace的配置,則傳入對應的Namespace名字。需要注意的是對於properties類型的namespace,只需要傳入namespace的名字即可,如application。對於其它類型的namespace,需要傳入namespace的名字加上后綴名,如datasources.json
releaseKey 上一次的releaseKey 將上一次返回對象中的releaseKey傳入即可,用來給服務端比較版本,如果版本比下來沒有變化,則服務端直接返回304以節省流量和運算
ip 應用部署的機器ip 這個參數是可選的,用來實現灰度發布。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM