Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Serverless Cloud Function 开发实践

Serverless Cloud Function 开发实践

原创
作者头像
lqmeta
修改于 2020-06-14 18:58:21
修改于 2020-06-14 18:58:21
2.2K0
举报
文章被收录于专栏:得一得一

本文将讲述如何使用 Serverless Cloud Function 开发语言翻译工具。


SCF简述

腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码, 是实时文件处理和数据处理等场景下理想的计算平台。您只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。

备注:已注册腾讯云账户。若未注册腾讯云账户,可 点此 进入注册页面。

申请腾讯云“机器翻译”

在腾讯云官网“云产品”列表中点击选择“自然语言处理”的“机器翻译”,点击选择“免费试用”,如下图所示:

“机器翻译”界面
“机器翻译”界面

获取 SecretId 和 SecretKey

点击控制台界面右上角“头像”的“账号信息”,进入账号中心界面后,点击“访问管理”进入访问管理界面。

查看“访问密钥”便签下的“API密钥管理”界面,若没有生成过 API 密钥,则点击“新建密钥”按钮生成密钥。

“API密钥管理”界面
“API密钥管理”界面

机器翻译 API 的调用

代码如下:

代码语言:txt
AI代码解释
复制
const tencentcloud = require("tencentcloud-sdk-nodejs");
const TmtClient = tencentcloud.tmt.v20180321.Client;
const Credential = tencentcloud.common.Credential;
const ClientProfile = tencentcloud.common.ClientProfile;
const HttpProfile = tencentcloud.common.HttpProfile;
// 此处填写上面获取到的 SecretId 和 SecretKey
const SecretId = 'XXXXXXXX';
const SecretKey = 'XXXXXXXX';

let cred = new Credential(SecretId, SecretKey);
let httpProfile = new HttpProfile();
httpProfile.endpoint = "tmt.tencentcloudapi.com";
let clientProfile = new ClientProfile();
clientProfile.httpProfile = httpProfile;
let client = new TmtClient(cred, "ap-guangzhou", clientProfile);

client.TextTranslate({
    SourceText: 'hello, world.',
    Source: 'en',
    Target: 'zh',
    ProjectId: 0,
}, function (errMsg, response) {
    if (errMsg) {
        console.error(errMsg);
    } else {
        console.log(response);
    }
});

申请腾讯云云函数

在腾讯云官网“云产品”列表中点击选择“Serverless”的“云函数

“云函数”界面
“云函数”界面

创建函数服务

点击“函数服务”进入函数服务界面,如下图所示:

“函数服务”界面
“函数服务”界面

基本信息填写页面

点击“新建”按钮,选择“Nodejs”运行环境,创建“空白函数”,如下图所示:

“函数服务 - 基本信息”
“函数服务 - 基本信息”

函数配置填写页面

点击“下一步”按钮,进入“函数配置”界面,如下图所示:

“函数服务 - 函数配置”
“函数服务 - 函数配置”
配置 package.json 文件

在“Cloud Studio”编辑界面的文件目录单击“右键”选择“新建文件”按钮生成“package.json”文件(点击Enter键生成)

配置 package.json 文件
配置 package.json 文件

输入如下代码:

代码语言:txt
AI代码解释
复制
{
  "name": "hello-world",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "directories": {
    "test": "test"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "tencentcloud-sdk-nodejs": "^3.0.187"
  }
}
配置 index.js 文件

删除 index.js 原有的代码,将下面代码复制上去。

注意: 需要填写上面获取到的 SecretId 和 SecretKey,“机器翻译” API 调用需要用到。

代码语言:txt
AI代码解释
复制
'use strict'
const tencentcloud = require("tencentcloud-sdk-nodejs");
const fs = require('fs')
const path = require('path')

const TmtClient = tencentcloud.tmt.v20180321.Client;
const Credential = tencentcloud.common.Credential;
const ClientProfile = tencentcloud.common.ClientProfile;
const HttpProfile = tencentcloud.common.HttpProfile;

const SecretId = 'XXXXXXXXXX';
const SecretKey = 'XXXXXXXXXX';

