千呼萬喚始出來,大家期待已久的Hands On章節終於來了!
親手體驗一下Functions的建置吧!
大家還記得我們是要Azure Functions打造一個工程師交友小工具
我們要實作的功能如下:
進到Portal Dashboard頁面
點選所有服務,輸入[Function App],選擇函數應用程式
在函數應用程式頁籤上,點選[建立]
點選函數應用程式,可察看自己已建立成功的函數應用程式
若尚未看到,可能還沒建置完成,可以點選通知icon查看正在建立中的相關資訊
點選函式,準備開始搭建我們的Functions囉!
為了更專注本系列Functions(Serverless)的開發,在這邊我們跳過打造爬蟲的步驟,直接進入正題(已獲取新進會員資料的情況下,Trigger一隻篩選新進會員資料的小工具)
在這裡我們將使用HTTP Trigger,讓我透過HTTP的requests去叫用這個functions(函式)。
用來決定誰可以呼叫這個Functions(函式)
function(函式)等級:需要函式專屬的 API 金鑰。
anonymous(匿名)等級:不需要 API 金鑰。任何有URL的人都能存取。
admin等級:需要管理員金鑰
點選執行,可看到測試的結果
官方範例的程式碼: run.csx 檔案
using System.Net;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// 解析Query參數
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
if (name == null)
{
// 取得request body
dynamic data = await req.Content.ReadAsAsync<object>();
name = data?.name;
}
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}
目前我們已經完成範例程式的建置及執行,在下一個章節我們將配合實作規劃(自動篩選小工具),修改程式碼。
在比較早的章節,我們將直接在Portal上進行程式的開發,方便大家快速上手及實驗,但實際上Portal並不是開發Functions最好的地方(因為比較難除錯),它適用於實驗及雛形,在實作Functions的後篇,我們除了會繼續開發小工具的Functions,也會介紹開發的其他工具
直接前往查看實作篇: (實作)Azure Functions⚡(下篇)