Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 

README.md

Serverless 文本翻译工具


通过 Serverless Framework 的 Express Component 实现的文本翻译工具。基于腾讯云 TMT 机器翻译工具,支持多种语言的互相翻译。点此查看 Demo 部署效果

简体中文 | English

特性:

  • 开箱即用 - 只需要关心项目代码,一键部署后 Serverless Framework 会完成所有配置。
  • 极速部署 - 仅需 5-6 秒,部署整个 Serverless 应用。
  • 实时日志 - 通过实时日志的输出查看业务状态,便于直接在云端开发应用。
  • 云端调试 - 针对 Node.js 框架支持一键云端调试能力,屏蔽本地环境的差异。
  • 应用监控 - 提供应用级别的监控页面,“0”配置即可实现业务监控能力。
  • 按需付费 - 按照请求的使用量进行收费,没有请求时无需付费。并且本用例中使用到的产品均有免费额度。

快速开始:

  1. 安装
  2. 创建
  3. 配置
  4. 部署
  5. 监控
  6. 移除

更多资源:

1. 安装

通过 npm 安装最新版本的 Serverless Framework

$ npm install -g serverless

2. 创建

创建并进入一个全新目录:

$ mkdir express-trans && cd express-trans

通过如下命令和模板链接,快速创建该应用:

$ serverless create --template-url https://github.com/tinafangkunding/serverless-translate
$ cd serverless-translate

进入 src 目录,执行如下命令,安装对应依赖

$ cd src && npm install

3. 配置

修改模板中的 .env.example.env,并在API 密钥管理中获取并配置腾讯云的 SecretIdSecretKey秘钥信息。

# .env
TENCENT_SECRET_ID=123
TENCENT_SECRET_KEY=123

您可以 登陆注册腾讯云账号。

4. 部署

serverless.yml 文件下的目录中运行如下命令部署应用

$ serverless deploy

Please scan QR code login from wechat. 
Wait login...
Login successful for TencentCloud. 

serverless ⚡ framework
Action: "deploy" - Stage: "dev" - App: "appDemo" - Instance: "TranslateDemo"

region: ap-beijing
apigw: 
  serviceId:   service-xxxxx
  subDomain:   service-xxxxx-1250000000.bj.apigw.tencentcs.com
  environment: release
  url:         https://service-xxxxx-1250000000.bj.apigw.tencentcs.com/release/
scf: 
  functionName: express_component_xxxx
  runtime:      Nodejs10.15
  namespace:    default

10s › TranslateDemo › Success

部署完毕后,你可以在命令行的输出中查看到该应用的 URL 地址,访问地址即可查看部署结果。支持的翻译语言类型参考接口文档

例如: https://service-q8qqunpf-1251971143.bj.apigw.tencentcs.com/release/ 输入 serverless 并且将其翻译为 zh 简体中文,输入语言是自动监测的。 翻译结果:无服务器

5. 监控

Serverless Dashboard 中查看应用级别的监控信息。当前支持展示如下监控指标:

函数触发次数/错误次数:function invocations & errors
函数延迟:function latency
API 请求次数/错误次数:api requests & errors
API 请求延迟:api latency
API 5xx 错误次数:api 5xx errors
API 4xx 错误次数:api 4xx errors
API 错误次数统计:api errors
不同路径下 API 的请求方法、请求次数和平均延迟统计:api path requests

6. 移除

serverless.yml文件所在的目录下,通过以下命令移除部署的 Express 服务。移除后该组件会对应删除云上部署时所创建的所有相关资源。

$ serverless remove

注:slsserverless 命令的缩写。

架构说明

本示例将在腾讯云账户中使用到如下 Serverless 服务:

  • API 网关 - API 网关将会接收外部请求并且转发到 SCF 云函数中。
  • SCF 云函数 - 云函数用于承载 Express.js 应用。
  • CAM 访问控制 - 该组件会创建默认 CAM 角色用于授权访问关联资源。
  • COS 对象存储 - 为确保上传速度和质量,云函数压缩并上传代码时,会默认将代码包存储在特定命名的 COS 桶中。
  • TMT 机器翻译 - 调用机器翻译的 SDK 实现翻译能力,提供免费额度。

参考资料

  1. Serverless Express Component 全量配置

  2. 机器翻译接口文档

  3. 本 demo 改自 tencent-serverless-demo,感谢原作者 yugasun

About

A Simple Translate Demo via Serverless Framework - Express Component

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.