我正在尝试使用本地开发模式在本地测试 Python lambda 以及 AppConfigAgent lambda 扩展 (https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retriving-simplified-methods- local-development.html).
如果没有本地开发模式,我就可以正常工作。我可以卷曲我的 lambda,它会从真实的 AWS 环境中查找 AppConfig 并返回结果。
但是,在本地运行进行测试时,我不希望使用真正的 AppConfig,而是使用配置文件中的值(按照上面的链接)。
我已将环境变量添加到我的
template.yaml
文件中,但它似乎没有被拾取。
Environment:
Variables:
LOCAL_DEVELOPMENT_DIRECTORY: "./appconfig"
有人成功了吗?
谢谢。
编辑:连接到正在运行的容器时添加示例输出:
bash-4.2# export | grep AWS_APPCONFIG
declare -x AWS_APPCONFIG_EXTENSION_LOCAL_DEVELOPMENT_DIRECTORY="/var/task/appconfig"
declare -x AWS_APPCONFIG_EXTENSION_LOG_LEVEL="debug"
bash-4.2# ls /var/task/appconfig/ -l
total 8
-rw-r--r-- 1 root root 65 Jan 4 12:15 app:environment:profile
-rw-r--r-- 1 root root 65 Jan 4 12:15 app:environment:profile.json
bash-4.2# curl http://localhost:2772/applications/app/environments/environment/configurations/profile
{"Message":"Application not found","ReferencedBy":{"ApplicationIdentifier":"app"},"ResourceType":"Application"}
bash-4.2#
使用
AWS_APPCONFIG_EXTENSION_LOCAL_DEVELOPMENT_DIRECTORY
环境变量。
在 Lambda 中运行代理时,环境变量以
AWS_APPCONFIG_EXTENSION_
为前缀(请参阅 https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-lambda-extensions.html#appconfig-integration -lambda-扩展-配置)。
顺便说一句,我在 AWS AppConfig 团队工作。我们将更新我们的文档以使这一点更加清晰。