let cred = new Credential(SecretId, SecretKey);
let httpProfile = new HttpProfile();
httpProfile.endpoint = "tmt.tencentcloudapi.com";
let clientProfile = new ClientProfile();
clientProfile.httpProfile = httpProfile;
let client = new TmtClient(cred, "ap-guangzhou", clientProfile);

const textTranslate = (params) => {
    return new Promise((resolve, reject) => {
        client.TextTranslate(params, function (errMsg, response) {
            if (errMsg) {
                reject(errMsg);
            } else {
                resolve(response);
            }
        });
    });
}
const render = (tpl, variables) => {
    for (let key in variables) {
        const reg = new RegExp('\\$\\{' + key + '\\}', 'g')
        tpl = tpl.replace(reg, variables[key])
    }
    return tpl;
};

exports.main_handler = async (event, context, callback) => {
    const query = event.queryString || {};
    const sourceText = query.q;

    let res = await textTranslate({
        SourceText: sourceText,
        Source: 'en',
        Target: 'zh',
        ProjectId: 0,
    });
    res.SourceText = sourceText;

    let html = fs.readFileSync(path.resolve(__dirname, './index.html'), {
        encoding: 'utf-8'
    });
    html = render(html, res);

    return {
        isBase64Encoded: false,
        statusCode: 200,
        headers: { 'Content-Type': 'text/html' },
        body: html
    }
}
配置 index.html 文件

在“Cloud Studio”编辑界面的文件目录单击“右键”选择“新建文件”按钮生成“index.html”文件(点击Enter键生成)

配置 index.html 文件
配置 index.html 文件

输入如下代码:

代码语言:txt
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>腾讯云-机器翻译</title>
  <style>
    table{
      width: 100%;
      text-align: center;
    }
  </style>
</head>
<body>
  <table border="1">
    <tr>
      <th>语言种类</th>
      <th>文字信息</th>
    </tr>
    <tr>
      <td>${Source}</td>
      <td>${SourceText}</td>
    </tr>
    <tr>
      <td>${Target}</td>
      <td>${TargetText}</td>
    </tr>
  </table>
</body>
</html>

上传方式选择“在线安装依赖”,点击“完成”按钮。

函数服务
函数服务

至此,我们就创建好了云函数的函数服务。

使用 API 访问

点击“触发管理”进入触发管理界面,点击“创建触发器”按钮,如下图所示:

“触发管理”界面
“触发管理”界面

触发方式选择“API网关触发器”,勾选“启用集成响应”。点击“提交”按钮,即生成“API网关触发器”。

“触发管理 - API网关触发器”
“触发管理 - API网关触发器”

如上图所示的“访问路径”即接口地址。

访问云函数的语言翻译 API

访问接口查询“hello, world.”的翻译:

https://service-2fihgccs-1253513412.gz.apigw.tencentcs.com/release/hello-world?q=hello,%20world.

hello, world.
hello, world.

访问接口查询“Life is short and you deserve to be happy.”的翻译:

http://service-2fihgccs-1253513412.gz.apigw.tencentcs.com/release/hello-world?q=Life%20is%20short%20and%20you%20deserve%20to%20be%20happy%E3%80%82

Life is short and you deserve to be happy.
Life is short and you deserve to be happy.

