环境变量与连接引用之设,其理一也:管理式方案当导入于Dev、Test、UAT及Prod,而开发者无需于其间更易一字。二者各以其道达此理,若团队混同二者,终致流程或于导入时败,或于误向系统成功运行。
此乃吾所施之分割,亦为统摄其间的部署设定之范式。
何者各为其物
連接參照者,乃指向實際經驗證之連接者也。所謂連接,即持"此乃吾 SharePoint 證明"或"此乃吾 Acme REST API 之憑證"之對象也。連接參照者,乃流程所使用之名槽,以代直接連接焉。
当管治之方导入新境,联接之引空焉。必系于目标境之存联。初导暂驻,俟管治者创此联接;后导复用之。
环境变量者,有类型之值也——或为文辞,或为数目,或为JSON,或为真伪,或为自Azure Key Vault所引之密钥——而解决方案之代码,于运行时读之。流程调用environmentVariables('acme_AcmeApiBaseUrl'),以其所返之值,用于HTTP之动作。
其别在于:连接引用者,表流程所连接者何也。环境变量者,表流程所连接者何物也。
吾所分之
之连接引用于
- : SharePoint之站点,流程所读
- : SQL数据库,集成所写
- : 客户计费系统之定制连接器
- : 任何认证服务,连接器处理认证之处
:
- 之环境变量: HTTP动作所击之定制REST端点API基础URL
- 特性标志(acme_EnableCouponRedemption)
- 租户标识、客户标识、查询中所用分区键
- 环境差异阈值(速率限制、批处理大小)
- 通过密钥库经由密钥类型环境变量获取的密钥值
气味测试:此流程是否认证该物?连接引用。是否为流程所用的值?环境变量。
部署设定.json之范式
管道引取管理方案时,目标环境需每环境变量之值及每连接引用之绑。此二者皆源部署设定.json,存于库中,每目标各一。
每目标管道步骤:
密钥藏于密钥库,由密钥库URI自环境变量之秘钥类型所引。机要之物,不入git.
了然:环境变量之模式名,有误
定义存于方案之Other/EnvironmentVariables.xml内。部署设置之文件,以SchemaName引之。若大小写有异,则得:
- 引入之际,硬性失败,示"环境变量未寻",或
- 默然之成,变量未设,运行时返空值
其二则危矣。流程遇API基址为空,常构畸形之URL,HTTP调用遂败,而错误之讯指HTTP之行,非变量之阙也
今自解XML生部署之骨,非亲笔为之:
众填其值,未尝填其模式名。一谬类除矣.
了然:初引后,联接未系.
首引于新境,联接皆虚。引虽成,流不能行,盖无以认证也.
处此有二法:
- 互动初引。管事启之,系各联引,启流焉。
- 预备联接暨部署之设。管事一创联接,录其联引之号,置诸部署之设/prod.json。管道引联于初引之际。
路径二,需于每环境每连接施以一次性人工,则往后部署皆可无需干预。路径一,于低频部署尚可,然每度发布皆耗人力。
交付于客户管理员
当客户接管我等所建环境之管理时,彼等得:
- 其环境之部署设定文件,彼等所留空白之值
- 一页手册:管道运行后当查之事(环境变量值、连接引用绑定)
- 若环境变量用密钥型,其密钥库URL
心中分判愈明,其手递愈洁。












