在 AWS Appsync 中没有任何上下文的 400 响应,其中 Lambda 是数据源

问题描述 投票:0回答:1

当我尝试调用 graphql API 时,我在 AWS Appsync 控制台中收到以下响应。

Request failed with status code 400

查询:

query MyQuery {
  getUserData(inputArguments: $inputArguments) {
    __typename
  }
}

变量:

{
    "inputArguments": {
    }
}

我无法调试它,因为 Lambda 没有被调用。

amazon-web-services aws-lambda graphql aws-appsync
1个回答
0
投票

这很有可能是权限不足造成的。 Appsync是否有权调用Lambda函数?

Somawhat 类似问题在这里讨论 https://github.com/aws/aws-cdk/issues/19239

从作为解决方案的链接问题中摘录代码。它授予 appsync.amazonaws.com 调用“authorizerLambda”lambda 的权限:

    authorizerLambda.addPermission("appsync", {
      principal: new ServicePrincipal('appsync.amazonaws.com'),
      action: 'lambda:InvokeFunction',
    })
© www.soinside.com 2019 - 2024. All rights reserved.