騰訊云:使用ASW工作流創(chuàng)建您的第一個函數(shù)編排

來源: TencentServerless
作者:susu
時間:2021-04-29
17318
應(yīng)用與服務(wù)編排工作流(Application Services Workflow,ASW)是一個用來協(xié)調(diào)分布式任務(wù)執(zhí)行的編排產(chǎn)品,根據(jù)騰訊云狀態(tài)語言定義來編排分布式任務(wù)和服務(wù).

應(yīng)用與服務(wù)編排工作流(Application Services Workflow,ASW)是一個用來協(xié)調(diào)分布式任務(wù)執(zhí)行的編排產(chǎn)品,根據(jù)騰訊云狀態(tài)語言定義來編排分布式任務(wù)和服務(wù),工作流會按照設(shè)定好的順序可靠地協(xié)調(diào)執(zhí)行,將云函數(shù)與多個騰訊云服務(wù)按步驟進(jìn)行調(diào)度,通過低代碼配置,就可以完成開發(fā)和運(yùn)行業(yè)務(wù)流程所需要的任務(wù)協(xié)調(diào)、狀態(tài)管理以及錯誤處理等繁瑣工作,讓研發(fā)團(tuán)隊(duì)能更簡單、更高效的構(gòu)建與更新應(yīng)用。

01.

ASW工作流與傳統(tǒng)工作流的對比

1619663208(1).png

02.

ASW工作流應(yīng)用場景

·音視頻處理

使用ASW工作流可以幫助您將多個任務(wù)編排成一個完整的處理流程,如轉(zhuǎn)碼、截圖,內(nèi)容識別,內(nèi)容審核等。通過云函數(shù),可以將轉(zhuǎn)碼任務(wù)進(jìn)行切片并行處理,大大提高任務(wù)處理的吞吐量,滿足高實(shí)時性、高并發(fā)能力的視頻應(yīng)用、社交應(yīng)用場景。

·ETL作業(yè)處理

一些數(shù)據(jù)處理系統(tǒng)中,常常需要周期性/計(jì)劃性地處理龐大的數(shù)據(jù)量,使用ASW工作流可以快速搭建一個高可用的數(shù)據(jù)處理流水線。例如,證券公司每12小時統(tǒng)計(jì)一次該時段的交易情況并整理出該時段交易量top5,每天處理一遍秒殺網(wǎng)站的交易流日志獲取因售罄而導(dǎo)致的錯誤從而分析商品熱度和趨勢等。ASW工作流利用云函數(shù)對交易數(shù)據(jù)做并行處理,將結(jié)果寫回?cái)?shù)據(jù)庫服務(wù),并生成一系列不同緯度報(bào)表。利用函數(shù)近乎無限擴(kuò)容的能力,可以輕松地進(jìn)行大容量數(shù)據(jù)的計(jì)算,完成數(shù)據(jù)建模分析。

·基因數(shù)據(jù)處理

ASW工作流可以將多個批量計(jì)算分布式作業(yè)串聯(lián)或并行編排,可靠地支持執(zhí)行時間長、并發(fā)量大的大規(guī)模計(jì)算。比如將基因數(shù)據(jù)進(jìn)行二級分析,以識別生物樣品與標(biāo)準(zhǔn)基因組參考相比的變異,最終產(chǎn)出相關(guān)性結(jié)果。ASW工作流可以提升執(zhí)行可靠性,提高資源利用率,優(yōu)化成本。

·自動化運(yùn)維

自動化運(yùn)維常見有步驟繁瑣時間長短不一、單機(jī)腳本可靠性低、依賴復(fù)雜、人工效率低等常見的挑戰(zhàn),另外進(jìn)度無法可視化,ASW結(jié)合云函數(shù)可以很好的解決這類問題。例如自動化的軟件部署從構(gòu)建Docker容器、上傳容器鏡像,開始并追蹤各節(jié)點(diǎn)下拉鏡像并啟動新版本鏡像的容器,每一步函數(shù)產(chǎn)生的日志會被保存到日志服務(wù)可供查詢分享?;贏SW的自動化運(yùn)維比單機(jī)運(yùn)維腳本具有高可用、自帶的錯誤處理機(jī)制和進(jìn)度圖形化的特點(diǎn)。

·AI機(jī)器訓(xùn)練

ASW工作流可以將一系列的AI能力進(jìn)行編排,完成一個復(fù)雜的AI作業(yè)場景訓(xùn)練。您可以使用ASW工作流來加速安全,有彈性的機(jī)器學(xué)習(xí)應(yīng)用程序的交付,同時減少您必須編寫和維護(hù)的代碼量。

03.

如何使用ASW工作流?

下面以編排一個云函數(shù)為例,教你如何快速使用工作流。

1.創(chuàng)建函數(shù)

登錄云函數(shù)控制臺,創(chuàng)建一個函數(shù)名稱為sum,運(yùn)行環(huán)境為Python 3.6的云函數(shù)。

控制臺地址:https://console.cloud.tencent.com/scf

# -*- coding: utf8 -*-

import json 

def main_handler(event, context):

    sum = 0

    for i in event["values"]:

        sum += i

    return sum

640.png

2.創(chuàng)建工作流

1.登錄應(yīng)用與編排服務(wù)流控制臺,在工作流頁面,點(diǎn)擊「新建」,進(jìn)入創(chuàng)建工作流頁面,選擇「代碼創(chuàng)建」,在「代碼」區(qū)進(jìn)行編輯工作流定義代碼,輸入以下工作流定義:

ASW工作流控制臺地址:https://console.cloud.tencent.com/asw

{

 "Comment": "",

 "StartAt": "sum",

 "States": {

   "sum": {

     "Type": "Task",

     "Comment": "調(diào)用求和函數(shù)",

     "Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:scf:Invoke/sum/$DEFAULT/default",

     "End": true

   }

 }

}

640 (1).png

其中Resource定義了要調(diào)用的sum函數(shù),格式如下:

"qrn:qcs:asw:{函數(shù)所在地域}:{Appid}:sdk:json:qcloud:scf:Invoke/{函數(shù)名稱}/{函數(shù)版本別名}/{函數(shù)命名空間}"

2.單擊「下一步」,在「配置基本信息」頁面,輸入工作流名稱,選擇運(yùn)行角色與工作流類型,單擊「完成」,完成工作流創(chuàng)建。

640 (2).png

3.運(yùn)行工作流

1.在工作流列表,點(diǎn)擊創(chuàng)建的工作流「名稱」,在界面中可看到工作流的基本信息,點(diǎn)擊「開始執(zhí)行」。

640 (3).png

在彈出的「開始執(zhí)行」窗口中,以JSON格式輸入工作流需要的輸入內(nèi)容,例如:

{"values":[1,2,3,4,5]}

2.點(diǎn)擊「確定」,完成狀態(tài)執(zhí)行后,可以在詳情頁查看執(zhí)行結(jié)果。

640 (1).png

3.在當(dāng)前頁面最下方,在「執(zhí)行歷史記錄」,點(diǎn)擊「資源」中的云函數(shù)鏈接,可以直接跳到云函數(shù)控制臺,查看函數(shù)執(zhí)行詳情。

640 (5).png

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于TencentServerless,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多