Dapr 和 Azure Functions : Hello world

本篇文章內容來自 https://charliedigital.com/2021/07/01/dapr-and-azure-functions-part-1-hello-world/ ,是按這篇文章的操作記錄。

使用 Azure Functions Core Tools 可以在本地計算機上通過命令提示符或終端開發和測試函數。 本地函數可以連接到實時 Azure 服務,你可以在本地計算機上使用完整的 Functions 運行時調試函數。安裝使用 Azure Functions Core Tools: https://docs.microsoft.com/zh-cn/azure/azure-functions/functions-run-local?tabs=v4%2Cwindows%2Ccsharp%2Cportal%2Cbash%2Ckeda

第一步:創建 函數項目:

創建一個項目文件夾 dapr-func,使用Visual Studio code 打開並運行下面的命令

func init --name HelloWorldFunc --worker-runtime dotnet

第二步:添加HelloWorld 函數

運行命令 func function new --name HelloWorld --authlevel anonymous ,選擇 HttpTrigger

運行命令 func start 測試函數

image

瀏覽器訪問 http://localhost:7071/api/HelloWorld

image

 

第三步: 用Dapr 來運行函數

使用下列命令通過Dapr 邊車運行函數

dapr run --app-id helloworldfuncdapr --app-port 7071 --dapr-http-port 7070 func start

  1. --app-id helloworldfuncdapr 是一個應用標識符,他將是服務URL的一部分
  2. --app-port 7071 是應用程序將與 Dapr 通信的端口
  3. --dapr-http-port 7070 是 Dapr 通過 sidecar 暴露應用程序端口(在本例中爲 7071)的地方
  4. func start 運行函數應用程序

image

我們仍然可以使用 直接訪問 Function http://localhost:7071/api/HelloWorld,但現在我們也可以使用 Dapr sidecar 訪問它http://localhost:7070/v1.0/invoke/helloworldfuncdapr/method/api/HelloWorld

讓我們分解網址:

  1. http://localhost:7070/v1.0/invoke 注意我們指定的端口 7070 --dapr-http-port
  2. /helloworldfuncdapr是我們之前指定的--app-id
  3. /method/api/HelloWorld 是到 Functions 端點的路由

image

 

image

Dapr 和 Functions 在本地機器上的不同進程中運行,Dapr 充當轉發代理。func.exe 正在運行我們的 Functions 應用程序,而 Dapr 在這一點上或多或少像一個簡單的 HTTP 轉發代理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章