2

我使用 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.htmlAPP_ID在 AWS 控制台上设置和赋值APP_KEY

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

4

1 回答 1

1

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

于 2020-01-05T04:56:25.480 回答