Amplify Function 的模拟环境变量
Posted
技术标签:
【中文标题】Amplify Function 的模拟环境变量【英文标题】:Mock environment variables for Amplify Function 【发布时间】:2020-04-19 16:47:18 【问题描述】:我使用 Amplify 创建了一个 AWS Lambda 函数(名为 getDictionaryTranslation)。处理函数如下所示:
exports.handler = async function (event, context) //eslint-disable-line
const appId = process.env.APP_ID;
const appKey = process.env.APP_KEY;
context.done(null, `$appId|$appKey`);
;
然后我从这个函数创建了一个 GraphQL 查询
type Query
getDictionaryTranslation(word: String!, lang: String!): String! @function(name: "getDictionaryTranslation-$env")
我们可以按照这个文档https://docs.aws.amazon.com/lambda/latest/dg//env_variables.html在AWS控制台上设置APP_ID
和APP_KEY
值
但是,在我的本地计算机上运行 amplify mock
时。如何设置这些变量值?
【问题讨论】:
您找到解决方案了吗? 【参考方案1】:我也有同样的问题。我有两种解决方法 1. 对 lambda 中的 API_KEY 进行硬编码,因为键值是一个常量字符串 2. 在-cloudformation-template.json 中添加API_KEY 作为环境变量,并通过对应的function-parameter.json 文件传递key 值。这种方式也是一种硬编码。
【讨论】:
谢谢,这两种方法都可以在源代码控制(github、gitlab、.etc)上显示 API_KEY。目前,我对这些密钥进行了硬编码,并在每次将代码推送到源代码控制时清除它们。以上是关于Amplify Function 的模拟环境变量的主要内容,如果未能解决你的问题,请参考以下文章
模拟适用于 Android 的 AWS Amplify Auth API
错误:重复的文件或模拟。请查看控制台了解更多信息(React Native Amplify)