摘要: Web 應用(Serverless web backend) 是函數(shù)計算很重要的一個使用場景。相比于傳統(tǒng)的在服務器上搭建 web 應用,函數(shù)計算無需您管理服務器等基礎設施,只需編寫代碼并上傳,函數(shù)計算會為您準備好計算資源,以 彈性、可靠 的方式運行您的代碼,實現(xiàn)毫秒級別彈性伸縮,輕松應對峰值壓力。
成都創(chuàng)新互聯(lián)主營歙縣網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app軟件開發(fā)公司,歙縣h5小程序設計搭建,歙縣網(wǎng)站營銷推廣歡迎歙縣等地區(qū)企業(yè)咨詢阿里云 函數(shù)計算(Function Compute) 是事件驅動的全托管計算服務,是阿里云的 Serverless 計算平臺。基于函數(shù)計算構建應用,您無需管理服務器等基礎設施,而是專注于應用邏輯的開發(fā),大幅提高開發(fā)效率。
借助函數(shù)計算,您幾乎可以構建任何類型的應用程序或后端服務,包括 Web 應用后端服務,大規(guī)模文件處理,數(shù)據(jù)實時流式處理等等。函數(shù)計算能實時彈性伸縮計算資源來匹配您的應用負載,使得您的系統(tǒng)能始終如一的、可靠的支撐業(yè)務的高速增長。此外您只需為實際使用的資源付費,函數(shù)未執(zhí)行則不付費,財務成本顯著減低。
Web 應用(Serverless web backend) 是函數(shù)計算很重要的一個使用場景。相比于傳統(tǒng)的在服務器上搭建 web 應用,函數(shù)計算無需您管理服務器等基礎設施,只需編寫代碼并上傳,函數(shù)計算會為您準備好計算資源,以 彈性 、 可靠 的方式運行您的代碼,實現(xiàn)毫秒級別彈性伸縮,輕松應對峰值壓力。
為了更好地支持 Serverless web backend 的使用場景,提升用戶體驗,函數(shù)計算推出 HTTP 觸發(fā)器,即可以通過 HTTP 請求觸發(fā)函數(shù)執(zhí)行,您只需將業(yè)務代碼寫在函數(shù)中就可以搭建 Web 應用,同時,HTTP 觸發(fā)器各個編程語言對流行的 Web 框架做了不同程度的兼容,方便您將原有服務遷移到函數(shù)計算上來,真正實現(xiàn) 一行代碼,一觸即發(fā) 。

