公有云迁移研究——AWS Translate

大纲

  • [1 什么是Translate](#1 什么是Translate)
  • [2 Aws Translate是怎么运作的](#2 Aws Translate是怎么运作的)
  • [3 Aws Translate和Google Translate的区别](#3 Aws Translate和Google Translate的区别)
  • [4 迁移任务](#4 迁移任务)
    • [4.1 迁移原因](#4.1 迁移原因)
  • [5 Aws Translate的Go demo](#5 Aws Translate的Go demo)
  • [6 迁移中遇到的问题](#6 迁移中遇到的问题)
    • [6.1 账号和权限问题:](#6.1 账号和权限问题:)
    • [6.2 小语种](#6.2 小语种)

1 什么是Translate

  • Translate是一种文本翻译服务,它使用先进的机器学习技术来提供高质量的按需翻译。

2 Aws Translate是怎么运作的

  • Amazon Translate服务基于为语言翻译训练的神经网络。这使您能够在源语言(被翻译文本的原始语言)和目标语言(文本被翻译成的语言)之间进行翻译。
  • 使用Amazon Translate时,您需要提供源文本,并获取输出文本,
    1 源文本 --- 您要翻译的文本。您以 UTF-8 格式提供源文本。
    2 输出文本--- Amazon Translate已翻译成目标语言的文本。输出文本也是UTF-8格式。根据源语言和目标语言,输出文本中的字符数可能多于输入文本中的字符数。
  • 翻译模型有两个组件,编码器和解码器。编码器一次一个单词地读取源句子, 并构建一个捕捉其含义的语义表示。解码器使用语义表示在目标语言中一次生成一个单词的翻译。
  • Amazon Translate使用注意力机制来理解上下文。这有助于它确定源文本中的哪些词与生成下一个目标词最相关。注意机制使解码器能够专注于源语句中最相关的部分。这可确保解码器正确翻译歧义词或短语。

3 Aws Translate和Google Translate的区别

特征 Google Translate Aws Translate
免费试用 支持 支持
付款计划 月免50W字+百万字费用 月免200W字+按使用量付费
支持的语言数量 108 71
机器翻译集成 支持 支持
在线工具 支持 支持
团队协作 不好
翻译记忆库 不支持 支持
加密云存储 不支持 支持
网站翻译小部件 支持 不支持
上下文编辑 不支持 支持
自动语言检查 支持 支持

4 迁移任务

我们本次的迁移任务是将原有集成了Google Translate服务,迁移到Aws Translate服务上。

4.1 迁移原因

  1. 降低在翻译上的费用,Aws的月免字数更多。
  2. 需要对翻译内容进行存储。
  3. 一个良好的团队写作。

5 Aws Translate的Go demo

go 复制代码
package main

import (
	"context"
	"flag"
	"fmt"
	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/config"
	"github.com/aws/aws-sdk-go-v2/credentials"
	"github.com/aws/aws-sdk-go-v2/service/translate"
	"log"
)

func main() {

	cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-east-1"), config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("xxxxxxx", "xxxxxxxxxxxxx", "")))
	if err != nil {
		log.Fatal(err, 1)
	}
	sourceText := flag.String("text", "hello world", "source text")
	sourceLC := flag.String("slc", "en", "source language code [en|ja|fr]...")
	targetLC := flag.String("tlc", "zh-c", "target language code [en|ja|fr]...")

	client := translate.NewFromConfig(cfg)
	result, err := client.TranslateText(context.TODO(), &translate.TranslateTextInput{
		SourceLanguageCode: aws.String(*sourceLC),
		TargetLanguageCode: aws.String(*targetLC),
		Text:               aws.String(*sourceText)})
	if err != nil {
		log.Fatal(err, 2)
	}
	fmt.Print(*result.TranslatedText)
}

6 迁移中遇到的问题

6.1 账号和权限问题:

我们在做迁移的时候需要在我们的服务器上安装aws cli

bash 复制代码
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

在服务上设置Aws账号

bash 复制代码
aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLES
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/PxRfiCYEXAMSPLEKEYSS
Default region name [None]: us-west-2
Default output format [None]: json

通过IAM对该用户设置Translate的角色赋予该用户使用Translate的权限

我们要遵循最小权限的策略

将这些设置好了,我们的demo就可以成功的翻译想翻译的文本了。

6.2 小语种

目前Aws支持71种语言,但是还是有很多语言没有被支持,我们可以选择该地区所在国家的官方语言来做翻译。目前Aws Global Service也在对更多的语言做支持。

相关推荐
翼龙云_cloud20 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
阿里云大数据AI技术1 天前
全模态、多引擎、一体化,阿里云DLF3.0构建Data+AI驱动的智能湖仓平台
人工智能·阿里云·云计算
摇滚侠1 天前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
MSTcheng.1 天前
探索昇腾底层逻辑:从ops-nn视角解读aclnn两阶段设计理念
mvc
m0_694845571 天前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
ESBK20251 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
fendouweiqian1 天前
AWS WAF(配合 CloudFront)基础防护配置:免费能做什么、要不要开日志、如何限制危险方法
网络安全·aws·cloudfront
_运维那些事儿2 天前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
人间打气筒(Ada)2 天前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
主机哥哥2 天前
2026年阿里云五种方案快速部署 OpenClaw(Clawdbot)详细教程
阿里云·云计算