当前,AWS AppSync提供了一个选项,用于添加测试上下文以测试您的解析器,以确保一切正确。但是,由于我正在使用API密钥进行身份验证,因此我不确定在请求映射模板中进行设置的方法,以便可以运行测试上下文,并且可以测试API的有效性(尤其是因为这是唯一的方法)在测试上下文中没有身份部分的auth)?有人可以帮忙吗?
答案 0 :(得分:0)
您是正确的,即使从客户端调用API时,API密钥授权模式也不会填充身份。
但是,您仍然可以在测试上下文中添加一个标识对象。为此,您需要:
将这些字段添加到您的测试上下文中。例如,IAM测试上下文可能如下所示:
{ “身份”:{ “ accountId”:“我的aws帐户”, “ cognitoIdentityPoolId”:“字符串”, “ cognitoIdentityId”:“字符串”, “ sourceIp”:[“ string”], “ username”:“ string”, “ userArn”:“字符串” }, “参数”:{}, “资源”: { “ lambda”:“你好,世界!”, “ testCtx”:“你好,世界!” }, “结果”:“你好,世界!” }
请求映射模板如下所示:
{
"account: "$ctx.identity.accountId"
}
,运行测试上下文时,评估后的请求映射模板将如下所示:
{
"account: "my aws account"
}
注意:您可能还只想将API切换到计划使用的授权模式,然后以登录用户的身份尝试查询。