HTTP 觸發(fā)器,顧名思義,即 HTTP 請求可以觸發(fā)函數(shù)執(zhí)行。配置 HTTP 觸發(fā)器的函數(shù)可以通過 HTTP 請求觸發(fā)執(zhí)行。此時函數(shù)可以看做一個 Web 應用,對 HTTP 請求進行處理,并將處理結果返回給調用端。
目前函數(shù)計算的 HTTP 觸發(fā)器支持 nodejs、python、php 等編程語言,并不同程度支持對應的 Web 框架,具體內容請參看 參考文檔 。
下面對使用 HTTP 觸發(fā)器搭建 Web 應用的示例進行介紹。
搭建基于 HTTP 觸發(fā)器的 Web 應用分為三個步驟:
配置 HTTP 觸發(fā)器
只有配置了 HTTP 觸發(fā)器的函數(shù)才可以對 HTTP 請求進行處理;
值得注意的是配置了 HTTP 觸發(fā)器的函數(shù)接口與普通函數(shù)接口不同。
編寫處理函數(shù)
編寫處理函數(shù)的時候一定注意配置了 HTTP 觸發(fā)器的函數(shù)接口與普通函數(shù)接口不同。
測試函數(shù)執(zhí)行
通過向函數(shù) HTTP 發(fā)送請求觸發(fā)函數(shù)執(zhí)行,并檢驗是否符合預期。
登錄 函數(shù)計算管理控制臺 。
新建服務,本示例的服務名稱為 web-server,所屬區(qū)域為華東2,開啟【高級配置】,配置日志項目和日志倉庫,角色創(chuàng)建方式為新建角色,系統(tǒng)授權模板選擇
AliyunLogFullAccess
,點擊 【授權】,點擊【確定】。
在左側導航欄選擇服務,進入到新建的服務中。
單擊 【創(chuàng)建函數(shù)】,在創(chuàng)建函數(shù)頁面:
認證方式選擇 anonymous,不需要身份驗證,支持匿名訪問。
請求方式為此函數(shù)可以處理的 HTTP Method。
單擊 【選擇全部的語言】,在下拉菜單中選擇開發(fā)語言。
選擇 【空白函數(shù)】。
按如下圖示配置 HTTP 觸發(fā)器,單擊 【下一步】。
創(chuàng)建函數(shù)并填寫所在服務、函數(shù)名稱、描述信息和運行環(huán)境信息。
單擊【下一步】。
核對信息無誤后,單擊【創(chuàng)建】。
配置 HTTP 觸發(fā)器更多內容請參考 配置 HTTP 觸發(fā)器官方文檔 。
以 Python 為例,一個簡單的示例代碼如下:
# -*- coding: utf-8 -*-import json
HELLO_WORLD = b"Hello world!\n"def handler(environ, start_response):
request_uri = environ['fc.request_uri']
response_body = { 'uri':environ['fc.request_uri'], 'method':environ['REQUEST_METHOD']
} # do something here
status = '200 OK'
response_headers = [('Content-type', 'text/json')]
start_response(status, response_headers) # Python2
return [json.dumps(response_body)] # Python3 tips: When using Python3, the str and bytes types cannot be mixed.
# Use str.encode() to go from str to bytes
# return [json.dumps(response_body).encode()]
更多編程語言的代碼示例及詳細信息請參考 編寫函數(shù)代碼 。
短短兩步,基于 HTTP 觸發(fā)器的 Web 應用就搭建完成了,下面我們對函數(shù)進行測試,看是否符合我們的預期。
您需要向函數(shù)發(fā)送 HTTP 請求測試函數(shù)執(zhí)行是否符合預期。可以通過瀏覽器發(fā)送 HTTP 請求、curl 發(fā)送 HTTP 請求進行測試,控制臺也可以發(fā)送 HTTP 請求方便您的調試。
例如,通過 curl 發(fā)送 HTTP 請求觸發(fā)函數(shù)執(zhí)行,結果如下:
~ curl https://123456.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/web-server/testHttp/
{"uri": "/2016-08-15/proxy/web-server/testHttp/", "method": "GET"}%
通過控制臺及瀏覽器發(fā)送 HTTP 請求請參考文章 測試函數(shù)執(zhí)行 。
使用 HTTP 觸發(fā)器可以快速搭建基于函數(shù)計算的 Web 服務,按量付費,免運維,毫秒級彈性擴容,完美解決用戶痛點。
Serverless 時代已來,一行代碼,一觸即發(fā)。
HTTP 觸發(fā)器文檔
HTTP 觸發(fā)器示例
設置 HTTP 觸發(fā)器的 Nodejs 函數(shù)入口
設置 HTTP 觸發(fā)器的 Python 函數(shù)入口
設置 HTTP 觸發(fā)器的 PHP 函數(shù)入口
函數(shù)計算搭建 Serverless Web 應用(二)- 自定義域名
函數(shù)計算搭建 Serverless Web 應用(三)- 三分鐘搭建 Web 應用
網(wǎng)站欄目:函數(shù)計算搭建ServerlessWeb應用(一)-HTTP觸發(fā)器-創(chuàng)新互聯(lián)
瀏覽路徑:http://chinadenli.net/article46/cdoceg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、品牌網(wǎng)站建設、自適應網(wǎng)站、外貿網(wǎng)站建設、網(wǎng)站改版、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容