需要在 AWS IAM(身份和访问管理服务)中配置相应的权限。
示例代码:
首先,在 AWS IAM 中创建一个新用户并为其配置相应的权限。例如,以下是在 IAM 中创建一个名为“graphql-user”的用户并授予其执行 Lambda 函数的权限的示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": [
"arn:aws:lambda:us-east-1:123456789012:function:graphql-function"
]
}
]
}
然后,在客户端使用 AWS SDK 进行身份验证时,请使用该用户的访问密钥和秘密密钥。
代码示例(使用 Node.js 和 AWS SDK):
const AWS = require('aws-sdk');
const credentials = new AWS.Credentials({
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY'
});
const lambda = new AWS.Lambda({
region: 'us-east-1',
credentials: credentials
});
lambda.invoke({
FunctionName: 'graphql-function'
}, (error, data) => {
if (error) {
console.error(error);
} else {
console.log(data);
}
});
如上所述,配置正确的权限和正确的身份验证权限后,执行 AWS 的 graphql query 就可以成功执行。