返回

Serverless与云函数实战:天气API

前端

前言

Serverless 架构已成为云计算领域备受瞩目的趋势之一。它提供了一种更敏捷、更具成本效益的方式来构建和部署应用程序。云函数是一种无服务器计算服务,允许您在云中运行代码,而无需管理基础设施。

在本文中,我们将介绍如何使用 AWS 云函数构建一个天气预报 API。我们将使用 Node.js 作为编程语言,并使用第三方库来获取天气数据。

步骤一:注册 AWS 账号

如果您还没有 AWS 账号,请先注册一个。注册过程很简单,只需要提供您的电子邮件地址和密码即可。

步骤二:进入 AWS 控制台

注册成功后,您将被重定向到 AWS 控制台。控制台是 AWS 服务的集中管理平台。

步骤三:云函数-函数服务

在控制台中,找到“云函数”服务,然后点击“函数服务”。

步骤四:新建云函数

点击“新建云函数”按钮,选择“从头开始创建”选项。

步骤五:录入基本信息

在“基本信息”页面,输入以下信息:

  • 函数名称:输入一个唯一的函数名称,例如“weather-api”。
  • 运行时:选择“Node.js 12.x”。
  • 内存:选择“512 MB”。
  • 超时:选择“30 秒”。

步骤六:完成创建

点击“创建”按钮,创建云函数。

步骤七:触发器

触发器是当某些事件发生时触发云函数执行的机制。

步骤八:创建触发器

在“触发器”页面,点击“添加触发器”按钮,选择“HTTP”选项。

步骤九:大功告成

至此,您已经成功创建了一个云函数并为其添加了 HTTP 触发器。这意味着,当有人向该云函数发送 HTTP 请求时,云函数将被执行。

步骤十:观察接口

现在,您可以在浏览器中输入云函数的端点 URL 来访问该 API。例如,如果您的云函数名称是“weather-api”,那么端点 URL 就是“https://.amazonaws.com/weather-api”。

步骤十一:日志查询

您可以使用 AWS CloudWatch 来查询云函数的日志。这对于调试云函数很有帮助。

步骤十二:安装依赖的模块

现在,我们需要安装依赖的模块。打开您的终端,进入到云函数的代码目录,然后运行以下命令:

npm install request

步骤十三:编写云函数代码

接下来,我们需要编写云函数代码。创建一个名为“index.js”的文件,并添加以下代码:

const request = require('request');

exports.handler = (event, context, callback) => {
  const city = event.queryStringParameters.city;

  const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${process.env.WEATHER_API_KEY}`;

  request(url, (error, response, body) => {
    if (error) {
      callback(error);
    } else {
      callback(null, {
        statusCode: 200,
        body: body
      });
    }
  });
};

步骤十四:部署云函数

现在,我们需要将云函数代码部署到 AWS。在控制台中,找到您的云函数,然后点击“部署”按钮。

步骤十五:测试云函数

现在,您可以使用 Postman 或其他 HTTP 请求工具来测试您的云函数。在 Postman 中,创建一个新的请求,并输入云函数的端点 URL。在“Body”选项卡中,选择“JSON”选项,并输入以下 JSON 数据:

{
  "city": "Beijing"
}

然后,点击“发送”按钮。如果一切正常,您应该会收到一个包含天气预报数据的 JSON 响应。

结论

恭喜您,您已经成功创建了一个天气预报 API。您现在可以将其集成到您的应用程序中,或将其作为独立的 API 服务使用。