在好友请求上通知 Appsync 用户

Notify Appsync User on Friend Request

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

这是我的模型:

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

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

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

应该是完全可以的,我想了几个办法:

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

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

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

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