摘要:配置觸發器的函數可以通過請求觸發執行。目前函數計算的觸發器支持等編程語言,并不同程度支持對應的框架,具體內容請參看參考文檔。編寫處理函數編寫處理函數的時候一定注意配置了觸發器的函數接口與普通函數接口不同。
摘要: Web 應用(Serverless web backend) 是函數計算很重要的一個使用場景。相比于傳統的在服務器上搭建 web 應用,函數計算無需您管理服務器等基礎設施,只需編寫代碼并上傳,函數計算會為您準備好計算資源,以 彈性、可靠 的方式運行您的代碼,實現毫秒級別彈性伸縮,輕松應對峰值壓力。
函數計算簡介
阿里云 函數計算(Function Compute) 是事件驅動的全托管計算服務,是阿里云的 Serverless 計算平臺。基于函數計算構建應用,您無需管理服務器等基礎設施,而是專注于應用邏輯的開發,大幅提高開發效率。
借助函數計算,您幾乎可以構建任何類型的應用程序或后端服務,包括 Web 應用后端服務,大規模文件處理,數據實時流式處理等等。函數計算能實時彈性伸縮計算資源來匹配您的應用負載,使得您的系統能始終如一的、可靠的支撐業務的高速增長。此外您只需為實際使用的資源付費,函數未執行則不付費,財務成本顯著減低。
函數計算遇見 Web 應用
Web 應用(Serverless web backend) 是函數計算很重要的一個使用場景。相比于傳統的在服務器上搭建 web 應用,函數計算無需您管理服務器等基礎設施,只需編寫代碼并上傳,函數計算會為您準備好計算資源,以 彈性、可靠 的方式運行您的代碼,實現毫秒級別彈性伸縮,輕松應對峰值壓力。
為了更好地支持 Serverless web backend 的使用場景,提升用戶體驗,函數計算推出 HTTP 觸發器,即可以通過 HTTP 請求觸發函數執行,您只需將業務代碼寫在函數中就可以搭建 Web 應用,同時,HTTP 觸發器各個編程語言對流行的 Web 框架做了不同程度的兼容,方便您將原有服務遷移到函數計算上來,真正實現 一行代碼,一觸即發。
HTTP 觸發器
HTTP 觸發器,顧名思義,即 HTTP 請求可以觸發函數執行。配置 HTTP 觸發器的函數可以通過 HTTP 請求觸發執行。此時函數可以看做一個 Web 應用,對 HTTP 請求進行處理,并將處理結果返回給調用端。
目前函數計算的 HTTP 觸發器支持 nodejs、python、php 等編程語言,并不同程度支持對應的 Web 框架,具體內容請參看 參考文檔。
使用示例
下面對使用 HTTP 觸發器搭建 Web 應用的示例進行介紹。
搭建基于 HTTP 觸發器的 Web 應用分為三個步驟:
配置 HTTP 觸發器
只有配置了 HTTP 觸發器的函數才可以對 HTTP 請求進行處理;
值得注意的是配置了 HTTP 觸發器的函數接口與普通函數接口不同。
編寫處理函數
編寫處理函數的時候一定注意配置了 HTTP 觸發器的函數接口與普通函數接口不同。
測試函數執行
通過向函數 HTTP 發送請求觸發函數執行,并檢驗是否符合預期。
配置 HTTP 觸發器
登錄 函數計算管理控制臺。
新建服務,本示例的服務名稱為 web-server,所屬區域為華東2,開啟【高級配置】,配置日志項目和日志倉庫,角色創建方式為新建角色,系統授權模板選擇 AliyunLogFullAccess,點擊 【授權】,點擊【確定】。
在左側導航欄選擇服務,進入到新建的服務中。
單擊 【創建函數】,在創建函數頁面:
單擊 【選擇全部的語言】,在下拉菜單中選擇開發語言。
選擇 【空白函數】。
按如下圖示配置 HTTP 觸發器,單擊 【下一步】。
認證方式選擇 anonymous,不需要身份驗證,支持匿名訪問。
請求方式為此函數可以處理的 HTTP Method。
創建函數并填寫所在服務、函數名稱、描述信息和運行環境信息。
單擊【下一步】。
核對信息無誤后,單擊【創建】。
配置 HTTP 觸發器更多內容請參考 配置 HTTP 觸發器官方文檔。
編寫函數代碼
以 Python 為例,一個簡單的示例代碼如下:
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()]
更多編程語言的代碼示例及詳細信息請參考 編寫函數代碼。
短短兩步,基于 HTTP 觸發器的 Web 應用就搭建完成了,下面我們對函數進行測試,看是否符合我們的預期。
測試函數執行
您需要向函數發送 HTTP 請求測試函數執行是否符合預期。可以通過瀏覽器發送 HTTP 請求、curl 發送 HTTP 請求進行測試,控制臺也可以發送 HTTP 請求方便您的調試。
例如,通過 curl 發送 HTTP 請求觸發函數執行,結果如下:
~ curl https://123456.cn-shanghai.fc...
{"uri": "/2016-08-15/proxy/web-server/testHttp/", "method": "GET"}%
通過控制臺及瀏覽器發送 HTTP 請求請參考文章 測試函數執行。
總結
使用 HTTP 觸發器可以快速搭建基于函數計算的 Web 服務,按量付費,免運維,毫秒級彈性擴容,完美解決用戶痛點。
Serverless 時代已來,一行代碼,一觸即發。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/8855.html
摘要:摘要本文對使用自定義域名觸發器搭建應用的步驟進行詳細介紹,手把手帶您三分鐘搭建穩定可靠的應用。函數計算搭建應用一觸發器中闡述了應用是函數計算很重要的一個使用場景。 摘要: 本文對使用自定義域名 + HTTP 觸發器搭建 Web 應用的步驟進行詳細介紹,手把手帶您三分鐘搭建穩定可靠的 Web 應用。 簡介阿里云 函數計算(Function Compute) 是事件驅動的全托管計算服務,是...
摘要:如果使用阿里云函數計算,您將高峰期每小時的訪問日志,或者低谷期每小時的訪問日志交給一個計算函數處理,并將處理結果存到中。下面結合阿里云的函數計算產品來講解各個應用場景中架構以及如何解決的場景中的痛點。 摘要: Serverless概念是近年來特別火的一個技術概念,基于這種架構能構建出很多應用場景,適合各行各業,只要對輕計算、高彈性、無狀態等場景有訴求的用戶都可以通過本文來普及一些基礎概...
摘要:導讀近期靈雀云技術專家邵明岐翻譯了所著的一書的部分內容,可以說是對科普與觀察的上佳素材。的另一半是是的另一種形式,概念上容易混淆的地方在于,有時候將自己的服務,,稱為。 導讀:近期靈雀云技術專家邵明岐翻譯了Mike Roberts & John Chapin所著的《What is serverless》一書的部分內容,可以說是對Serverless科普與觀察的上佳素材。本文為第1篇,他...
摘要:初版在年月發布,隨后在月正式發布。架構屬于平臺即服務,針對事件驅動,短暫性的工作負載。架構平臺選擇目前最有效構建架構方法是在眾多架構平臺中選擇其一,并充分利用它所有的功能,以下將列舉幾個架構平臺亞馬遜推出了第一個的云服務平臺。 showImg(https://segmentfault.com/img/remote/1460000009775604?w=640&h=356); 數人云近來...
閱讀 1342·2021-09-24 10:26
閱讀 3655·2021-09-06 15:02
閱讀 604·2019-08-30 14:18
閱讀 576·2019-08-30 12:44
閱讀 3119·2019-08-30 10:48
閱讀 1936·2019-08-29 13:09
閱讀 1993·2019-08-29 11:30
閱讀 2279·2019-08-26 13:36