AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

教程:使用 AWS Lambda 作为移动应用程序后端

在本教程中,您将创建一个简单的 Android 移动应用程序。本教程的主要目的是向您介绍如何挂载各种组件,以使 Android 移动应用程序能够调用 Lambda 函数和处理响应。应用程序本身很简单,我们将做出以下假设:

  • 示例移动应用程序将采用以下格式生成包含姓名(名字和姓氏)的事件数据:

    Copy
    { firstName: 'value1', lastName: 'value2' }
  • 您使用 Lambda 函数处理事件。也就是说,应用程序(使用适用于 Android 的 AWS 移动软件开发工具包)通过将事件数据传递给 Lambda 函数 (ExampleAndroidEventProcessor) 来调用该函数。本教程中的 Lambda 函数将执行以下操作:

    • 将传入的事件数据记录到 Amazon CloudWatch Logs。

    • 成功执行后,在响应正文中返回简单的字符串。您的移动应用程序将使用 Android Toast 类来显示消息。

注意

该移动应用程序调用 Lambda 函数的方式(本教程所示)展示了 AWS Lambda 的请求-响应模型,即:应用程序调用 Lambda 函数,然后实时接收响应。有关更多信息,请参阅编程模型

实现摘要

本教程分为两个主要部分:

  • 首先,执行创建 Lambda 函数的必要设置,然后使用示例事件数据(不需要移动应用程序来测试 Lambda 函数)手动调用该函数以便对其进行测试。

  • 其次,创建 Amazon Cognito 身份池以管理身份验证和权限,并创建该示例 Android 应用程序。然后,运行该应用程序,它其将调用 Lambda 函数。您随后可以验证端到端体验。在本教程示例中:

    • 您将使用 Amazon Cognito 服务来管理用户身份、身份验证和权限。移动应用程序必须具有有效的安全凭证和调用 Lambda 函数的权限。在设置应用程序的过程中,您创建一个 Amazon Cognito 身份池来存储用户身份并定义权限。有关更多信息,请参阅 Amazon Cognito

    • 本移动应用程序不需要其用户登录。移动应用程序可以要求用户使用公共身份提供商(如 Amazon 和 Facebook)登录。本教程的范围有限并假定移动应用程序用户未经身份验证。因此,在配置 Amazon Cognito 身份池时,您将执行以下操作:

      • 启用未经身份验证的身份的访问权限。

        Amazon Cognito 为这些用户提供了用于调用 Lambda 函数的唯一标识符和临时 AWS 凭证。

      • 在与未经身份验证的用户的 IAM 角色关联的访问权限策略中,添加调用 Lambda 函数的权限。一个身份池有两个关联的 IAM 角色,一个用于经过身份验证的应用程序用户,另一个用于未经身份验证的应用程序用户。在本例中,Amazon Cognito 使用用于未经身份验证的用户的角色来获取临时凭证。当应用程序使用这些临时凭证调用 Lambda 函数时,仅当应用程序具有必要权限时才能执行此操作(也就是说,凭证可能有效,但您还需要权限)。您可以通过更新 Amazon Cognito 用来获取临时凭证的权限策略来执行此操作。

下图说明应用程序的流程:

您现在可以开始教程。

下一步

步骤 1:准备

本页内容: