前言
工作上剛好遇到需要將儲存體打包並下載的功能,所以整理了一下程式碼並寫成簡單範例。包含了列出儲存體容器內的檔案和打包下載的功能,壓縮的部分則是使用 SharpZipLib
套件來完成。
工作上剛好遇到需要將儲存體打包並下載的功能,所以整理了一下程式碼並寫成簡單範例。包含了列出儲存體容器內的檔案和打包下載的功能,壓縮的部分則是使用 SharpZipLib
套件來完成。
在微軟公告停止 Azure DevOps 上的負載測試服務之後,在 Azure 上要進行負載測試就得透過第三方服務或是自行架設 VM 來進行測試,終於微軟推出專用的服務 Azure Load Testing,可以讓我們透過定義好的 JMeter 腳本來進行負載測試,本文就來介紹要如何進行設定和測試,以及服務的費用說明。
微軟在 Azure 上面提供了 Private Link 這一個服務,可以將 Azure 上的 Pass 變成私有的服務,僅能透過 Private Link 才可以連線到,從外部網路是無法直接連線到,如此對於資安有較大要求的情境,就可以設計出僅在特定網路下才可以連線的架構,但是在這樣的架構下也會產生額外的需求,比如說 App Service 的部署,在這個情境下就不能像之前文章「使用 Visual Studio 部署網站到 App Service」的方式直接部署上去,因為這時候是無法從外部網路直接連線到 App Service 的,而解決的辦法最簡單的方式就是建立一台跳板機 VM,設定和 Private Link 同一個虛擬網路,再透過這一台機器進行部署,但是這樣的方式就得在每次要部署時候在連到跳板機器再去部署,還是不夠方便,因此我們可以透過 Azure DevOps 自動化部署,後面文章就來說明實做設定的流程了。
繼前面「Azure Container Apps 初體驗」之後要來實做持續部署的設定,而在 Azure Container Apps 服務裡面目前支援的是 GitHub Action,而不是 Azure DevOps,本文就針對實做的一些細節和心得作分享。
身為使用微軟解決方案的開發者,一定都會使用到 NuGet 套件,不管是官方或是非官方的,一定多少都會使用到。然後在實務上一定會有需求會要建立私人的 NuGet 提供庫,比如說公司內部共用的類別庫,這些很多都牽扯到商業邏輯,不可能直接發佈到官方公開的 NuGet 上,這時候就可以使用 Azure DevOps 內的 Artifacts 來管理和提供套件,既然都已經使用到 Azure DevOps 了,那當然也希望可以自動打包並部署到 Artifacts,不然得在每次 commit 之後還得自己執行指令來打包和推送套件上去,這樣太花時間了,本文就針對 .NET Core 來說明如何設定自動化和使用 Artifacts 取得套件。
在使用 Azure DevOps 的 Boards 的時候,我們新增工作項目時候會很常使用到 Tag 功能來針對項目作標記,方便後續呈現和篩選時候使用,按照預設值應該專案成員都會有新增(定義) Tag 的功能,但是針對新進成員設定權限時候,卻發現成員無法新增 Tag,但是可以選擇已有新增的 Tag,本文記錄解決這個問題的筆記,怕之後遇到會再忘記了XD
微軟在前幾天的 Ignite 2021 宣佈推出了 Azure Container Apps,這是一個基於 Kubernetes 的無伺服器容器執行服務,可以更方便我們管理和部署容器服務,快速的玩了一下,把一些基本介紹和使用心得整理一下。
實務上偶爾會發生管理資源的時候一不小心就刪除錯資源的慘劇,部分 Azure 服務是可以自助還原的,不需要再開 Ticket 請微軟 Support 協助,比如說儲存體帳戶,針對 Blob 有虛刪除功能,針對儲存體帳戶層級也有還原刪除的儲存體帳戶的功能,而針對今天要討論的主角 App Service,雖然在 Azure Portal 上面並沒有 UI 可以方便視覺化的操作,但是還是可以透過 PowerShell 指令來還原。
Power BI 是微軟推出的視覺化互動報表服務,可以方便建構出企業做為決策參考用的互動式報表,在使用上要看到報表比較常見的兩種模式,一為直接 Host 在 Power BI 網站的報表,觀看者會取得一個特定的報表網址來察看,另一種模式為網頁內嵌的方式。根據察看對象的不同,可以選擇不一樣的模式來呈現,假設是企業內部要察看報表,可以選擇 Power BI Host 的報表,我們只需要將報表製作完成之後發佈上去即可,而觀看者會需要 Power BI Pro 授權 (發佈為 Public 的話可以不需要授權),如果要做成服務提供給企業內部或是客戶察看報表就會用到今天要介紹的 Power BI Embedded,可以將報表內嵌在網頁內,而 Host 的服務則是使用 Azure。
在 ASP.Net Core 微軟提供了 TagHelper 來更精簡我們在寫 View 的語法,整個使用上會比較清爽,而我們也可以很方便的自訂和擴充,但是在實做擴充上想可以支援 asp-for 卻卡住了,後來找了討論和文章,要支援的化需要使用 ModelExpression,因此針對 ModelExpression 的實做上寫了這篇實做的記錄。
在實務上偶而會有需要知道 Azure 上面的服務 IP ,比如說針對地端機器設定防火牆,或是服務和服務間串接,僅開放特定服務可以存取,這時候就會需要取得服務的 IP 範圍,這些 IP 範圍是公開的,微軟有提供不少方式可以取得,本文就整理了一些方式來取得服務的 IP 範圍。
之前在「Azure CDN from Verizon 實做 signed cookies 驗證」透過 cookies 來驗證 signed 的 token,但是在安全性上還有一個隱藏的問題會導致要保護的檔案會公開在網路上,因為 Verizon 並非 Azure 原生的服務,所以在預設上 Verizon 的 CDN 節點是會被儲存體的安全性擋住的,所以為了 CDN 會需要設定儲存體是允許匿名的,雖然檔案基本上是透過 CDN 並且有 signed cookies 來做保護,但是如果儲存體的位置被知道,還是會被直接的存取,這樣也留了一個安全性的漏洞,這次要針對這個問題透過程式來取得 Verizon 的節點 IP 並且設定到儲存體的允許清單內。
ASP.Net Core 內建 ILogger 介面方便我們可以實做或串接各種 Log 的套件,而當我們把程式部署到 App Service 但是又不想或不需要把 Log 記錄到 Application Insight,只是想比較單純的用文字檔來收集 Log 就好,本文就針對這樣的情境透過簡單的設定和程式碼就可以把 Log 記錄到我們指定的儲存體內。
針對 Azure 上面最多人使用的 Paas 服務之一的 App Service,我們可以很方便的手動或自動化設定多個執行個體來負擔網站的負載,但是在開啟之後會有一些延伸的議題需要處理,本文就針對這些常見問題做一些實測和確認。
上一篇我們使用到了表單辨識器範例工具來快速的使用表單辨識器這一個服務,接下來針對這一個工具來快速的把其它功能測試一下。
表單辨識器 (form recognizer) 為微軟 Azure AI 中認知服務的其中一個項目,故名思義它就是可以針對表格作辨識的一個服務,透過這個服務我們可以很方便的辨識各種表單,例如說發票、收據、身份證…等。接下來會針對這一個服務出一系列的文章,第一篇就先使用官方提供的線上工具先來體驗服務的威力吧!
微軟有推出很多的認證考試,大部分都會有期限,期限一到就需要重新考試來重新取的認證的資格,我身上有一個認證有 2 年的期限,但是因為疫情和微軟更改規則,延了兩次半年,而微軟改變的規則就是可以透過線上的免費認證考試,可以延長一年的認證資格,而我的認證剛好符合資格,也收到微軟的信件說可以進行延期的認證考試了,因此就把這次難得的經驗整理一下,希望對有需要重新認證的人有所幫助。
Azure Web PubSub 是微軟推出的一個新服務,目前還在預覽中,它是即時推撥訊息的服務,透過伺服器和用戶端建立 WebSoket 連線,做到及時的訊息傳遞的服務,它底層還是微軟之前推出的 SignalR ,他簡化了 SignalR 的使用,僅保留 WebSoket 的連線方式,然後支援 CloudEvents 格式,在使用上也不需要限定使用 SignalR 的 JS SDK,可以使用任何 WebSoket 的套件來使用,本文針對官方聊天室範例實做過程做個記錄,並且把一些會卡住的點說明一下。
過去曾經針對 .NET Framework 寫了一版在 App Service 要轉換 HTML 成 PDF 檔案的可行方案,這次改成 .NET Core 版,一樣是透過 wkhtmltopdf 這個工具,然後配合找到的套件來產生 PDF,後面就是實做和測試的結果。
ASP.Net Core 需要做 AAD 的 OpenId 非常的方便,如果針對登入的使用者需要做額外的驗證且另外加入額外的自訂 Claim 的話,只需要新增 OpenIdConnectEvents 即可,本文簡單記錄一下實做的程式。