psu*_*has 8 amazon-web-services aws-lambda
我正在使用AWS Lambda并且可以使用Alias功能指向我们拥有的多个代码促销阶段(例如dev,qa,prod等).我已将别名设置为与stage相同的名称.大多数这些功能都是从S3或SNS触发的,每个阶段都有不同的实例.
如何设置基于别名的环境变量,以便该函数可以获取特定信息.基本功能(通常是dev)中的env vars设置被转移到所有不适用于部署的别名.
我知道如何在API网关中使用阶段变量,但目前的用途不是通过网关.
任何帮助将不胜感激,Thx
小智 8
我不相信有办法实现你想要的.您需要使用正确的环境变量发布Lambda函数的三个版本,并将每个别名指向函数的正确版本.
在将别名指向它们之前,您可以使用描述字段来帮助描述版本,以使更改更容易理解.
我也发现有趣的是,这不是别名计划的一部分,但是您的代码中确实有可用的上下文-Context.InvokedFunctionArn
我认为MINDSET是您可以调用的,例如,一个S3存储桶,并具有TEST或DEV或PROD前缀(基于上下文InvokedFunctionArn您知道哪个别名)。给定基于ARN的上下文和安全性,您可以使用存储桶策略/ IAM来限制您的TEST ARN只能访问TEST s3前缀文件。这解决了环境之间的安全性。
注意:我不同意此模型,并认为环境变量应位于别名中,如果别名中未指定,则应使用该版本中的名称。
尽管这可以解决问题,但围绕前缀等额外条件的复杂性有时会被错误地配置-拥有单独的存储桶似乎更安全,并且可以更好地匹配无服务器应用程序模型文档。
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |