Python Buildspec.yml文件中设置的环境变量在生成时未显示在环境中(AWS Lambda/CodeStar)
首先是一点背景知识。我们正在AWS中构建一个应用程序,使用CodeStar控制一切。它是用Python 3编写的 但是,尽管每次尝试,我们都无法获得在buildspec.yml文件中设置的变量,以便在部署代码时在环境中显示 例如,下面是buildspec.yml文件Python Buildspec.yml文件中设置的环境变量在生成时未显示在环境中(AWS Lambda/CodeStar),python,aws-lambda,aws-codestar,Python,Aws Lambda,Aws Codestar,首先是一点背景知识。我们正在AWS中构建一个应用程序,使用CodeStar控制一切。它是用Python 3编写的 但是,尽管每次尝试,我们都无法获得在buildspec.yml文件中设置的变量,以便在部署代码时在环境中显示 例如,下面是buildspec.yml文件 version: 0.2 env: variables: PASSWORD: "abc123" artifacts: type: zip
version: 0.2
env:
variables:
PASSWORD: "abc123"
artifacts:
type: zip
files:
- template-export.yml
- '**/*'
然后,当我们构建一个打印整个环境变量的函数时,变量中没有显示MY_VAR。我们使用的代码基本上如下所示:
import os
def handler(event, context):
PASSWORD1 = str(os.environ["PASSWORD"])
print(PASSWORD1)
据我所知,它目前有一个分配给它的角色,赋予它完全的权限。我相信有一个简单的解决方案,但到目前为止,我们还没有找到它-尽管花了数小时试图让它工作
如有任何帮助或指点,将不胜感激
注意-这似乎非常类似于:
但是我们希望在yaml文件中设置变量,而不是通过Lambda配置区域设置变量。如果您有template.yaml文件,请将环境变量放入该文件中。在资源的属性中,包括名为Environment的属性和名为Variables的子属性。这里有一个与我们使用的类似的例子
LambdaFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./src
Handler: lambda_function.lambda_handler
MemorySize: 1024
Timeout: 3
Environment:
Variables:
LOG_LEVEL: DEBUG