函数计算进阶-IP查询工具开发

本文涉及的产品
简介: 本场景介绍如何使用函数计算服务开发一个IP查询工具。

函数计算进阶-IP查询工具开发


1. 开通函数计算服务

在使用函数计算前,您需要开通函数计算服务。

说明: 本场景中提供的阿里云子账号无函数计算服务操作权限,请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度,请参见计费方式

1. 使用您自己的阿里云账号登录阿里云控制台,然后进入函数计算产品详情页

2. 单击【免费开通】

3. 阅读《函数计算服务协议》勾选同意服务协议,最后单击 【立即开通】

4. 单击【管理控制台】进入函数计算控制台。

2. 创建资源

  1. 在页面左侧,单击 云产品资源 下拉列表,查看本次实验所需资源。
  2. 单击屏幕右侧 创建资源 ,免费创建当前实验所需云产品资源。

说明:

资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在 云产品资源 列表查看已创建的资源信息,例如:IP地址、子用户名称和子用户密码等。

3. 连接ECS服务器

成功创建资源后默认会打开Web Terminal操作服务器终端操作界面,您也可以点击右侧按钮,切换到Web Terminal操作界面。

4. 安装Funcraft工具

Fun 是一个用于支持Serverless应用部署的工具,能帮助您便捷地管理函数计算、API 网关和日志服务等资源。它通过一个资源配置文件

(template.yml),协助您进行开发、构建和部署操作。

本步骤将在ECS服务器上安装Funcraft工具。

1. 执行以下命令安装NodeJS。

curl -sL https://rpm.nodesource.com/setup_10.x | bash - && yum install -y nodejs

2. 执行以下命令安装Funcraft。

npm install request @alicloud/fun -g

3. 执行fun config命令进行本地配置。

fun config

请参考以下信息输入您的阿里云账号ID、AccessKeyID和AccessKey密钥等信息。

Aliyun Account ID:请在账号安全设置页面查看您的账号ID。

Aliyun Access Key ID和Aliyun Access Key Secret:请在 安全信息管理 页面查看您账号的AK ID和AK Secret。

如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中单击继续使用AccessKey。

如果您使用的是阿里云RAM子用户,需要确保您的子用户拥有函数计算管理权限AliyunFCFullAccess,请参见为RAM用户授权

如下图所示为您的AccessKey ID和AccessKey Secret。如果您的账号未使用过AccessKey,请单击右上角创建AccessKey。

Default region name:请选择开通的函数计算服务所在地域。

正确设置如下所示:

5. 运行模板示例

1. 执行以下命令新建工作空间。

mkdir search_ip && cd search_ip

2. 执行fun init命令新建一个HTTP函数触发器。

fun init http-trigger-nodejs10

命令执行结果如下所示:

其中index.js 文件为生成的HelloWorld函数模板,template.yml 文件中包含了HelloWorld函数和HTTP触发器的默认配置信息。

3. 执行fun deploy -y命令部署应用到函数计算服务。

fun deploy -y

命令执行结果如下所示:

4. 使用curl命令访问HTTP触发器。请将下面命令中的11905929798*****替换为您的阿里云账号ID。

curl https://11905929********.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/search_ip/search_ip/

命令执行结果如下所示:

在返回结果中可以看到,在使用HTTP触发器的时候,可以默认传递一些参数,包括Path,Queries以及Headers,Method等,其中有一个参数是clientIP,该字段的值就是客户端的IP地址,我们可以通过该地址来确定客户端的IP地址。

接下来我们将利用clientIP字段开发IP查询工具。

6. 开发IP查询工具

1. 参考以下步骤修改 index.js 文件内容。

a. 将 index.js 文件内容清空。

cat /dev/null > index.js

b. 使用vim打开 index.js 文件。

vim index.js

c. 按下 i 键进入vim的编辑模式,在文件中新增以下内容。

var getRawBody = require('raw-body')
module.exports.handler = function (request, response, context) {
    getRawBody(request, function (err, data) {
        var respBody = new Buffer.from("您的IP是:" + request.clientIP);
        response.setStatusCode(200)
        response.setHeader('content-type', 'text/html')
        response.send(respBody)
    })
};

d. 按下 esc 键进入命令模式,输入 :wq 保存并退出vim。

2. 执行 fun deploy -y 命令重新部署应用到函数计算服务。

fun deploy -y

命令执行结果如下所示:

3. 使用 curl 命令访问HTTP触发器。请将下面命令中的11905929798*****替换为您的阿里云账号ID。

curl https://11905929798*****.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/search_ip/search_ip/

命令执行结果如下所示:

实验地址:https://developer.aliyun.com/adc/scenario/d419eecaaf184013a45db0a5d613ad39

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
8月前
|
运维 Serverless 云计算
云上开发新范式:Serverless 的必然与应然 | 云栖深度对话
云上开发新范式:Serverless 的必然与应然 | 云栖深度对话
|
9月前
|
监控 Serverless 测试技术
函数计算的开发
函数计算的开发
46 0
|
2天前
|
运维 前端开发 Serverless
云开发如何解决serverless对端的最后一公里问题
云开发如何解决serverless对端的最后一公里问题
|
19天前
|
运维 Java Serverless
Serverless 应用引擎产品使用合集之是否提供工具来给OSS配置HTTPS证书
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
19天前
|
运维 关系型数据库 MySQL
Serverless 应用引擎产品使用合集之如何配置MySQL的白名单IP
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
19天前
|
运维 关系型数据库 Serverless
Serverless 应用引擎产品使用合集之如何限制公网访问函数的IP地址
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
19天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用合集之CDN如何配置IP限制
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
3天前
|
运维 Serverless Linux
函数计算产品使用问题之要实现仅允许特定公网IP访问部署在FC上的服务,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
运维 数据挖掘 Serverless
阿里云Elasticsearch Serverless助力某电商平台公司实现商品订单数据的实时写入查询
某电商平台公司采用阿里云Elasticsearch Serverless解决方案,实现商品、订单和其他关键信息的写入和查询的实时响应。
230 1
|
19天前
|
人工智能 运维 Serverless
Serverless 应用引擎产品使用合集之如何让发起请求的IP地址是固定的
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章

相关产品

  • 函数计算