Amazon web services lambda函数中api键的aws appsync环境变量

Amazon web services lambda函数中api键的aws appsync环境变量,amazon-web-services,aws-lambda,graphql,aws-amplify,Amazon Web Services,Aws Lambda,Graphql,Aws Amplify,我有一个react web应用程序,它使用aws amplify构建其后端。该后端由一个graphql api和一个lambda函数组成,前者以dynamodb表作为数据源(由我的graphql模式中声明的模型创建),后者从第三方api获取信息,并将结果保存到dynamodb表中,以使其可用于应用程序 遵循本教程: 我创建了运行“放大添加函数”命令的lambda函数。当我被问到lambda是否应该访问其他放大资源时,我回答“是”,我给lambda对我的graphqlapi的写和更新访问权,以便

我有一个react web应用程序,它使用aws amplify构建其后端。该后端由一个graphql api和一个lambda函数组成,前者以dynamodb表作为数据源(由我的graphql模式中声明的模型创建),后者从第三方api获取信息,并将结果保存到dynamodb表中,以使其可用于应用程序

遵循本教程:

我创建了运行“放大添加函数”命令的lambda函数。当我被问到lambda是否应该访问其他放大资源时,我回答“是”,我给lambda对我的graphqlapi的写和更新访问权,以便我可以从lambda执行突变

当我完成创建过程时,amplify通知我lambda中有两个新的环境变量可用:

API_<MY_APP>_GRAPHQLAPIENDPOINTOUTPUT
API_<MY_APP>_GRAPHQLAPIIDOUTPUT
API_u_图形QLAPIEndpointOutput
API_u_图形QLAPIIDOUTPUT
然而,问题是,我还需要api键才能执行突变(我的GraphQLAPI将“api键”作为主要id方法)

本教程使用process.env.API_键。然而,他们并没有解释这个变量的来源,因为在我的例子中,它的值是未定义的

您知道如何使api密钥可用于我的lambda吗


注意:硬编码不是一个选项,因为我有几个后端环境。

环境变量称为
API\uu GRAPHQLAPIKEYOUTPUT
。仅当为GraphQLAPI启用API密钥身份验证时,才会显示此消息

以下是为Lambda函数添加访问权限以访问GraphQL API时在控制台中打印的内容的示例:

You can access the following resource attributes as environment variables from your Lambda function
        API_AMPLIFYTEST_GRAPHQLAPIENDPOINTOUTPUT
        API_AMPLIFYTEST_GRAPHQLAPIIDOUTPUT
        API_AMPLIFYTEST_GRAPHQLAPIKEYOUTPUT
此外,Amplify CLI会在Lambda函数索引文件顶部生成注释,其中包含有用的env变量列表

我用Amplify CLI 4.36.0版测试了这一点