【问题标题】:Mock environment variables for Amplify FunctionAmplify 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_IDAPP_KEY

但是,在我的本地计算机上运行 amplify mock 时。如何设置这些变量值?

【问题讨论】:

  • 您找到解决方案了吗?

标签: aws-lambda aws-amplify aws-amplify-cli


【解决方案1】:

我也有同样的问题。我有两种解决方法 1. 对 lambda 中的 API_KEY 进行硬编码,因为键值是一个常量字符串 2. 在-cloudformation-template.json 中添加API_KEY 作为环境变量,并通过对应的function-parameter.json 文件传递​​key 值。这种方式也是一种硬编码。

【讨论】:

  • 谢谢,这两种方法都可以在源代码控制(github、gitlab、.etc)上显示 API_KEY。目前,我对这些密钥进行了硬编码,并在每次将代码推送到源代码控制时清除它们。
猜你喜欢
  • 2019-08-21
  • 1970-01-01
  • 2023-02-15
  • 2021-03-11
  • 1970-01-01
  • 2013-06-05
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
相关资源
最近更新 更多