1 Star 0 Fork 0

喵喵侠 / serverless-translate

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Serverless 文本翻译工具

通过 Serverless Framework 的 Express Component 实现的文本翻译工具。基于腾讯云 TMT 机器翻译工具,支持多种语言的互相翻译。

特性:

  • 开箱即用 - 只需要关心项目代码,一键部署后 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

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

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

执行如下命令,安装 express 应用的对应依赖

$ 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/zh/serverlessserverless 单词翻译为 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

MIT License Copyright (c) 2020 Tinafang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/cooper1x/serverless-translate.git
git@gitee.com:cooper1x/serverless-translate.git
cooper1x
serverless-translate
serverless-translate
master

搜索帮助