利用 AWS 无服务架构之语音合成

发布时间:2020-07-13 03:12:48 作者:wzlinux
来源:网络 阅读:762

一、架构图

利用 AWS 无服务架构之语音合成

利用 AWS 无服务架构之语音合成

  1. 用户通过前段网页输入文字,通过后台一系列服务转换成语音,并在前段展示,并提供下载功能,整个服务没有使用一台服务器
  2. 用户输入文字进行提交;
  3. 页面通过 API 代码把信息传递给 Lamdba 函数 NewPost 写入 DynamoDB,并把 postId 传递给 SNS;
  4. SNS 把 postId 传递给 Lambda 函数 Convert,函数 Convert 通过 postId 去 DynamoDB 查询文本数据,并调用 Polly 进行语音合成;
  5. 函数 Convert 把合成的语音文件存入 S3 中,更更新数据库状态;
  6. 用户就可以通过 GET 去获取语音合成的相关信息。

二、服务部署

2.1、创建 DynamoDB 表

很简单,写个表名,写个主键即可,其他默认。

Table name:posts
Primary key:id

2.2、创建 S3

我们创建两个 S3 存储桶,一个用来存放静态网页,一个用来存放语音合成的音频。

2.2.1 静态网页存储桶

{
    "Version": "2012-10-17",
    "Id": "Policy1562738599054",
    "Statement": [
        {
            "Sid": "Stmt1562738571491",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::wz-pollywebsite/*"
        }
    ]
}

2.2.2、音频存储桶

2.3、创建 SNS Topic

2.4、为 Lambda 创建权限

从架构图得知,我们的 Lambda 函数和多个组件进行交互,需要有相关的权限才行,我们通过 IAM 为其创建一个 Role。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "polly:SynthesizeSpeech",
                "logs:CreateLogStream",
                "sns:Publish",
                "dynamodb:PutItem",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:UpdateItem",
                "s3:GetBucketLocation",
                "logs:CreateLogGroup",
                "logs:PutLogEvents",
                "s3:PutObjectAcl"
            ],
            "Resource": "*"
        }
    ]
}

2.5、创建 Lambda NewPost

2.6、创建 Lambda GetPosts

2.7、创建 Lambda Convert

2.8、创建 API Gateway

{
    "postId" : "$input.params('postId')"
}

2.9、上传前端代码到 S3

2.10、创建域名解析

注意,如果域名别名解析到 S3 存储桶,存储桶的名称必须和域名一致,所以我要修改一下存储桶 website 的名称。

三、验证

测试地址: http://polly.wzlinux.com
部署教程视频:https://edu.51cto.com/course/18818.html

欢迎大家扫码关注,获取更多信息

利用 AWS 无服务架构之语音合成

推荐阅读:
  1. 利用 Redis 来优化功能部署和错误分类
  2. 利用lambda函数自动创建EBS快照和删除快照

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

语音转换 aws

上一篇:slidesjs图片轮播展示插件

下一篇:thinkphp实现分页

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》