Twilio Flex插件环境变量

Twilio Flex插件环境变量,twilio,twilio-flex,Twilio,Twilio Flex,在Twilio Flex插件上为不同环境管理不同变量的最佳方法是什么 我有两个环境,staging(dev)和Prod,staging将部署dev分支上的内容,Prod将部署Master分支上的内容。如何为两者设置不同的变量,例如API端点、workspaceSid等 干杯和你的想法一样。Flex插件实际上是上传到Twilio运行时服务的,但它只用于托管静态资产,您不能向其中添加自己的Node.js函数,因此您不能使用运行时服务中通常使用的环境变量 Flex中环境变量(如特定于实例的配置)的解决

在Twilio Flex插件上为不同环境管理不同变量的最佳方法是什么

我有两个环境,staging(dev)和Prod,staging将部署dev分支上的内容,Prod将部署Master分支上的内容。如何为两者设置不同的变量,例如API端点、workspaceSid等


干杯和你的想法一样。Flex插件实际上是上传到Twilio运行时服务的,但它只用于托管静态资产,您不能向其中添加自己的Node.js函数,因此您不能使用运行时服务中通常使用的环境变量

Flex中环境变量(如特定于实例的配置)的解决方案似乎是Flex配置对象。这在回答中有所描述:

也可以通过文档中的此页面:

基本上,您可以使用API将自己的配置值添加到每个环境的JSON对象中,然后从Flex插件的
manager.serviceConfiguration
中访问这些值

请注意,即使文档中没有提及,这些方法也可通过以下网址获得:

文档中也没有明确提到,您可能希望将注意力集中在顶级键
属性
crm\u属性
、以及
ui\u属性
。如果您使用TypeScript构建插件,则有一个用于
ServiceConfiguration
的类型化接口,但这些属性是
any
类型,因此您可以添加自己的子属性,而无需编译器在您尝试访问它们时对您大喊大叫

还有一点值得注意的是,您不能像对待环境变量那样对待这些变量,因为它们是向客户机公开的。如果您有敏感机密,您应该将必要的功能考虑到后端(如在Twilio运行时),在那里您可以安全地使用环境变量,然后使用JWT和下面描述的模式验证从Flex到该后端的请求:


这可能会有帮助-在他们的文档中发现了这一点:正确,这就是我最终所做的。谢谢你的回复
twilio api:flex:v1:configuration:fetch   -- fetch a Configuration resource
twilio api:flex:v1:configuration:update  -- update a Configuration resource