使用Azure Functions 在web 應用中啓用自動更新(一)分析基於輪詢的 Web 應用的限制

1,引言

上一篇介紹了使用使用 Visual Studio 開發 "Azure Functions" 函數,此篇介紹 「Azure Functions」 的測試以及直接從 Vistual Studio 在 Azure 上的部署 」Azure Functions「應用。node

接着上一篇,本篇介紹在 「Azure Functions」 中實現一個函數,該函數僅在 Azure Cosmos DB 中的數據發生變化時運行。git

在基於計時器的輪詢原型中,不管底層數據是否發生了更改,客戶端應用程序都會聯繫服務器。 從服務器返回數據後,不管數據是否發生了任何更改。github

輪詢機制是一種低效的解決方案web

 2.1,分析基於輪詢的 Web 應用的限制

  開發軟件:數據庫

  (1)Node.jsnpm

  (2)Vs Codejson

  (3)Azure Functions Tools:是微軟提供的一個用於建立開發,測試,調試Azure Functions的本地的工具,能夠參考下面的github地址進行查看windows

    github地址:https://github.com/Azure/azure-functions-core-tools瀏覽器

  (4)Azure Functions,Azure Storage的兩個插件服務器

  

  注意  安裝 「Azure Functions Core Tools」 的時候 ,筆者使用npm進行安裝的時候,一直沒法安裝,全部我這裏推薦使用  「chocolatey」 windows的一個包管理器

  (1)chocolatey 安裝說明地址:https://chocolatey.org/install

  (2)azure-functions-core-tools 安裝命令:

choco install azure-functions-core-tools --params "'/x64'"

  下載示例應用代碼:這裏使用的是微軟提供的demo

git clone https://github.com/MicrosoftDocs/mslearn-advocates.azure-functions-and-signalr.git serverless-demo

3,建立存儲帳戶

  Azure Functions 須要一個存儲賬戶,在Azure的門戶的「Cloud Shell」 中執行:

az storage account create \
  --name storage-web-test \
  --resource-group xxxxxx-xxxxx-xxxxx-xxxx-xxx-xxxxxxxxxxxv \ 
--kind StorageV2 \ --sku Standard_LRS

 

注意  --resource-group 這裏填寫本身對應的 "資源組的 id",並且 --name 參數我這裏使用了變量來代替,這裏不要去糾結。

4,建立Azure Cosmos DB 帳戶

  將數據存儲在Azure Cosmos DB 數據庫中,繼續在門戶的「Cloud Shell」中執行:

az cosmosdb create  \
  --name msl-sigr-cosmos-test \
  --resource-group xxxxxx-xxxxx-xxxxx-xxxx-xxx-xxxxxxxxxxx

5,更新本地設置:

5.1,Visual Studio Code 中打開「start」文件夾。 在編輯器中打開 local.settings.json 

 在 local.settings.json 中,在 「Azure」 門戶中找出對應的存儲帳戶的 AzureWebJobsStorage

 

 

 

在 「Azure」 門戶中找出對應的存儲帳戶的  AzureCosmosDBMasterKey,和 AzureCosmosDBConnectionString 

  修改對應的key,而且保存文件   

6,運行應用程序

  (1)安裝依賴項,而且設置數據的種子數。     

npm install

       (2)F5 開始調試,終端窗口中將顯示函數應用啓動。

    開始啓用畫面:

               啓動完成畫面:  

 

    (3)啓動第二個實例,而且啓動web應用程序

npm start

     腳本會自動打開瀏覽器,而且導航到http://localhost:8080

   (4)最後使用cmd'打開第三個實例,而且輸入更新數據命令  npm run update-data    來更新數據,觀察頁面數據在短期內的變化。

     web頁面的數據變化

 ok,咱們成功在本地使用輪詢的方式測試 「Azure Functions」 在web應用程序中啓動自動更新。

以上也是本身的學習的過程,謝謝各位指點。太晚了,先睡了

做者:Allen 

代碼稍後也會傳到 github

版權:轉載請在文章明顯位置註明做者及出處。如發現錯誤,歡迎批評指正。

相關文章
相關標籤/搜索