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 | 這個參數是可選的,用來實現灰度發布。 |