AWS APIGateway& Lambda - 如何在iOS App终止之前调用函数?

时间:2017-03-21 20:00:58

标签: swift amazon-web-services aws-lambda aws-api-gateway aws-cognito

我已经与AWS合作了一段时间,我开始掌握APIGateway和Lambda。我刚刚创建了一个Lambda函数,它接收用户输入的用户名,然后使用AdminDeleteUser函数从用户池中删除该用户,并且它工作正常。我甚至将它设置为使用API​​Gateway在XCode中使用它也可以正常工作。

问题
我的问题是,我试图让Lambda函数在用户终止iOS应用程序时正常运行。我正在使用NotificationCenter观察器观察应用程序何时终止,除了我相信一旦应用程序完全终止时Lambda函数的调用被取消,这意味着它无法完成完整请求。我的lambda函数实质上检查正在接收的用户名是否是未经证实的用户,如果他们未经证实,则从用户池中删除它们。我在屏幕上这样做,用户必须确认通过短信发送的确认码

问题
所以我想我的问题是,

  1. 在应用程序终止时是否可以调用Lambda函数?
  2. 如果没有,在App退出之前,是否可以从用户池中删除当前用户?
  3. 先谢谢你。

1 个答案:

答案 0 :(得分:1)

听起来正如您所描述的那样正是您所描述的。在连接到服务之前,应用程序正在退出。

更好的设计可能是让流程以X间隔(using a Lambda scheduled event)运行,以自动从数据存储中删除任何未经证实的用户。

修改

搜索未经确认的用户时,您应该能够使用UserCreateDate字段检查用户是否已在指定的时间内注册。如果' createDate'在这段时间内,忽略该用户。

ListUsers API

enter image description here