真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

利用AWS無服務架構之語音合成-創(chuàng)新互聯(lián)

一、架構圖

利用 AWS 無服務架構之語音合成

創(chuàng)新互聯(lián)公司服務項目包括六枝網站建設、六枝網站制作、六枝網頁制作以及六枝網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,六枝網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到六枝省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

利用 AWS 無服務架構之語音合成

  1. 用戶通過前段網頁輸入文字,通過后臺一系列服務轉換成語音,并在前段展示,并提供下載功能,整個服務沒有使用一臺服務器!
  2. 用戶輸入文字進行提交;
  3. 頁面通過 API 代碼把信息傳遞給 Lamdba 函數(shù) NewPost 寫入 DynamoDB,并把 postId 傳遞給 SNS;
  4. SNS 把 postId 傳遞給 Lambda 函數(shù) Convert,函數(shù) Convert 通過 postId 去 DynamoDB 查詢文本數(shù)據(jù),并調用 Polly 進行語音合成;
  5. 函數(shù) Convert 把合成的語音文件存入 S3 中,更更新數(shù)據(jù)庫狀態(tài);
  6. 用戶就可以通過 GET 去獲取語音合成的相關信息。

二、服務部署

2.1、創(chuàng)建 DynamoDB 表

很簡單,寫個表名,寫個主鍵即可,其他默認。

Table name:posts
Primary key:id

2.2、創(chuàng)建 S3

我們創(chuàng)建兩個 S3 存儲桶,一個用來存放靜態(tài)網頁,一個用來存放語音合成的音頻。

2.2.1 靜態(tài)網頁存儲桶

  • 名稱大家隨意確定,我這里起的名字為 pollywebsite;
  • 打開公共訪問權限;
  • 啟用靜態(tài)網站托管功能;
  • 添加存儲桶策略,以便公共用戶可以訪問,策略如下:
{
    "Version": "2012-10-17",
    "Id": "Policy1562738599054",
    "Statement": [
        {
            "Sid": "Stmt1562738571491",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::wz-pollywebsite/*"
        }
    ]
}

2.2.2、音頻存儲桶

  • 名字大家隨意定,我這里起名字為 pollyaudio;
  • 打開公共訪問權限。

2.3、創(chuàng)建 SNS Topic

  • 名稱大家隨意定,我這里起名字為 new_posts。

2.4、為 Lambda 創(chuàng)建權限

從架構圖得知,我們的 Lambda 函數(shù)和多個組件進行交互,需要有相關的權限才行,我們通過 IAM 為其創(chuàng)建一個 Role。

  • 在選擇的服務使用此 Role 處選擇 Lambda;
  • 先不用添加 Policy,先創(chuàng)建好 Role;
  • 角色名大家可以隨意寫,我這里起名為 LamdbaPostsReaderRole;
  • 為 Role 添加 Inline Policy,策略規(guī)則如下:
{
    "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、創(chuàng)建 Lambda NewPost

  • 函數(shù)名大家自己隨意寫,我這里寫 wz_NewPost;
  • 運行環(huán)境大家選擇 Python 3.7。
  • 填寫好相關的 Python 代碼,并配置好代碼環(huán)境變量;
  • 為函數(shù)指定我們前面創(chuàng)建的角色。

2.6、創(chuàng)建 Lambda GetPosts

  • 函數(shù)名大家自己隨意寫,我這里寫 wz_GetPosts;
  • 運行環(huán)境大家選擇 Python 3.7。
  • 填寫好相關的 Python 代碼,并配置好代碼環(huán)境變量;
  • 為函數(shù)指定我們前面創(chuàng)建的角色。

2.7、創(chuàng)建 Lambda Convert

  • 函數(shù)名大家自己隨意寫,我這里寫 wz_ConvertToAudio;
  • 運行環(huán)境大家選擇 Python 3.7。
  • 填寫好相關的 Python 代碼,并配置好代碼環(huán)境變量;
  • 為函數(shù)指定我們前面創(chuàng)建的角色;
  • 這個函數(shù)耗時比較長,可以把函數(shù)執(zhí)行時間調整為一分鐘;
  • 添加我們創(chuàng)建的 SNS 為觸發(fā)器。

2.8、創(chuàng)建 API Gateway

  • API 名稱大家隨意寫,我這里寫 PostReaderAPI,風格為 REST;
  • 創(chuàng)建一個 GET 方法,選擇wz_GetPosts函數(shù),添加 URL Query String Parameters;
  • GET 方法啟用 CORS;
  • 創(chuàng)建 Mapping Templates,類型為 application/json,內容如下:
{
    "postId" : "$input.params('postId')"
}
  • 創(chuàng)建一個 POST 方法,選擇wz_GetPosts函數(shù)。

2.9、上傳前端代碼到 S3

2.10、創(chuàng)建域名解析

注意,如果域名別名解析到 S3 存儲桶,存儲桶的名稱必須和域名一致,所以我要修改一下存儲桶 website 的名稱。

三、驗證

測試地址: http://polly.wzlinux.com
部署教程視頻:https://edu.51cto.com/course/18818.html

歡迎大家掃碼關注,獲取更多信息

利用 AWS 無服務架構之語音合成

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


本文題目:利用AWS無服務架構之語音合成-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/dcsicp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部