使用 Serverless Framework Express 組件快速建立文本翻譯工具

經過 Serverless Framework 的 Express Component 實現了一款文本翻譯工具。該工具基於騰訊雲 TMT 機器翻譯工具,支持多種語言的互相翻譯。點擊查看 Demo 部署效果。git

如何使用 Serverless Framework 的 Express Component 快速建立文本翻譯工具呢?跟着下面的步驟一塊兒來試試吧!github

1. 安裝

經過 npm 安裝最新版本的 Serverless Frameworkexpress

$ npm install -g serverless

2. 建立

建立並進入一個全新目錄:npm

$ mkdir express-trans && cd express-trans

經過以下命令和模板連接,快速建立該應用:api

$ 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

您能夠 登錄 https://cloud.tencent.com/login 或註冊 https://cloud.tencent.com/register 騰訊雲帳號。架構

4. 部署

serverless.yml 文件下的目錄中運行以下命令部署應用app

$ serverless deploy

部署完畢後,你能夠在命令行的輸出中查看到該應用的 URL 地址,訪問地址便可查看部署結果。支持的翻譯語言類型參考 接口文檔less

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

例如: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

架構說明

本示例將在騰訊雲帳戶中使用到以下 Serverless 服務:

  • API 網關 - API 網關將會接收外部請求而且轉發到 SCF 雲函數中。
  • SCF 雲函數 - 雲函數用於承載 Express.js 應用。
  • CAM 訪問控制 - 該組件會建立默認 CAM 角色用於受權訪問關聯資源。
  • COS 對象存儲 - 爲確保上傳速度和質量,雲函數壓縮並上傳代碼時,會默認將代碼包存儲在特定命名的 COS 桶中。
  • TMT 機器翻譯 - 調用機器翻譯的 SDK 實現翻譯能力,提供免費額度。

參考資料:

本 demo 改自 tencent-serverless-demo,感謝原做者 yugasun 。

Serverless Framework 30 天試用計劃

咱們誠邀您來體驗最便捷的 Serverless 開發和部署方式。在試用期內,相關聯的產品及服務均提供免費資源和專業的技術支持,幫助您的業務快速、便捷地實現 Serverless!

詳情可查閱:Serverless Framework 試用計劃

One More Thing

3 秒你能作什麼?喝一口水,看一封郵件,仍是 —— 部署一個完整的 Serverless 應用?

複製連接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express

3 秒極速部署,當即體驗史上最快的 Serverless HTTP 實戰開發!

傳送門:

歡迎訪問:Serverless 中文網,您能夠在 最佳實踐 裏體驗更多關於 Serverless 應用的開發!


推薦閱讀:《Serverless 架構:從原理、設計到項目實戰》

相關文章
相關標籤/搜索