摘要:摘要本文對使用自定義域名觸發(fā)器搭建應用的步驟進行詳細介紹,手把手帶您三分鐘搭建穩(wěn)定可靠的應用。函數(shù)計算搭建應用一觸發(fā)器中闡述了應用是函數(shù)計算很重要的一個使用場景。
摘要: 本文對使用自定義域名 + HTTP 觸發(fā)器搭建 Web 應用的步驟進行詳細介紹,手把手帶您三分鐘搭建穩(wěn)定可靠的 Web 應用。
簡介
阿里云 函數(shù)計算(Function Compute) 是事件驅(qū)動的全托管計算服務,是阿里云的 Serverless 計算平臺。基于函數(shù)計算構(gòu)建應用,您無需管理服務器等基礎(chǔ)設(shè)施,而是專注于應用邏輯的開發(fā),大幅提高開發(fā)效率。
函數(shù)計算搭建 Serverless Web 應用(一)- HTTP 觸發(fā)器 中闡述了 Web 應用(Serverless web backend) 是函數(shù)計算很重要的一個使用場景。相比于傳統(tǒng)的在服務器上搭建 web 應用,函數(shù)計算無需您管理服務器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳,函數(shù)計算會為您準備好計算資源,以 彈性、 可靠 的方式運行您的代碼,實現(xiàn)毫秒級別彈性伸縮,輕松應對峰值壓力。
函數(shù)計算搭建 Serverless Web 應用(二)- 自定義域名 中闡述了綁定自定義域名,通過自定義域名訪問函數(shù),配合 HTTP 觸發(fā)器使用,為用戶使用函數(shù)計算搭建 Web 應用提供便利。
本文對使用自定義域名 + HTTP 觸發(fā)器搭建 Web 應用的步驟進行詳細介紹,手把手帶您三分鐘搭建穩(wěn)定可靠的 Web 應用。
搭建步驟
場景:本示例基于 HTTP 觸發(fā)器搭建 Web 應用,有兩個函數(shù) f1 和 f2,作為示例,函數(shù)的功能只是打印出 request 請求,當然,您可以在函數(shù)中編寫任意業(yè)務邏輯。
預期效果:通過自定義域名進行訪問可以觸發(fā)函數(shù)執(zhí)行,得到預期結(jié)果。
前提:您有獨立的域名,且已經(jīng)接入阿里云備案(如果函數(shù)在非中國大陸節(jié)點的 region,無需備案)。
步驟一:創(chuàng)建配置 HTTP 觸發(fā)器的函數(shù)
登錄 函數(shù)計算管理控制臺。
新建服務,本示例的服務名稱為 web-server,開啟【高級配置】,配置日志項目和日志倉庫,角色創(chuàng)建方式為新建角色,系統(tǒng)授權(quán)模板選擇 AliyunLogFullAccess,點擊 【授權(quán)】,點擊【確定】。
在左側(cè)導航欄選擇服務,進入到新建的服務中。
單擊 【創(chuàng)建函數(shù)】,在創(chuàng)建函數(shù)頁面:
單擊 【選擇全部的語言】,在下拉菜單中選擇 node8 或 python2.7(本示例代碼會對兩種語言進行介紹)。
選擇 【空白函數(shù)】。
按如下圖示配置 HTTP 觸發(fā)器,單擊 【下一步】。
認證方式選擇 anonymous,不需要身份驗證,支持匿名訪問。
請求方式為此函數(shù)可以處理的 HTTP 請求方式。
創(chuàng)建函數(shù)并填寫所在服務、函數(shù)名稱、描述信息和運行環(huán)境信息。
單擊【下一步】。
核對信息無誤后,單擊【創(chuàng)建】。
然后編寫函數(shù)代碼
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()]
此處以 Python 為例,其他語言的代碼請參考文章 創(chuàng)建函數(shù)和 HTTP 觸發(fā)器。
步驟二:域名解析
為了保證您的自定義域名的請求可以到達函數(shù)計算,需要您在域名解析服務器處設(shè)置域名的 CNAME 為您函數(shù)計算的 endpoint。
endpoint 的格式為
使用阿里云云解析 DNS 對域名進行解析請參考 域名解析。
步驟三:綁定自定義域名
您需要在函數(shù)計算控制臺綁定自定義域名:
登錄 函數(shù)計算控制臺
在控制臺首頁右側(cè)點擊進入 自定義域名管理,即可綁定自定義域名并設(shè)置路由。
步驟四:測試
設(shè)置成功后,訪問自定義域名進行測試,示例演示通過命令行 curl url 進行測試,您也可以通過瀏覽器測試。
~ curl api.app.com
{
"path": "/", "queries": {}, "headers": { "accept": "*/*", "user-agent": "curl/7.58.0" }, "method": "GET", "requestURI": "/", "clientIP": "42.120.75.144", "serviceName": "serviceA", "functionName": "functionA", "body": ""
}%
~ curl api.app.com/b
{
"path": "/b", "queries": {}, "headers": { "accept": "*/*", "user-agent": "curl/7.58.0" }, "method": "GET", "requestURI": "/b", "clientIP": "42.120.75.144", "serviceName": "serviceA", "functionName": "functionB", "body": ""
}%
~ curl api.app.com/a
{
"path": "/a", "queries": {}, "headers": { "accept": "*/*", "user-agent": "curl/7.58.0" }, "method": "GET", "requestURI": "/a", "clientIP": "42.120.75.144", "serviceName": "serviceB", "functionName": "functionC", "body": ""
}%
~ curl api.app.com/a/b
{
"path": "/a/b", "queries": {}, "headers": { "accept": "*/*", "user-agent": "curl/7.58.0" }, "method": "GET", "requestURI": "/a/b", "clientIP": "42.120.75.144", "serviceName": "serviceB", "functionName": "functionD", "body": ""
}%
總結(jié)
綁定自定義域名可以允許用戶通過自定義域名訪問 FC 的函數(shù),配合 HTTP 觸發(fā)器使用,可以快速搭建性能穩(wěn)定彈性可擴容的 Web 應用,可以說是十分方便了。
您在使用過程中遇到任何問題都可以隨時 聯(lián)系我們,函數(shù)計算團隊所有工程師都會在群里實時進行答疑,沒錯,所有工程師,任何問題,隨時聯(lián)系。
期待您的使用~~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/8883.html
摘要:配置觸發(fā)器的函數(shù)可以通過請求觸發(fā)執(zhí)行。目前函數(shù)計算的觸發(fā)器支持等編程語言,并不同程度支持對應的框架,具體內(nèi)容請參看參考文檔。編寫處理函數(shù)編寫處理函數(shù)的時候一定注意配置了觸發(fā)器的函數(shù)接口與普通函數(shù)接口不同。 摘要: Web 應用(Serverless web backend) 是函數(shù)計算很重要的一個使用場景。相比于傳統(tǒng)的在服務器上搭建 web 應用,函數(shù)計算無需您管理服務器等基礎(chǔ)設(shè)施,只...
摘要:導讀近期靈雀云技術(shù)專家邵明岐翻譯了所著的一書的部分內(nèi)容,可以說是對科普與觀察的上佳素材。的另一半是是的另一種形式,概念上容易混淆的地方在于,有時候?qū)⒆约旱姆眨Q為。 導讀:近期靈雀云技術(shù)專家邵明岐翻譯了Mike Roberts & John Chapin所著的《What is serverless》一書的部分內(nèi)容,可以說是對Serverless科普與觀察的上佳素材。本文為第1篇,他...
摘要:如果使用阿里云函數(shù)計算,您將高峰期每小時的訪問日志,或者低谷期每小時的訪問日志交給一個計算函數(shù)處理,并將處理結(jié)果存到中。下面結(jié)合阿里云的函數(shù)計算產(chǎn)品來講解各個應用場景中架構(gòu)以及如何解決的場景中的痛點。 摘要: Serverless概念是近年來特別火的一個技術(shù)概念,基于這種架構(gòu)能構(gòu)建出很多應用場景,適合各行各業(yè),只要對輕計算、高彈性、無狀態(tài)等場景有訴求的用戶都可以通過本文來普及一些基礎(chǔ)概...
摘要:點擊訂閱云棲夜讀周刊年,還是阿里巴巴的張勇導演了第一次天貓雙,全天的銷售額不過萬,但已經(jīng)讓大家興奮不已。【點擊訂閱云棲夜讀周刊】 009年,還是阿里巴巴CFO的張勇導演了第一次天貓雙11,全天的銷售額不過5000萬,但已經(jīng)讓大家興奮不已。 熱點熱議 神秘的阿里星是怎樣一群年輕人? 作者:技術(shù)小能手?發(fā)表在:云棲人物志 文一西路969號的阿里巴巴三代工程師 作者:技術(shù)小能手?發(fā)表在:云棲人...
閱讀 2008·2021-09-13 10:23
閱讀 2337·2021-09-02 09:47
閱讀 3801·2021-08-16 11:01
閱讀 1223·2021-07-25 21:37
閱讀 1604·2019-08-30 15:56
閱讀 539·2019-08-30 13:52
閱讀 3134·2019-08-26 10:17
閱讀 2448·2019-08-23 18:17