管理變量
云原生應(yīng)用開(kāi)發(fā)平臺(tái) CAP通過(guò)變量管理,提供了跨服務(wù)管理配置和敏感字段托管的能力,支持定義項(xiàng)目級(jí)別的共享變量和服務(wù)級(jí)別的服務(wù)變量,并提供引用功能。
您定義共享變量后,可以在相關(guān)配置中以${shared.變量名}
形式引用變量;定義服務(wù)變量后,可以在相關(guān)配置中以${self.變量名}
形式引用變量。添加、更新或刪除變量會(huì)導(dǎo)致項(xiàng)目的一系列變更,點(diǎn)擊全量部署后,變量的變更方可生效。
變量類型
變量分為共享變量和服務(wù)變量兩種類型,其作用域和支持的數(shù)據(jù)類型如下所示:
變量類型 | 共享變量 | 服務(wù)變量 |
作用域 | 本項(xiàng)目下的所有服務(wù)配置內(nèi) | 本服務(wù)配置內(nèi) |
數(shù)據(jù)類型 | String類型 | String類型 |
引用方式 |
|
|
函數(shù)服務(wù)配置中的環(huán)境變量與以上兩種變量類型不同,詳情請(qǐng)參考函數(shù)計(jì)算配置環(huán)境變量。函數(shù)服務(wù)中環(huán)境變量的值可以引用共享變量和服務(wù)變量中的值。
加密變量
共享變量和服務(wù)變量均提供了加密功能,用于托管項(xiàng)目或服務(wù)的敏感信息字段(例如數(shù)據(jù)庫(kù)賬密、訪問(wèn)令牌等)。進(jìn)入項(xiàng)目詳情頁(yè),點(diǎn)擊項(xiàng)目配置,可以查看該項(xiàng)目下的共享變量名和對(duì)應(yīng)的值,以及該變量被哪些服務(wù)所引用。點(diǎn)擊編輯鏈接,可以添加、刪除或修改變量。
同樣,進(jìn)入服務(wù)詳情界面,點(diǎn)擊服務(wù)變量,可以對(duì)該服務(wù)的變量進(jìn)行管理。
若打開(kāi)加密開(kāi)關(guān),該變量將被CAP加密托管,點(diǎn)擊保存并全量部署后在控制臺(tái)和部署日志中均以密文的形式透出,不顯示明文。
變量選擇加密保存后不支持再次查看明文。若需修改,點(diǎn)擊編輯,修改原有的值點(diǎn)擊保存即可。此外,部署過(guò)程中,CAP會(huì)在部署鏈路自動(dòng)解密,并保護(hù)明文不在日志或控制臺(tái)中透出,用戶不需要在控制臺(tái)對(duì)加密變量進(jìn)行額外的解密操作。
引用變量
項(xiàng)目中的共享變量,可以在該項(xiàng)目下的任何服務(wù)配置內(nèi)以${shared.變量名}
的方式引用此共享變量的值。服務(wù)變量,可以在該服務(wù)的配置內(nèi)以${self.變量名}
形式引用此服務(wù)變量的值。例如,可以在如下函數(shù)服務(wù)的環(huán)境變量中,引用此項(xiàng)目的共享變量和此服務(wù)的服務(wù)變量。
可引用范圍
共享變量引用范圍
共享變量:共享變量?jī)?nèi)可以引用其他的共享變量,例如共享變量A可以引用共享變量B的值。
服務(wù)變量:服務(wù)變量可以引用共享變量的值。
服務(wù)配置:服務(wù)配置可以引用共享變量的值。
服務(wù)變量引用范圍
服務(wù)變量:服務(wù)變量只可以引用本服務(wù)內(nèi)的服務(wù)變量,服務(wù)變量暫不支持跨服務(wù)引用,若需跨服務(wù)引用某一字段,推薦使用共享變量。例如一個(gè)項(xiàng)目包含兩個(gè)服務(wù),函數(shù)服務(wù)和流程服務(wù),函數(shù)服務(wù)中的服務(wù)變量不能訪問(wèn)流程服務(wù)中的服務(wù)變量,可將流程服務(wù)中的變量配置在共享變量中,兩個(gè)服務(wù)分別用
${shared.變量名}
的方式引用。服務(wù)配置:服務(wù)配置可以引用本服務(wù)內(nèi)的服務(wù)變量。
高級(jí)引用方式
拼接引用
變量管理支持多個(gè)變量或變量+字符串的拼接引用,即某一變量的值可以是多個(gè)變量引用的拼接,CAP支持對(duì)這樣的拼接引用進(jìn)行解析,具體如下圖所示:
嵌套引用
變量管理支持字符串的嵌套引用。例如下圖中url變量可以對(duì)domainName變量做引用,CAP支持對(duì)這樣的嵌套引用進(jìn)行解析。
查看真實(shí)值
配置變量,點(diǎn)擊保存,并在上方點(diǎn)擊全量部署按鈕,變量的修改方可生效。在共享變量頁(yè)面或服務(wù)變量頁(yè)面,點(diǎn)擊可以查看變量引用解析后的真實(shí)值。