参考资料

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用python写一个翻译软件
https://console.cloud.tencent.com/api/explorer?Product=tmt&Version=2018-03-21&Action=TextTranslateBatch
mariolu
2024/03/26
3540
【玩转腾讯云】【腾讯云机器翻译TMT】机器翻译入门
通过https://cloud.tencent.com/register注册腾讯云账号
LinSP
2020/05/02
10.1K2
手把手教学从0到1搭建人脸融合小程序(下)
由于本文主要介绍小程序端调用人脸融合云接口,所以前端这里简单设计,整个前端页面分为三个区域:
MIKADO
2019/12/26
1.7K0
手把手教学从0到1搭建人脸融合小程序(下)
微信小程序对接云开发录音文件识别nodejs sdk
拷贝"tencentcloud"目录到云函数"voiceRecognize"的包管理目录"node_modules"下
张世强
2020/07/17
2.9K0
微信小程序对接云开发录音文件识别nodejs sdk
实战丨云开发帮你和「火箭少女」合个影!
和平精英项目与“火箭少女”开启了主题活动。3月18日上线“火箭少女”101与游戏特种兵人脸融合的小程序活动。人脸融合技术由腾讯云AI团队提供支持,采用优图新融合算法在GPU上实现人脸融合功能,新融合的特点就是保证与这类动漫人物或虚拟人物的融合度达到自然、贴合完成换脸的视觉感受。
腾讯云开发TCB
2020/07/24
8330
实战丨云开发帮你和「火箭少女」合个影!
serverless+腾讯云短信实现短信验证码登录
传统开发协作流程(多角色参与): 1.后台开发:短信接口发送短信API、校验短信验证码是否有效API、存储用户验证状态 2.运维开发:接口部署,容灾 3.前端(客户端)开发:前端逻辑开发(调用接口,查询状态等)
腾讯即时通信IM
2020/05/18
17.5K1
serverless+腾讯云短信实现短信验证码登录
Serverless 架构下如何实现日志的实时输出?
Serverless 白皮书中曾描述过 Serverless 的一些缺点,例如难以调试、冷启动严重等等。其中难以调试是表现在多个方面的,有一个方面是日志输出。
深度学习与Python
2020/08/07
8700
最佳实践 | 用腾讯云 AI 人脸融合实现云毕业照推广活动小程序
近两年,经常在朋友圈、短视频平台刷到很多品牌的推广活动都融入了 AI 能力,形成裂变式传播,为品牌带来巨大的曝光量。特别是之前爆火的毕业照云写真活动,为很多因为疫情无法举行线下毕业活动的毕业生提供了毕业照换装的体验,不仅有趣,也挺有人文关怀。
腾讯云AI
2022/05/17
8.3K1
最佳实践 | 用腾讯云 AI 人脸融合实现云毕业照推广活动小程序
使用云函数构建短信验证码服务的案例
通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。
haimingli
2020/12/29
4K0
利用腾讯云API(Python)对字幕文件进行翻译
本篇文章使用腾讯云的机器翻译来对英语字幕文件进行翻译,接口的需要的SecretId和SecretKey请自行上腾讯云https://console.cloud.tencent.com/cam/capi获取,运行环境为Python3.8,如使用Python2,请注意注释内容,并进行相对于的修改,程序还需要用到腾讯云的Python SDK:
Duckweeds7
2021/06/24
2.8K0
利用腾讯云API(Python)对字幕文件进行翻译
产品分享 | 如何用人脸融合技术搭建云毕业照活动小程序
近两年,经常在朋友圈、短视频平台刷到很多品牌的推广活动都融入了AI能力,形成裂变式传播,为品牌带来巨大的曝光量。 特别是之前爆火的云毕业照活动,为很多因为疫情无法举行线下毕业活动的毕业生提供了毕业照换装的体验,不仅有趣,也挺有人文关怀。 今天,就为大家解析一下如何用腾讯云AI快速搭建一个这样的活动小程序。 感兴趣的可以直接访问腾讯云AI体验中心小程序体验。 活动流程如下: 首先用户需要完成授权,这里涉及使用者人脸图片等隐私数据,需要谨慎对待。 然后上传或拍摄人脸图片,活动平台通过人脸融合服务,将用户上传图
腾讯云TI平台
2022/08/26
2.8K0
产品分享 | 如何用人脸融合技术搭建云毕业照活动小程序
免费无限制的DeepSeek-V3/R1调用教程,从此告别“服务器繁忙,请稍后再试”
前几天发布的《DeepSeek:全栈开发者视角下的AI革命者》收到了大家的认可,在CSDN热榜排行榜第一挂满了三天。这也说明DeepSeek这款以工程实践见长的AI引擎,正在重新定义人机协作的边界。当大多数模型还在追求benchmark分数时,DeepSeek已在真实开发场景中沉淀出日均亿行的代码生成轨迹。这场技术跃迁带来的热潮,让开发者工作台的访问曲线始终维持着陡峭的斜率——凌晨三点的流量峰值与服务器熔断提示,构成了算力供给与需求间的现实落差,"服务器繁忙"的冰冷提示却成了开发者们的新痛点。
watermelo37
2025/02/12
9880
免费无限制的DeepSeek-V3/R1调用教程,从此告别“服务器繁忙,请稍后再试”
无服务器开发人脸识别小程序
从2006年AWS发布的第一个云服务S3开始,存储,计算等IT基础设施的能力纷纷被以服务的方式提供给用户。过去十年,云服务深刻的改变了社会获取和使用计算能力的方式,云服务自身也以极快的速度演进,新的服务形态不断涌现,无服务器计算(serverless computing)就是其中之一。国内各大厂商也在近两年推出了自家的无服务器计算产品,比如腾讯云的无服务器云函数 SCF,阿里云的函数计算等产品。
璟櫆
2019/01/31
15.4K5
无服务器开发人脸识别小程序
腾讯云API弹性公网IP踩坑
由于自己管理的云服务器数量比较多,时不时需要更换IP,在管理台上一下下点击,实在浪费时间,于是就想到了通过API调用的方式,将更换IP一系列动作,全部集成到Python代码里面,实现一行命令,完成IP更换,由于人懒,就先
用户2174879
2018/10/23
32.1K1
腾讯云API弹性公网IP踩坑
用云开发快速构建最美AI毕业照小程序
为什么要做这个小程序? 疫情原因,2020年的毕业季也不同了。很多毕业生没有举办正式的毕业典礼,也没有照毕业照,个人觉得这是人生的一大遗憾。为了弥补这一遗憾,我尝试用云开发快速实现一个AI云毕业照小程序,纪念我们的青春年华。 功能实现的思路是:用户上传人脸照片即可生成学士服云毕业照,小程序支持学士服、硕士服、博士服等个性服装,而且可以通过云开发CMS管理系统随时随地管理小程序云开发内容数据。 为什么选择了云开发? 云开发 CloudBase 是腾讯云首创的云原生一体化开发环境和工具平台,为开发者提供高
腾讯云开发TCB
2020/08/13
2.4K0
5 分钟实现企业微信的机器人定时提醒
本案例中用企业微信,添加机器人的方式,来达到消息推送的目的。例子中还读取了腾讯云账号的账户余额,并通过调用机器人Webhook url (http post 请求),实现定时提醒。
吴云涛
2021/11/02
7.9K0
5 分钟实现企业微信的机器人定时提醒
腾讯云智能结构化OCR初体验:开启高效数据提取之旅
在数字化浪潮的推动下,企业面临着海量文档数据的处理挑战。传统的人工录入方式不仅效率低下,而且容易出错,严重影响了企业的运营效率。光学字符识别(OCR)技术的出现,为这一难题提供了有效的解决方案。腾讯云智能结构化OCR,凭借其卓越的技术实力和广泛的应用场景,正在成为企业数字化转型的重要助力。
LucianaiB
2025/01/10
1620
使用云函数实现语音识别案例
语音识别,也被称为自动语音识别 Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。该技术已经广泛应用于我们平时的生活中,例如:
haimingli
2021/01/04
1.3K0
自动构建 Hugo 博客部署至腾讯云对象存储 COS 并刷新 CDN
使用 Github Action,自动构建 Hugo 博客并部署至腾讯云 COS 静态存储,并触发 CDN 刷新。
慕阳MuYoung
2025/05/17
2130
自动构建 Hugo 博客部署至腾讯云对象存储 COS 并刷新 CDN
混元大模型,API免费发放,又一个王炸级更新!
混元大模型(英文名:HunYuan)是由腾讯开发的大型语言模型,它可以进行丰富的语义理解和计算,为用户提供问答式的服务。基于大量的训练数据和先进的深度学习技术,混元大模型能够处理各种类型的问题和任务,涵盖知识问答、建议、解决问题等多个方面。
不惑
2024/05/08
1.7K0
混元大模型,API免费发放,又一个王炸级更新!
推荐阅读
相关推荐
用python写一个翻译软件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档