小程序Serverless云開發(fā)_第1頁
小程序Serverless云開發(fā)_第2頁
小程序Serverless云開發(fā)_第3頁
小程序Serverless云開發(fā)_第4頁
小程序Serverless云開發(fā)_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

實現(xiàn)小程序云開通如何操作云數(shù)據(jù)庫?如何使用云存儲?如何使用云函數(shù)如何使用云調(diào)用?實現(xiàn)你的小程序統(tǒng)計分析 I實現(xiàn)小程序云開通小程序云是阿里云面向小程序場景提供的一站式云服務,幫助開發(fā)者實現(xiàn)一云多端的業(yè)務戰(zhàn)略。開發(fā)者可通過小程序云支撐各類小程序前端,在一朵云內(nèi)實現(xiàn)統(tǒng)一的資源管理、統(tǒng)一的數(shù)據(jù)運營和統(tǒng)一的業(yè)務設計。小程序云提供小程序Serverless和小程序云應用服務,幫助小程序開發(fā)者降低研發(fā)和運維成本。阿里云小程序Serverless提供包括云函數(shù)、數(shù)據(jù)存儲、文件存儲等一整套后端服務。開發(fā)者通過API方式即可獲取云函數(shù)、數(shù)據(jù)存儲、文件存儲、音視頻、圖像處理等服務,不需要關心服務器或底層運維設施,可以更專注于代碼和業(yè)務本身。Serverless是一種構建和管理基于微服務架構的完整流程。計算資源作為服務而不是服務器的概念出現(xiàn),開發(fā)者不再需要考慮服務器的問題,可以更專注于代碼和業(yè)務,更快速地開發(fā)軟件。Serverless通常包含BaaS和FaaS服務:BaaS:后端即服務(BackendasaService向開發(fā)者提供后端基礎功能,通過API方式進行調(diào)用。例如文件存儲、數(shù)據(jù)庫、消息等。FaaS:函數(shù)即服務(FunctionasaService允許開發(fā)者直接將程序部署到平臺上,以函數(shù)作為最小單元,通過API方式進行調(diào)用。阿里云小程序Serverless提供以下功能:數(shù)據(jù)存儲數(shù)據(jù)存儲服務是基于MongoDB托管在云端的數(shù)據(jù)庫,數(shù)據(jù)以JSON格式存儲。數(shù)據(jù)庫中的每條記錄都是一個JSON格式的對象。一個數(shù)據(jù)庫可以有多個集合(相當于關系型數(shù)據(jù)庫中的表)。文件存儲文件存儲服務支持文本、圖片和其他由用戶生成的內(nèi)容存儲到云端。開發(fā)者可以在小程序端和控制臺使用云存儲功能。圖片上傳成功后,系統(tǒng)會自動生成一個資源鏈接。開發(fā)者可以在小程序中使用該圖片地址。云函數(shù)云函數(shù)服務支持使用Node.js進行開發(fā)。作為開發(fā)者,您可以可將代碼提交到云端運行,在客戶端使用小程序提供的API進行調(diào)用。您還可以在云函數(shù)中直接通過API調(diào)用數(shù)據(jù)存儲和文件存儲的服務資源。云調(diào)用云調(diào)用是基于小程序Serverless的云函數(shù)來使用支付寶小程序開放接口的能力,可以方便的讓開發(fā)者在小程序中直接調(diào)用支付寶的后端開放接口,不需要關注服務端的相關配置,極大的減少了接入的流程,進一步降低了支付寶小程序的開發(fā)門檻。目前云調(diào)用涵蓋了支付寶開放的基礎能力、營銷能力、會員能力、支付能力、安全能力,以及阿里云開放的短信能力。資金能力也已經(jīng)開放使用。開發(fā)前準備在開始使用阿里云小程序Serverless服務開發(fā)支付寶小程序前,您需要開通小程序Serverless服務并完成支付寶小程序開發(fā)者認證。1.打開支付寶開放平臺。2.單擊頁面右上角的立即入駐。3.打開支付寶App,掃描頁面上的二維碼。4.補充用戶信息,然后單擊確認加入,完成開發(fā)者入駐。 1.打開阿里云官網(wǎng)。2.單擊頁面右上角的免費注冊。3.選擇一種登錄方式,完成阿里云賬號注冊并完成實名認證。開通小程序Serverless服務1.下載小程序開發(fā)工具。2.新建或打開小程序Serverless工程。3.打開小程序云控制臺。4.綁定阿里云賬號。5.授權。 5.開通小程序云。1.在云控制臺新建服務空間。2.IDE工程關聯(lián)對應的服務空間。3.在云控制臺的設置里設置支付寶小程序應用的AppID和密鑰信息。最新的云控制臺支持兩種開放平臺的加簽模式:公鑰模式和公鑰證書模式。需要注意的是,如果要通過云調(diào)用使用發(fā)放紅包,轉賬等資金類接口,就要使用公鑰證書模式,將支付寶開放平臺上應用對應的支付寶應用公鑰證書,支付寶公鑰證書以及支付寶根證書按指示上傳。 1.在項目文件列表中找到app.js文件,配置以下信息,然后保存。appId是小程序的ID。您可以在螞蟻金服開放平臺的支付寶小程序頁面查看AppID。spaceId、clientSecret和endpoint在小程序Serverless控制臺創(chuàng)建服務空間后可以獲得。新建自己的小程序Serverless工程,開通您的小程序云。開通后新建一個服務空間。在該服務空間下,設置您的支付寶小程序配置。 云數(shù)據(jù)庫使用云數(shù)據(jù)庫(數(shù)據(jù)存儲服務)是基于MongoDB托管在云端的數(shù)據(jù)庫,數(shù)據(jù)以JSON格式存儲。作為開發(fā)者,您可以在客戶端內(nèi)直接操作數(shù)據(jù),也可以在云函數(shù)中讀寫數(shù)據(jù)。小程序Serverless提供了一套簡明易懂的JSON語法用來控制用戶對資源的訪問,類似于身份驗證體系里的IAM或者網(wǎng)絡安全中的ACL。您可以通過修改權限規(guī)則來控制數(shù)據(jù)表權限。小程序Serverless會為每個新建的數(shù)據(jù)表自動提供一個默認權限規(guī)則。默認新建數(shù)據(jù)表無任何操作權限,您可以通過添加權限規(guī)則管理數(shù)據(jù)表的權限。1.打開小程序云控制臺,在云數(shù)據(jù)庫頁面,單擊權限圖標。2.在設置數(shù)據(jù)庫權限頁面,設置權限規(guī)則。然后直接修改安全規(guī)則。3.修改完成后,單擊確定。創(chuàng)建數(shù)據(jù)表小程序Serverless服務使用的是分布式文件存儲數(shù)據(jù)庫MongoDB,以JSON格式存儲數(shù)據(jù)。數(shù)據(jù)庫中的每條記錄都是一個JSON格式的對象,一個數(shù)據(jù)庫可以包含多個集合(相當于關系型數(shù)據(jù)庫中的表)。您可以在控制臺上創(chuàng)建數(shù)據(jù)表。1.打開小程序云控制臺,在云數(shù)據(jù)庫頁面,選擇要關聯(lián)的環(huán)境。2.單擊添加圖標,輸入數(shù)據(jù)表名稱,最后單擊確定。小程序端調(diào)用1.在小程序項目的根目錄執(zhí)行以下命令安裝SDK。2.在app.js中初始化SDK(全局只需初始化一次)。 3.在小程序頁面操作數(shù)據(jù)庫}云函數(shù)端調(diào)用設置數(shù)據(jù)庫索引使用數(shù)據(jù)庫時,對成為查詢條件的字段設置索引可以有效提高查詢效率,更快的獲取信息。缺省情況下會對_id_字段默認創(chuàng)建一個非唯一索引。1.在數(shù)據(jù)庫頁面,單擊目標數(shù)據(jù)表,然后單擊索引頁簽進入索引設置頁面。2.擊添加索引進入索引設置頁面。.3.填寫索引名稱,設置索引屬性、索引字段。索引屬性:可以設置為唯一索引或非唯一索引。將字段設置為唯一索引后,可以防止不同記錄的被索引鍵上存儲相同值。索引字段:支持單鍵索引和復合索引設置,字段按升序或降序排列。單鍵索引是最常見的索引形式,針對一個指定字段建立索引。對于單字段索引,升序、降序的查詢效果一樣。復合索引是是單鍵索引的升級版,針對多個字段聯(lián)合創(chuàng)建索引,先按照第一個字 段排列,第一個字段相同的記錄按第二個字段排列,依次類推。4.單擊保存按鈕,保存索引設置。在之前新建的服務空間里,設計云數(shù)據(jù)庫的數(shù)據(jù)庫表:以電商平臺為場景,設計包含產(chǎn)品、用戶、購物車和訂單的數(shù)據(jù)庫。訂單是由用戶購買產(chǎn)品產(chǎn)生的,訂單就可以認為是產(chǎn)品和用戶之間的關聯(lián)關系產(chǎn)生的。在訂單產(chǎn)生之前,產(chǎn)品和用戶之間的關聯(lián)關系是通過購物車來維持的。用戶表需要記錄用戶的登陸賬號名,賬號id等必要信息。產(chǎn)品表需要記錄商品的名稱,商戶id,產(chǎn)品庫存量,產(chǎn)品價格,產(chǎn)品圖片url等必要信息。購物車表需要記錄用戶id,產(chǎn)品id,購買產(chǎn)品的數(shù)量等必要信息。訂單表需要記錄產(chǎn)品id,總價,訂單創(chuàng)建時間,訂單狀態(tài),用戶id等必要信息。云存儲使用mpserverless.file對象提供uploadFile和deleteFile方法管理文件。上傳的文件將通過CDN進行網(wǎng)絡加速。小程序Serverless提供了一套簡明易懂的JSON語法用來控制用戶對資源的訪問,類似于身份驗證體系里的IAM或者網(wǎng)絡安全中的ACL。您可以通過修改權限規(guī)則來管理文件權限。小程序Serverless會為每個新建的文件自動提供一個默認權限規(guī)則。默認規(guī)則規(guī)定所有文件都只有資源所有者可以進行寫操作,所有人可讀。您可以在控制臺上修改文件權限。1.打開小程序云控制臺,在云存儲頁面,單擊權限圖標。2.修改權限規(guī)則,然后單擊保存。上面的權限規(guī)則由多個子規(guī)則組成,每個子規(guī)則包含以下信息:范圍:用于定義規(guī)則生效范圍。在數(shù)據(jù)存儲的安全規(guī)則中,每一個規(guī)則的范圍是一個文件(路徑)。您可以通過文件路徑指定一個特定的文件,也可以通過JavaScript的正則表達式指代一批文件或使用星號(*)指代所有文件。操作:用于定義生效范圍內(nèi)的特定操作。所有人都具有文件的讀權限。.write代表寫操作,*代表所有操作。策略:用于確定生效范圍內(nèi)的特定操作是否允許。默認沒有標記為允許的操作,都是不允許的。策略是操作是否被允許的標記,可以是一個布爾值,或者是一個表達式。當策略沖突時,以最先出現(xiàn)的規(guī)則策略為準。如默認的權限規(guī)則策略表達式request.auth.userId==resource.auth.userId代表所有文件都只有資源所有者可以進行寫操作,所有人可讀。控制臺操作1.打開小程序云控制臺,在云存儲頁面,單擊上傳文件。2.單擊直接上傳或將文件拖拽至上傳區(qū)域。文件上傳過程中,請勿刷新或關閉頁面,否則上傳任務會被中斷且列表會被清空。3.上傳成功后,您可以單擊詳情查看圖片下載地址。小程序端調(diào)用1.在小程序項目的根目錄執(zhí)行以下命令安裝SDK。2.文件上傳或刪除。實現(xiàn)在小程序中點擊選擇相冊內(nèi)圖片上傳,上傳成功后,插入一條產(chǎn)品表的數(shù)據(jù),產(chǎn)品圖片url字段使用上傳成功后返回的fileUrl字段。 I如何使用云函數(shù)云函數(shù)開發(fā)云函數(shù)(FaaS)是一段運行在云端的、輕量的、無關聯(lián)的、并且可重用的代碼。無需管理服務器,只需編寫和上傳代碼,即可獲得對應的數(shù)據(jù)結果。使用云函數(shù)可以使企業(yè)和開發(fā)者不需要擔心服務器或底層運維設施,可以更專注代碼和業(yè)務本身,也可以使代碼進一步解耦,增加其重用性。云函數(shù)目錄結構在Serverless小程序工程的server/functions目錄下創(chuàng)建云函數(shù)目錄,其中index.js是云函數(shù)getImageList的入口文件。云函數(shù)代碼結構以下代碼示例展示了如何從數(shù)據(jù)庫images里面查出特定用戶上傳的圖片記錄。云函數(shù)里可以直接通過API調(diào)用數(shù)據(jù)存儲,文件存儲的服務資源以及其他云函數(shù)。當云函數(shù)被客戶端或者其他云函數(shù)調(diào)用時,可以通過ctx.args獲得調(diào)用傳來的參數(shù)。可以通過ctx.logger方法打印不同類型的日志信息,然后在云函數(shù)控制臺中查看執(zhí)行日志。在云函數(shù)內(nèi)通過ctx.env來獲取環(huán)境參數(shù),例如SpaceId、調(diào)用來源、客戶端源IP和客戶端UserAgent等信息。ctx.env是一個object,它包含MP_SPACE_ID(SpaceIdMP_SOURCE(調(diào)用來源MP_USER_AGENT(客戶端User-agentMP_CLIENT_IP(客戶端IP)。在云函數(shù)中,您可以直接調(diào)用同一環(huán)境(空間)的數(shù)據(jù)存儲和文件存儲服務以及獲取當前請求用戶的基本信息。ctx.mpserverless在云函數(shù)封裝了小程序的基礎服務,API使用方式和客戶端一致。通過ctx.mpserverless.db調(diào)用云數(shù)據(jù)庫能力,如ctx.mpserverless.db.col-lection('user').find({uid:args.uid})。通過ctx.mpserverless.file調(diào)用文件存儲能力,如ctx.mpserverless.file.deleteFile(args.filePathUrl)。通過ctx.mpserverless.user獲取當前訪問用戶基本信息,如ctx.mpserver-less.user.getInfo()。通過ctx.mpserverless.function調(diào)用云函數(shù)能力,如mpserverless.function.invoke('dataAnalytics',{range:30})調(diào)用其他云函數(shù)。●通過ctx.httpclientHTTP請求方法,無需額外依賴,您就可以請求任何HTTP和HTTPS協(xié)議的Web服務。如ctx.httpclient.request('https:///x/notFound.htm')。在代碼工程創(chuàng)建云函數(shù)1.新建或打開小程序Serverless工程,點擊server目錄關聯(lián)對應的云服務空間。 2.在functions目錄上右鍵選擇新建云函數(shù)。在云控制臺創(chuàng)建云函數(shù)打開小程序云控制臺,在云函數(shù)頁面,點擊新建云函數(shù)。在新建云函數(shù)框里輸入云函數(shù)的函數(shù)名。編寫云函數(shù)代碼后,您需要將云函數(shù)代碼在代碼工程里或者在云控制臺上傳。在代碼工程部署云函數(shù)編寫云函數(shù)代碼后,右鍵點擊已創(chuàng)建的云函數(shù),選擇部署云函數(shù)。 在云控制臺部署云函數(shù)1.打開小程序云控制臺,在云函數(shù)頁面,單擊已創(chuàng)建的函數(shù)名稱鏈接。2.在發(fā)布管理頁簽,單擊上傳js包或更新js包,然后選擇要上傳的代碼包。上傳的代碼包必須滿足以下要求:代碼包的名稱必須和在控制臺上創(chuàng)建的函數(shù)名稱一致。代碼包必須是.zip文件。上傳的代碼包必須包含index.js文件。如果引用了第三方包,代碼包里必須包含node_modules。2.上傳成功后,單擊代碼部署。1.在小程序項目的根目錄執(zhí)行以下命令安裝SDK。2.在app.js中初始化SDK(全局只需初始化一次)。 3.在小程序頁面您可以使用mpserverless.function.invoke方法調(diào)用上述定義的云函數(shù)。}編寫一個云函數(shù)上傳部署,在云函數(shù)里查詢云數(shù)據(jù)庫里產(chǎn)品表的所有數(shù)據(jù)。并在小程序頁面端調(diào)用該云函數(shù),并將返回的數(shù)據(jù)以列表形式顯示在小程序頁面。云調(diào)用使用云調(diào)用是基于小程序Serverless的云函數(shù)來使用支付寶小程序開放接口的能力,可以方便的讓開發(fā)者在小程序中直接調(diào)用支付寶的后端開放接口,不需要關注服務端的相關配置,極大的減少了接入的流程,進一步降低了支付寶小程序的開發(fā)門檻。目前云調(diào)用涵蓋了支付寶開放的基礎能力、營銷能力、會員能力、支付能力、安全能力,以及阿里云開放的短信能力。云調(diào)用的資金能力也將在近期開放。完成以下操作,在小程序云控制臺開通云調(diào)用功能:1.打開小程序云控制臺。2.在導航欄選擇擴展能力。3.在擴展能力頁面,單擊立即開通。4.單擊前往RAM進行授權,然后單擊同意授權允許小程序訪問函數(shù)計算服務。5.返回擴展能力頁面,查看開通狀態(tài)。 步驟二:安裝并初始化SDK1.在小程序項目的根目錄執(zhí)行以下命令安裝SDK。2.在app.js中初始化云調(diào)用SDK(全局只需初始化一次)。2929其中:appId是小程序的ID。您可以在支付寶小程序控制臺獲得。spaceId、clientSecret和endpoint在小程序Serverless控制臺創(chuàng)建服務空間后可以獲得。3.在想要使用SDK的頁面導入alipay-serverless-sdk即可使用。更多云調(diào)用支持的開放能力見/mini/cloudser-vice/khf843同時我們提供了調(diào)用支付寶開放能力的通用云調(diào)用接口,滿足您的開發(fā)需要。在小程序端通過云調(diào)用的方式,為你的小程序首頁生成一個二維碼。 I教你一個云開發(fā)技巧云開發(fā)技巧在云開發(fā)技巧中,我們將向你介紹:●使用云函數(shù)HTTP觸發(fā)器+云調(diào)用實現(xiàn)無需后端接入支付寶支付功能,并通過云函數(shù)接收支付回調(diào)功能;使用云函數(shù)定時觸發(fā)器實現(xiàn)每天凌晨定時調(diào)度任務。使用云函數(shù)HTTP觸發(fā)器實現(xiàn)支付回調(diào)當開啟某一函數(shù)的HTTP觸發(fā)功能后,只要使用HTTP請求就可以訪問到函數(shù),開發(fā)者需要關注業(yè)務安全和資源安全。業(yè)務安全:開發(fā)者需在云函數(shù)代碼中做好權限控制和安全防護,避免未授權訪問觸發(fā)敏感操作?!褓Y源安全:云函數(shù)開啟了HTTP訪問后,如果遇到大量惡意訪問,消耗云函數(shù)資源,開發(fā)者可以將云函數(shù)的觸發(fā)路徑設置為空或關掉該Space的HTTP觸發(fā)功能,停止HTTP觸發(fā)支持。開啟云函數(shù)HTTP觸發(fā)功能新建用于處理支付回調(diào)邏輯的云函數(shù),上傳部署。●開啟Space的HTTP觸發(fā)功能調(diào)用接口UpdateHttpTriggerConfig接口來開啟Space的HTTP觸發(fā)功能,注意需要設置EnableService為true。系統(tǒng)會為開啟HTTP觸發(fā)功能的Space分配一個默認域名(DefaultEnd-point),供HTTP觸發(fā)使用?!耖_啟云函數(shù)的HTTP觸發(fā)功能調(diào)用接口UpdateFunction接口來為云函數(shù)設置HTTP觸發(fā)路徑HttpTriggerPath,只有設置了觸發(fā)路徑的云函數(shù)才能使用該功能。HTTP觸發(fā)函數(shù)執(zhí)行訪問https://${DefaultEndpoint}${HttpTriggerPath}或http://${DefaultEndpoint}${HttpTriggerPath},即可觸發(fā)對應的云函數(shù)執(zhí)行?!窠榻B兩種調(diào)用UpdateHttpTriggerConfig和UpdateFunction的方式,一種是在阿里云的API在線調(diào)試界面/document_detail/158669.html以及/documentdetail/153370.html_發(fā)起在線API調(diào)用。另外一種就是在代碼里集成@alicloud/pop-core,示例代碼如下:}云調(diào)用調(diào)用支付接口,并使用云函數(shù)的HTTP觸發(fā)路徑做為支付回調(diào)Url參數(shù)1.在小程序項目的根目錄執(zhí)行以下命令安裝SDK。2.在app.js中初始化云調(diào)用SDK(全局只需初始化一次并將之前獲得的用于處理支付回調(diào)邏輯的云函數(shù)的HTTP觸發(fā)路徑(暫時支持http協(xié)議格式路徑)作為初始化云調(diào)用SDK的參數(shù)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論