概览
完成您的任务!在本实验中,您将使用 DynamoDB 完成并发布任务档案生成器。本实验是由三部分组成的系列实验中的第 3 部分。在第 1 部分中,您创建了 DynamoDB 表并输入了任务数据。在第 2 部分中,您创建并测试了 Lambda 函数来检索任务数据。第 3 部分是这个由三部分组成的系列实验的最后一个部分,在第 3 部分中,您将使用 Amazon API Gateway 配置 API 并设置一个公共网站,运用您在所有三个实验中学到的知识,通过 Lambda 函数从 DynamoDB 表中检索信息,派出超级英雄来拯救世界!
涵盖的主题
本实验结束时,您将能够:
- 为 Lambda 函数创建 API 以使用 Amazon API Gateway 访问 DynamoDB 表
- 为 API 生成软件开发工具包
- 使用 Amazon S3 配置和发布内容
…向超级英雄提供他们所面临任务的详细信息!
实验先决条件
您应参加 Introduction to Amazon DynamoDB 实验来熟悉重要概念。本实验是由三部分组成的系列实验中的第 3 部分。三个实验每个都可以独立进行,但由于这些实验以您之前所学的知识为基础,因此在参加本实验之前,请先完成 Serverless Web Apps using Amazon DynamoDB – Part 1 和 Serverless Web Apps using Amazon DynamoDB – Part 2,这样,您可以获得最佳学习体验。
其他 AWS 服务
在您进行本实验期间,IAM 策略将禁用本实验不需要的其他 AWS 服务。此外,本实验中只会使用所需的服务功能,并且在某些情况下,甚至会根据实验设计特意进一步限制这些功能。在访问其他服务或执行本实验指南中未提供的操作时,预计会出现错误。
Amazon DynamoDB
Amazon DynamoDB 是一项快速灵活的 NoSQL 数据库服务,适合所有需要一致性且延迟低于 10 毫秒的任意规模的应用程序。它是一种完全托管式云数据库,支持文档和键值两种存储模式。灵活的数据模型和可靠的性能使其成为移动、Web、游戏、广告技术、IoT 和众多其他应用程序的不二之选。
您可以使用 Amazon DynamoDB 创建一个数据库表来存储和检索任意数量的数据,并处理任何级别的请求流量。Amazon DynamoDB 可以自动将表的数据和流量分布到足够多的服务器中,以便处理客户指定的请求容量和数据存储量,同时保持一致且快速的性能。
有关 Amazon DynamoDB 的更多信息,请参阅 https://aws.amazon.com/documentation/dynamodb/。有关定价的信息,请参阅 https://aws.amazon.com/dynamodb/pricing/。
AWS Lambda
AWS Lambda 是一项计算服务,可在云中提供可调计算容量,让开发人员能更轻松地进行 Web 规模的计算。将您的代码上传到 AWS Lambda,AWS Lambda 负责预置和管理用于运行代码的服务器。AWS Lambda 支持多种编码语言:Node.js、Java 或 Python。 您可以通过两种方式来使用 AWS Lambda:
- 作为一项事件驱动的计算服务:AWS Lambda 运行您的代码来响应事件,例如您将在本实验中看到的上传图像文件。
- 作为一项计算服务:运行您的代码来响应使用 Amazon API Gateway 发出的 HTTP 请求或响应 API 调用。
Amazon Lambda 可以为您带来 Amazon 规模的经济效益。Lambda 只在必要时执行您的代码并进行自动扩展,从每天处理数次请求扩展到每秒处理数千次请求。借助 Lambda,您可以轻松地为 AWS 服务(例如 Amazon S3 和 Amazon DynamoDB)构建数据处理触发程序、处理存储在 Amazon Kinesis 中的流数据,或创建您自己的达到 AWS 规模、性能和安全性的后端。
本实验指南将分步讲解 AWS 的基本概念。但是,它只简单概述 Lambda 概念。要了解更多信息,请参阅官方发布的适用于 Lambda 的 Amazon Web Services 文档:https://aws.amazon.com/documentation/lambda/。 有关定价详情,请参阅 https://aws.amazon.com/lambda/pricing/。
Amazon API Gateway
Amazon API Gateway 是一项完全托管式服务,可让开发人员轻松创建、发布、维护、监控和保护任意规模的 API。只需在 AWS 管理控制台中单击几下,您就能创建可充当应用程序“前门”的 API,从后端服务访问数据、业务逻辑或功能。您可以将它用于在 Amazon Elastic Compute Cloud (Amazon EC2) 上运行的工作负载、在 AWS Lambda 上运行的代码(您将在本实验中看到)或任何 Web 应用程序。Amazon API Gateway 负责处理所有任务,涉及接受和处理成千上万个并发 API 调用,包括流量管理、授权和访问控制、监控以及 API 版本管理。
有关文档,请参阅 https://aws.amazon.com/documentation/apigateway/。有关定价详情,请参阅 https://aws.amazon.com/api-gateway/pricing/。