【问题标题】:Notify Appsync User on Friend Request在好友请求中通知 Appsync 用户
【发布时间】:2019-01-14 08:50:59
【问题描述】:

我将 Appsync 和 Cognito 用于基于浏览器的 Vue 应用程序。 我有一个带有 2 个 DynamoDB 表的模型,一个用于跟踪用户,另一个用于关注。我希望能够在其他用户通过电子邮件关注他们时通知用户。我如何利用 Cognito、AppSync 或 SES 来做到这一点

这是我的模型:

type User {
    username: String!
    following: [Follow]
}

type Follow {
    username: String!
    following: String!
}

我如何通过电子邮件通知用户有新的关注?

【问题讨论】:

    标签: amazon-cognito aws-appsync


    【解决方案1】:

    这应该是完全可以的,我可以想出几种方法来做到这一点:

    1) 在您的关注表上设置 DynamoDB 流,然后通过使用流作为事件源将 Lambda 连接到该流,这意味着 Lambda 将自行轮询流,因此您不必担心得到事件。在该 Lambda 中,解析出关注者和被关注者,并向 SES 发送一封带有适当上下文的电子邮件。

    2) 使用 Lambda 数据源,而不是直接的 DynamoDB 数据源。在这个 Lambda 数据源中,首先像往常一样与 Dynamo 通信,然后直接调用 SES。

    3) 在新的后续突变上设置管道解析器。第一阶段将是一个纯 Dynamo 数据源,然后下一个阶段将负责发送电子邮件。这实际上与 2 相同,只是逻辑分离更清晰。

    我个人认为 1 或 3 是不错的选择,但这有点取决于您的应用程序需求/个人偏好。

    【讨论】:

    • 但是我如何访问他们的电子邮件地址,因为它只存储在 cognito 中?
    • 好问题。我相信 id 令牌包含有关用户的声明,包括电子邮件地址。你可以把它从那里拉出来。或者,如果不可用,您可以拨打 GetUser 电话。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多