<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          硬核調(diào)試實操 | 手把手帶你實現(xiàn) Serverless 斷點調(diào)試

          共 9229字,需瀏覽 19分鐘

           ·

          2022-04-01 20:50

          后臺回復(fù)?手冊?即刻免費下載 2022 Serverless 工具書f08717a87e38adf8a1bfbe2a92892684.webp

          08833c7b3b370c1f081f0a1e44c2c086.webp

          作者:千風(fēng) (阿里云函數(shù)計算研發(fā)工程師)


          4fb8fdcfe919763a1181204eca06d48b.webp

          在應(yīng)用開發(fā)過程中,或者開發(fā)完成后,若出現(xiàn)執(zhí)行結(jié)果不符合我們的預(yù)期時,通常需要進(jìn)行一定的調(diào)試工作。但是在 Serverless 架構(gòu)下,調(diào)試工作往往會受到一些環(huán)境因素限制,如所開發(fā)的應(yīng)用在本地是比較健康的、且符合預(yù)期的運行,但是在 FaaS (Functions as a Service) 平臺上,出現(xiàn)了一些問題;或者是在某些特殊的環(huán)境下,本地沒有辦法模擬線上環(huán)境,難以進(jìn)行項目的開發(fā)和調(diào)試怎么辦?


          概述


          本文將借助 Serverless Devs 工具,對函數(shù)計算? (FC) 應(yīng)用的斷點調(diào)試步驟進(jìn)行詳細(xì)指導(dǎo),手把手帶你實現(xiàn) Serverless 的斷點調(diào)試,并從以下四個方面為你厘清 “硬核調(diào)試” 的脈絡(luò)步驟,干貨滿滿:


          一、概述部分介紹了調(diào)試能力的重要性,以及當(dāng)前阿里云函數(shù)計算(FC)所能提供的調(diào)試能力;二、調(diào)試之旅羅列了關(guān)于 “使用 Serverless Devs 在不同 IDE 中進(jìn)行斷點調(diào)試” 的詳細(xì)步驟;三、總結(jié)部分客觀訴說斷點調(diào)試的待改進(jìn)之處;四、附錄則為各位開發(fā)者匯總了斷點調(diào)試操作的詳細(xì)動圖。
          在 Serverless 應(yīng)用架構(gòu)下,調(diào)試能力往往是應(yīng)用開發(fā)者所十分關(guān)注的問題,它決定著程序的開發(fā)效率。Hackernoon 在關(guān)于 Serverless (無服務(wù)器) 的業(yè)界調(diào)研報告指出:迄今為止,Debugging (調(diào)試) 仍舊是 Serverless 落地最大的痛點與挑戰(zhàn)。
          2b49f8359a893e371e6cf3f2f2f36583.webp
          報告《Top 5 Serverless Trends》:https://hackernoon.com/top-5-serverless-trends-in-2020-wd1m3t8g


          調(diào)試能力主要包含兩種,一是運行程序的能力;二是斷點調(diào)試能力。前者是調(diào)試的基礎(chǔ)能力,可以判幫助開發(fā)者判斷程序能否正常運行,驗證程序運行結(jié)果的正確性;后者是調(diào)試的高級能力,能夠幫助用戶方便定位到導(dǎo)致程序運行出錯或者不符合預(yù)期的位置。


          目前業(yè)界已有的 Serverless 應(yīng)用調(diào)試手段,主要是在本地模擬云端執(zhí)行環(huán)境進(jìn)行本地調(diào)試;或者將應(yīng)用部署到云端運行后基于日志進(jìn)行調(diào)試。然而,本地調(diào)試無法模擬云端的網(wǎng)絡(luò)環(huán)境,云端調(diào)試又缺乏本地的靈活性。
          為了能夠克服這些缺陷,將 Serverless 應(yīng)用調(diào)試做到開箱即用,阿里云函數(shù)計算團(tuán)隊經(jīng)過一番探索,開發(fā)出了一套業(yè)界創(chuàng)新的調(diào)試工具,全方位提供本地調(diào)試以及端云聯(lián)調(diào)能力。
          詳情可點擊閱讀:創(chuàng)新推出 | Serverless 調(diào)試大殺器:端云聯(lián)調(diào)

          本地調(diào)試:基于本地環(huán)境以及網(wǎng)絡(luò),依賴容器化技術(shù),對 Serverless 應(yīng)用進(jìn)行擬運行,從而達(dá)到調(diào)試的目的,具體操作文檔可參考。

          https://github.com/devsapp/fc/blob/main/docs/zh/command/local.md


          端云聯(lián)調(diào):基于本地環(huán)境,突破網(wǎng)絡(luò)限制,依賴容器化技術(shù),對 Serverless 應(yīng)用進(jìn)行擬運行,運行時打通本地與云端網(wǎng)絡(luò)的壁壘,保證與云端資源的交互,使用文檔請參考。
          https://github.com/devsapp/fc/blob/main/docs/zh/command/proxied.md

          本文所提到的本地調(diào)試工具,均提供斷點調(diào)試能力,且與 Serverless 應(yīng)用程序開發(fā)規(guī)范完全兼容,下面我們一起看一下關(guān)于斷點調(diào)試的具體操作步驟。

          調(diào)試之旅


          斷點調(diào)試步驟總結(jié)為如下流程,下面我將帶領(lǐng)各位圍繞這四個步驟,開啟一場斷點調(diào)試之旅:
          • 啟動 Serverless 應(yīng)用
          • 啟動斷點調(diào)試器
          • 開始斷點調(diào)試
          • 結(jié)束斷點調(diào)試

          01

          前置操作


          在開始進(jìn)行調(diào)試之前,需要進(jìn)行一些前置操作,本文將前置操作分為通用前置操作端云聯(lián)調(diào)附加的前置操作:


          1)通用前置操作:
          • 安裝調(diào)試 IDE:可選的 IDE 有 VSCode、Pycharm 以及 Intellij 三種;

          • 隨后在開始使用這些功能之前,請安裝好調(diào)試工具: 這里我們需要安裝一下 Serverless Devs,具體的安裝方式參考文檔:

          https://help.aliyun.com/document_detail/195474.html;

          ?熟悉新一代函數(shù)計算工具鏈的使用方式,可參考:

          https://github.com/devsapp/fc
          • 下載安裝 Docker:調(diào)試能力都需要依賴 Docker,因此需要本地環(huán)境中有 Docker 工具,安裝方式請參考這里:

          https://docs.docker.com/get-docker/

          • 最后還需要注冊一個阿里云賬號,使用 Serverless Devs 配置阿里云賬號,具體配置方式可以參考這里。

          https://help.aliyun.com/document_detail/295894.html


          2)端云聯(lián)調(diào)附加的前置操作:


          • 我們需要準(zhǔn)備一個阿里云賬號,由于端云聯(lián)調(diào)涉及到輔助資源的部署和刪除,如果賬號為子賬號,需要為該子賬號添加指定的一些權(quán)限,具體權(quán)限集合可參考:

          https://github.com/devsapp/fc/blob/main/docs/zh/command/proxied.md#%E6%9D%83%E9%99%90%E4%B8%8E%E7%AD%96%E7%95%A5%E8%AF%B4%E6%98%8E


          02

          參數(shù)引入


          完成以上前置條件的準(zhǔn)備后,我們先了解一下調(diào)試指令中與斷點調(diào)試所相關(guān)的具體參數(shù)39ef3a27cb3839b00f49b0be02e173ed.webp(可滑動):


          -c, --config [vscode/pycharm/intellij]   [Required] Select which IDE to use when                                       debugging and output related debug                                       config tips for the IDE. value:                                       vscode/pycharm/intellij
          -d, --debug-port number [Required] Specify the local function container starting in debug mode, and exposing this port on localhost
          --debug-args string [Optional] Additional parameters that will be passed to the debugger
          --debugger-path string [Optional] The path of the debugger on the host
          --tmp-dir string [Optional] The temp directory mounted to '/tmp' , default: './.s/tmp/invoke/serviceName/functionName/'

          使用斷點調(diào)試時,--config 參數(shù)以及 --debug-port 參數(shù)是必要的:


          • --config 會指定斷點調(diào)試的 IDE 環(huán)境,目前支持 VSCode、Pycharm 、Intellij 三種。

          • --debug-port 會指定調(diào)試的監(jiān)聽端口。


          另外,其余三種參數(shù)是可選的:
          • --debug-args 會自定義程序啟動時的調(diào)試參數(shù),不指定時默認(rèn)的調(diào)試參數(shù)可以參考文末附錄部分。

          • --debugger-path 會將本地指定路徑掛載到程序運行環(huán)境的 /tmp/debugger_file?之中。

          • --tmp-dir 會將本地指定路徑掛載到程序運行環(huán)境中的 /tmp 目錄上,在調(diào)試時,程序?qū)懭?/tmp 的結(jié)果文件則會在映射到本地目錄,用于驗證結(jié)果是否符合預(yù)期。


          03

          實操演練


          1)VSCode


          使用 VSCode 進(jìn)行斷點調(diào)試時,流程十分簡單,下面我們將斷點調(diào)試場景分為 Event 函數(shù)調(diào)試Http 函數(shù)調(diào)試兩種,分別進(jìn)行介紹。


          • 調(diào)試 Event 函數(shù):


          step1:首先啟動 Serverless 應(yīng)用,打開終端,進(jìn)入目標(biāo)項目下,輸入啟動指令:
          # 本地調(diào)試$ s local invoke --config vscode --debug-port 3000
          # 端云聯(lián)調(diào)$ s proxied setup --config vscode --debug-port 3000

          啟動指令執(zhí)行后,本地的函數(shù)計算執(zhí)行環(huán)境會有一定阻塞,我們需要等待調(diào)用;與此同時當(dāng)前項目會生成 .vscode/launch.json 文件,該文件是基于 VSCode 進(jìn)行調(diào)試的配置文件,若該文件已經(jīng)存在,那么啟動指令會打印相應(yīng)配置文本,如下圖所示,需要利用這部分內(nèi)容覆蓋已有 .vscode/launch.json 中的內(nèi)容。


          65dc5c83ee2f9c0b26c1f96b29d2a380.webp.vscode/launch.json 更新內(nèi)容示例


          step2:啟動斷點調(diào)試器,打開 VSCode 界面,然后打開 s.yml 中 codeUri 所存放的源代碼,為其打上斷點,接著點擊開始調(diào)試按鈕,具體執(zhí)行如下圖所示。


          56293092693669f260b26ea0870ebad2.webpVSCode 啟動調(diào)試器示意圖
          對于本地調(diào)試而言,啟動調(diào)試器后,程序便已經(jīng)啟動,此時就可以開始進(jìn)行我們的斷點調(diào)試工作了。如果是端云聯(lián)調(diào)的話,啟動調(diào)試器后,在啟動指令終端頁面,會出現(xiàn) "Debugger attached." 字段,這時說明調(diào)試器也已啟動成功,正在等待被調(diào)用,接下來我們繼續(xù)進(jìn)行如下步驟即可。


          step3:開始斷點調(diào)試:打開一個新的終端頁面,輸入調(diào)用指令 s proxied invoke --event "hello"后,程序啟動,斷點調(diào)試開始。


          step4:結(jié)束斷點調(diào)試:調(diào)試結(jié)束后,主動關(guān)閉斷點調(diào)試器。端云聯(lián)調(diào)場景下,會創(chuàng)建一系列輔助函數(shù)資源,因此調(diào)試完成后,這里需要進(jìn)行輔助資源釋放,防止額外的費用產(chǎn)生,只需執(zhí)行 s proxied cleanup 即可釋放輔助資源。
          • 調(diào)試 php7.2 Event 函數(shù)


          php7.2 runtime 的本地調(diào)試?IDE 建議使用 VSCode,其斷點調(diào)試步驟與其他語言有一定差異性,因此單獨進(jìn)行介紹。目前 php7.2 runtime 不支持端云聯(lián)調(diào)斷點調(diào)試。


          step1:首先啟動 Serverless 應(yīng)用,打開終端,進(jìn)入目標(biāo)項目下,輸入啟動指令 s local invoke --config vscode --debug-port 3000
          與之前不同的是,Event 函數(shù)啟動指令執(zhí)行完成后,并不會出現(xiàn)阻塞的情況,而是會直接執(zhí)行成功,同時在當(dāng)前項目下會生成 .vscode/launch.json 文件,如前文所述。
          step2:啟動斷點調(diào)試器,打開 VSCode 界面,然后打開 s.yml 中 codeUri 所存放的源代碼,為其打上斷點,接著點擊開始調(diào)試按鈕,具體執(zhí)行如下圖所示。
          9a7845cfc11f2051da024c623400d53f.webp
          step3:開始斷點調(diào)試:打開一個新的終端頁面,再次輸入啟動指令 s local invoke --config vscode --debug-port 3000?后,程序啟動,斷點調(diào)試開始。


          step4:結(jié)束斷點調(diào)試:調(diào)試結(jié)束后,主動關(guān)閉斷點調(diào)試器。


          • 調(diào)試 Http 函數(shù)


          端云聯(lián)調(diào)中對 Http 函數(shù)的調(diào)試方式實際上與 Event 函數(shù)相同,因此不再贅述,本節(jié)我們主要介紹下本地調(diào)試關(guān)于 Http 函數(shù)應(yīng)該如何進(jìn)行調(diào)試。


          step1:啟動 Serverless 應(yīng)用,首先,打開終端,進(jìn)入目標(biāo)項目下,輸入啟動指令 s local start --config vscode --debug-port 3000,啟動指令執(zhí)行后,本地的函數(shù)計算執(zhí)行環(huán)境會阻塞等待調(diào)用,并打印訪問 http 函數(shù)的 url 字段。


          step2:啟動斷點調(diào)試器:打開 VSCode 界面,然后打開 s.yml 中 codeUri 存放的源代碼,為其打上斷點,接著點擊開始調(diào)試按鈕,如圖所示。此時在啟動指令終端頁面,會出現(xiàn) "Debugger attached." 字段,說明調(diào)試器啟動成功,等待被調(diào)用。
          56293092693669f260b26ea0870ebad2.webpVSCode 啟動調(diào)試器示意圖


          step3:開始斷點調(diào)試:可以通過 curl 指令、瀏覽器等方式訪問 Http 函數(shù)的 URL,此時程序啟動,斷點調(diào)試開始。


          step4:結(jié)束斷點調(diào)試:調(diào)試完成后,主動關(guān)閉斷點調(diào)試器,然后在啟動指令終端頁面,執(zhí)行 Ctrl+C 即可退出調(diào)試進(jìn)程。


          • 調(diào)試 php7.2 Http 函數(shù)


          php7.2 runtime 的本地調(diào)試 IDE 建議使用 VSCode,其斷點調(diào)試步驟與其他語言有一定差異性,因此單獨進(jìn)行介紹。目前 php7.2 runtime 不支持端云聯(lián)調(diào)斷點調(diào)試。


          step1:首先啟動 Serverless 應(yīng)用,打開終端,進(jìn)入目標(biāo)項目下,輸入啟動指令 s local start --config vscode --debug-port 3000,啟動指令執(zhí)行后,會在當(dāng)前項目下會生成 .vscode/launch.json 文件,如前文所述,同時項目會阻塞住,此時需要執(zhí)行 Ctrl+C 退出。
          step2:啟動斷點調(diào)試器,打開 VSCode 界面,然后打開 s.yml 中 codeUri 所存放的源代碼,為其打上斷點,接著點擊開始調(diào)試按鈕,具體執(zhí)行如下圖所示。
          9a7845cfc11f2051da024c623400d53f.webp
          step3:開始斷點調(diào)試:打開一個新的終端頁面,再次輸入啟動指令 s local start --config vscode --debug-port 3000 后,本地的函數(shù)計算執(zhí)行環(huán)境會阻塞等待調(diào)用,并打印訪問 http 函數(shù)的 url 字段,可以通過 curl 指令、瀏覽器等方式訪問 Http 函數(shù)的 URL,此時程序啟動,斷點調(diào)試開始。
          step4:結(jié)束斷點調(diào)試:調(diào)試完成后,主動關(guān)閉斷點調(diào)試器,然后在啟動指令終端頁面,執(zhí)行 Ctrl+C 即可退出調(diào)試進(jìn)程。

          2)Intellij


          基于 Intellij 進(jìn)行斷點調(diào)試時,針對不同語言需要手動在 IDE 中配置相應(yīng)地斷點調(diào)試器,由于使用 Intellij 開發(fā)最多的語言是 Java,同時更換 IDE 后,唯一不同的步驟只有“啟動斷點調(diào)試器”,因此接下來我們將以本地調(diào)試 Java Event 函數(shù)為例,對“啟動斷點調(diào)試器”步驟進(jìn)行詳細(xì)說明。
          step1:啟動 Serverless 應(yīng)用:由于 Java 是編譯型語言,因此在開始前需要對程序進(jìn)行打包,本文示例會使用 mvn package 對函數(shù)打包,然后執(zhí)行啟動指令 s local invoke --config intellij --debug-port 3000
          step2:啟動斷點調(diào)試器:
          打開 Intellij 界面,在菜單欄依次選擇 Run -> Edit Configurations。
          隨后如下圖所示,新建一個 Remote JVM Debug。
          cd85008eeb857f00a1d3adb354fdd95d.webp新建 Remote JVM Debug

          接著,自定義調(diào)試器名稱,并將端口設(shè)置為 3000,如下圖所示。


          6fb9ca245b52477f2d823a1008a34fbe.webpIntellij 調(diào)試器配置
          最后,打開 s.yml 中 codeUri 存放的源代碼,為其打上斷點,接著點擊開始調(diào)試按鈕,如圖所示。
          9a6ef1c41bde6caa1e91dc86d7428ff9.webpIntellij 啟動斷點調(diào)試器


          3)Pycharm


          當(dāng)前只有本地調(diào)試能夠在 Pycharm 中進(jìn)行斷點調(diào)試操作,支持的運行時有 python2.7 和 python3兩個版本。在 Pycharm 中進(jìn)行斷點調(diào)試時,不僅需要在 IDE 中配置斷點調(diào)試器,還需要對使用者的源碼進(jìn)行侵入式修改,由于操作步驟內(nèi)容與常規(guī)內(nèi)容有所不同,接下來我們詳解一下這部分的調(diào)試步驟。
          step1:啟動 Serverless 應(yīng)用:首先,打開終端,進(jìn)入目標(biāo)項目下,輸入啟動指令:


          # event 函數(shù)$ s local invoke --config pycharm --debug-port 3000
          # http 函數(shù)$ s local start --config pycharm --debug-port 3000

          與之前不同的是,Event 函數(shù)啟動指令執(zhí)行完成后,并不會出現(xiàn)阻塞的情況,而是會直接執(zhí)行成功。此時就需要記錄 "Tips for PyCharm remote debug" 內(nèi)容,具體內(nèi)容示例如圖所示,記錄完成后,如果是 Http 函數(shù),則輸入 Ctrl+C 退出啟動程序。
          b058dc1fe99391968e978f7358b4dbbc.webpTips for PyCharm remote debug 內(nèi)容示例
          step2:接下來啟動斷點調(diào)試器:啟動斷點調(diào)試器主要包含 IDE 斷點調(diào)試器配置和源碼更新兩部分。


          首先,打開 pycharm 界面,在菜單欄依次選擇 Run -> Edit Configurations


          接下來如圖中所示,新建一個 Python Debug Server。


          a5de259c9a349a22df72d70c224a99aa.webp新建 Python Debug Server


          隨后設(shè)置自定義調(diào)試器名稱,并基于圖五中獲取的內(nèi)容配置 IDE host namePort 以及 Path mappings 這三個調(diào)試器配置的詳情,如圖中所示。


          0562080bb491bba86a93dce7540a0009.webppycharm 調(diào)試器配置
          隨后打開 s.yml 中 codeUri 存放的源代碼,將例圖中(Tips for PyCharm remote debug 內(nèi)容示例)的代碼內(nèi)容粘貼到代碼開頭,然后按需在源碼指定位置打上斷點,接著點擊開始調(diào)試按鈕,具體操作如圖 (pycharm 啟動斷點調(diào)試器)所示。
          b058dc1fe99391968e978f7358b4dbbc.webpTips for PyCharm remote debug 內(nèi)容示例
          d75e3f519b11e8dd20dc6acea550a9dd.webppycharm 啟動斷點調(diào)試器
          step3:開始斷點調(diào)試:打開終端,并進(jìn)入目標(biāo)項目,執(zhí)行啟動指令,p.S.此時可以不用帶上斷點調(diào)試的相關(guān)參數(shù)。
          # event 函數(shù)$ s local invoke
          # http 函數(shù)$ s local start

          Event 函數(shù)啟動指令執(zhí)行后會直接進(jìn)入斷點調(diào)試階段;Http 函數(shù)啟動指令執(zhí)行后,可以先通過 curl 指令、瀏覽器等方式訪問 Http 函數(shù)的 URL,此時程序會啟動,斷點調(diào)試就開始了。


          step4:結(jié)束斷點調(diào)試:調(diào)試完成后,主動關(guān)閉斷點調(diào)試器,對于 Http 函數(shù)而言,在啟動指令終端頁面,需執(zhí)行?Ctrl+C?方可退出調(diào)試進(jìn)程。


          結(jié)語


          Serverless 應(yīng)用的調(diào)試雖然備受詬病,但是各個云廠商并沒有因此放棄在調(diào)試方向的不斷深入探索。以阿里云函數(shù)計算為例,目前支持提供在線調(diào)試、本地調(diào)試、端云聯(lián)調(diào)等多種調(diào)試方案。而 Serverless Devs 工具所提供的應(yīng)用調(diào)試能力也十分全面了。


          上文是我所分享的一些實操經(jīng)驗,但是在過程中也發(fā)現(xiàn)了一些待改進(jìn)的點,如:
          • 斷點調(diào)試步驟繁瑣,需要在多個頁面來回切換,如果能將工具集成到 IDE,以插件化形態(tài)供所用戶使用,簡化流程,那么體驗感會大幅提升。

          • 斷點調(diào)試模式下的熱更能力:Http 函數(shù)的斷點調(diào)試過程中,并不支持代碼熱更新,每次修改完代碼后,都需要重新執(zhí)行一遍斷點調(diào)試流程,體驗不太流暢。

          • 斷點調(diào)試能力目前還未全面覆蓋所有 Runtime,例如 custom runtime 不支持?jǐn)帱c調(diào)試,php runtime 不支持端云聯(lián)調(diào)斷點調(diào)試等。


          希望本文對你有些幫助。同時也歡迎大家釘釘掃碼加入 Serverless 開發(fā)者技術(shù)群,一起學(xué)習(xí)交流。

          Serverless 開發(fā)者技術(shù)學(xué)習(xí)群


          附錄




          01

          默認(rèn)調(diào)試參數(shù)


          b6a1e91cfa89f56ea76a19d7ad198bf9.webp


          02

          斷點調(diào)試實操視頻


          下面的動圖教程均已提前完成文中提到的 “前置操作” 步驟,若要參考具體動圖進(jìn)行實踐,請先完成上文 “前置操作” 的相關(guān)流程。


          1)VSCode


          • 本地調(diào)試 Event 函數(shù)



          • 本地調(diào)試 php7.2 event 函數(shù)



          • 端云聯(lián)調(diào) Event 函數(shù)



          • 本地調(diào)試 Http 函數(shù)



          • 本地調(diào)試 php7.2 Http 函數(shù)



          • 端云聯(lián)調(diào) Http 函數(shù)



          2)Intellij


          • 本地調(diào)試 Event 函數(shù)



          • 端云聯(lián)調(diào) Event 函數(shù)



          3)Pycharm


          • 本地調(diào)試 Event 函數(shù)



          • 本地調(diào)試 Http 函數(shù)



          6f724b2a2d598d4b0659a45453df9807.webp社區(qū)網(wǎng)址一覽(可滑動):


          社區(qū)官網(wǎng):http://www.serverless-devs.com/ServerlessDesktop桌面客戶端:https://serverlessdevs.resume.net.cn/zh-cn/desktop/index.htmlServerless應(yīng)用開發(fā)者套件:http://serverless-dk.oss.devsapp.net/docs/tutorial-dk/intro/reactServerless?Devs?CLI:https://serverlessdevs.resume.net.cn/zh-cn/cli/index.htmlServerless?Hub應(yīng)用中心:https://serverlesshub.resume.net.cn/#/hubs/special-view









          RECRUITMENT

          極速上手?Serverless



          隨著 Serverless 熱度不斷升高,越來越多人期望在實際工作中能快速上手。為了讓更多 Serverless 初學(xué)者真正學(xué)會 Serverless 理論知識,在工作中根據(jù)需要靈活應(yīng)用 Serverless 技術(shù),阿里云 Serverless 團(tuán)隊推出技術(shù)圖譜,本課程包含機(jī)頻、動手實驗、電子書、直播、開源項目多種形式內(nèi)容,讓各位開發(fā)者即學(xué)即用,跑步入場享受 Serverless 技術(shù)紅利!


          入門學(xué)習(xí)網(wǎng)址:https://developer.aliyun.com/graph/serverless?


          93133fc848adc8bb3551357355d9af1a.webp


          有你想看的精彩




          即學(xué)即會:初識 Serverless如何用?Serverless 低成本打造個人專屬網(wǎng)盤高德地圖 + Serverless 護(hù)航你的春節(jié)出行


          552b78355010b914cb57df19dab84f83.webp點擊閱讀原文,了解函數(shù)計算相關(guān)資訊!
          瀏覽 19
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久视频网站 | 国产大学生一级A片 | 国产在线实拍视频 | 丁香狠狠色婷婷久久 | 亚洲字幕第一页 |