当前位置: 首页 > 知识库问答 >
问题:

当AWS AppSync使用Cognito时,如何验证Lambda生成的突变

曹疏珂
2023-03-14

目前AWS AppSync只能订阅突变,这是获得实时更新的唯一方法。但是,如果对AppSync之外的备份数据进行了更改(如Lambda函数中的DynamoDB更新),那么我们如何通知客户端?

我能看到的唯一解决方案是用“本地”解析器创建一个突变,并让更新DynamoDB的Lambda调用这个突变。但我的问题是AppSync身份验证,在我的情况下设置为Cognito。

我尝试在Lambda角色中授予IAM对appsync:GraphQL的访问权限,但直到我将appsync中的身份验证类型从Cognito更改为IAM后,这才起作用。当然,Cognito身份验证不适用于web客户端。

我的Lambda函数是否必须通过Cognito使用用户名和密码进行身份验证才能触发变异?或者有没有其他方法可以通知Lambda的客户?

共有1个答案

张昊穹
2023-03-14

您需要将AppSync auth type设置为IAM,并通过与您的Cognito用户池关联的Cognito联邦身份服务(具有适当配置的身份验证策略)获取AWS凭据。然后,您应该能够将这些凭据用于IAM对AppSync的访问。

 类似资料:
  • 我正在尝试在 Swift 中创建一个 iOS 应用程序,该应用程序使用 AWS Lambda 使用以下身份验证服务 - https://github.com/danilop/LambdAuth 它使用适用于 iOS 的 AWS 移动开发工具包与迪纳摩数据库和 Lambda 进行通信 - http://docs.aws.amazon.com/mobile/sdkforios/developergui

  • 所以我不知道这是否真的描述了我的问题,但这是我能得到的最接近的吗? 我正在使用AWSAppsyncClient进行一些GraphQL突变。由于模型的性质,在更大程度上,由于我缺乏经验,我需要创建一个记录,然后创建两个依赖于第一个的记录,然后才能将它们链接到数据库中。 目前,我正在进行第一次变异,它返回所创建记录的ID。然后在查询返回的promise中创建中间记录。它基本上看起来像: 问题是Prom

  • 我怎么能做到这一点Java8 Lambdas:

  • 我只是想为用户类编写一个测试来检查验证。我想知道没有任何东西被验证为带注释的。 现在我在尝试这个: 我假设了一些例外,但没有。 那么有没有办法测试这些注释呢 什么时候启动这些验证

  • 我一直在尝试使用AWS Cognito实现无密码身份验证 我关注了这些文章:https://medium.com/digicred/password-less-authentication-in-cognito-cafa016d4db7 https://medium.com/@pjatocheseminario/passwordless-api-using-cognito-and-serverle

  • 本文向大家介绍使用java生成字母验证码,包括了使用java生成字母验证码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java生成字母验证码的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。