[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

[GCP] 创建高效的 Cloud Functions 开发环境 [JavaScript]

你好。
我是Mandai,负责Wild 开发团队。

您熟悉GCP的云功能吗?
AWS Lambda for GCP 是一个无服务器计算环境,让您只需部署代码即可轻松准备执行环境。

当您想要运行一小段代码而不需要准备服务器时,或者当您想要快速运行一个连接服务的进程而单独使用 Cloud Pub/Sub 是不可能的时,它非常有用。没有它就上传。

再者,如果你负责的是与实际操作相关的重要处理,那么开发环境就更加必要了。
但是,我觉得没有关于实现Cloud Functions的开发环境的信息,所以我想创建一个易于开发的环境。

准备编辑器

我推荐VSCode,它原生支持JavaScript

 

准备模块

构建一个环境以在本地运行 Cloud Functions 代码。
然而,您所需要的只是 Google 提供的一个模块。

npm install @google-cloud/functions-framework -g

 

*2021/01/13 缺少全局安装选项,所以我添加了它。

 

使用这个模块,您可以创建一个行为类似于 Cloud Functions 的 Web 服务器。

 

准备项目

Cloud Functions 允许您通过 package.json 加载所需的模块。
因此,通过 npm init 使必要的模块可读。

npm init # 输入有关项目的问题的适当答案

 

创建 git 存储库

就我个人而言,我认为用 git 管理脚本更好,无论多么简单,所以我现在使用 git init 。

Cloud Source Repositories作为存储库非常方便,因为它集成了部署之前的步骤。
截至 2020 年 1 月,每月有 5 个用户、50 GB 容量和 50 GB 传输量的限制,但我认为它会符合免费试用的限制。

 

写代码

Cloud Functions 脚本需要入口点。
以下是一个以 main 作为入口点的最小脚本。

 

模板

Exports.main = (req, res) => { res.status(200).send('test'); }

 

在生产中,您将指定 main 作为“要执行的函数”。
接下来,让我们在本地运行它并检查它是如何工作的。

 

本地执行

本地运行时,在命令行中运行以下命令启动Web服务器并等待请求。

功能框架--目标=主要

 

--target 选项是必需的,指定入口点。
如果没有错误,则 Web 服务器正在 localhost:8080 上运行,因此请尝试使用curl 运行它。

卷曲本地主机:8080

 

如果上面的命令返回“test”,则说明成功!

可以将该命令转换为 npm 脚本并进行如下配置。

  "scripts": { "start": "functions-framework --target=main" },

 

添加以上设置后,就可以使用 npm start 来运行它了。

 

热重载

使用 npm start 时,每次更改代码时都需要手动重新启动功能框架。
由于这是一项相当耗时的任务,因此我想介绍一下热重载。
我们将介绍一个名为 npm-watch 的模块。

npm 安装 npm-watch

 

它看起来像是 Nodemon 的包装模块,但由于不需要特殊设置,因此很容易安装。

添加 npm 脚本。

  "scripts": { "start": "functions-framework --target=main", "watch": "npm-watch start" }

 

接下来,添加代码监控设置。

  “观看”:{“开始”:“*.js”}

 

在顶层添加 watch 键(与 main 和 script 相同级别)。

它有点复杂,但是启动它的命令如下。

npm 运行手表

 

如果这样做,将执行 npm run start,但如果对底层 JS 文件进行任何更改,functions-framework 将自动重新启动。

到目前为止配置的 package.json 如下所示:

{ "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"错误: 未指定测试\" && exit 1", "start": "functions-framework --target=main", "watch": "npm-watch start" }, "author": "y.mandai", "license ": "ISC", "依赖项": { "@google-cloud/functions-framework": "^1.3.2", "npm-watch": "^0.6.0" }, "watch": { "开始": "*.js" } }

 

 

概括

这次,我们介绍了函数框架,这在实现 GCP Cloud Functions 脚本时非常有用。
使用此模块,我可以轻松地在本地尝试 Cloud Functions 的行为。
在调整或测试脚本时,重新启动functions-framework可能会很麻烦,所以最好使用npm-watch构建热重载环境,让您的工作更有效率!

最后

我开设了我所属的系统开发服务网站“SEKARAKU Lab”。
Beyond是从服务器设计搭建到运营的一站式服务,所以如果您在服务器端开发方面遇到任何问题,请随时联系我们。
SEKARAKU 实验室: [https://sekarakulab.beyondjapan.com/](https://sekarakulab.beyondjapan.com/)

就是这样。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
9,501
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。