【发布时间】:2020-11-07 17:17:20
【问题描述】:
我正在我的 AWS 账户中运行一个 lambda,它试图对通过 AWS_IAM 进行身份验证的同一账户中的 AppSync 实例运行突变。我创建了一个角色,我的 lambda 假定它可以使用以下文档访问我的突变:
{
"Action": [
"appsync:GraphQL",
"sts:AssumeRole"
],
"Resource": "arn:aws:appsync:us-west-2:<MyAWSAccountId>:apis/<MyAppSyncAPiId>/types/Mutation/fields/*",
"Effect": "Allow"
},
但是,我收到以下错误:
错误
{
data: {},
errors: [
GraphQLError: adapter is not a function
at APIClass.<anonymous> (/var/task/node_modules/@aws-amplify/api/dist/aws-amplify-api.js:4627:24)
at step (/var/task/node_modules/@aws-amplify/api/dist/aws-amplify-api.js:3800:19)
at Object.throw (/var/task/node_modules/@aws-amplify/api/dist/aws-amplify-api.js:3730:14)
at rejected (/var/task/node_modules/@aws-amplify/api/dist/aws- amplify-api.js:3692:32)
at runNextTicks (internal/process/task_queues.js:62:5)
at processImmediate (internal/timers.js:429:9)
at process.topLevelDomainCallback (domain.js:137:15)
]
}
当我在我的测试帐户中运行时,lambda 身份验证代码有效,并且我已验证测试帐户和此帐户之间的权限相同。我还验证了 account id 和 api Id 是正确的并且架构匹配。
由于我在测试和生产中使用相同的库,所以我对这个错误的含义有点迷茫。帐户中是否还有其他可能导致此错误的不匹配项?
【问题讨论】:
标签: amazon-web-services graphql aws-appsync