Azure DevOps 自動打包和發佈 NuGet 套件到 Artifacts

  • 158
  • 0

身為使用微軟解決方案的開發者,一定都會使用到 NuGet 套件,不管是官方或是非官方的,一定多少都會使用到。然後在實務上一定會有需求會要建立私人的 NuGet 提供庫,比如說公司內部共用的類別庫,這些很多都牽扯到商業邏輯,不可能直接發佈到官方公開的 NuGet 上,這時候就可以使用 Azure DevOps 內的 Artifacts 來管理和提供套件,既然都已經使用到 Azure DevOps 了,那當然也希望可以自動打包並部署到 Artifacts,不然得在每次 commit 之後還得自己執行指令來打包和推送套件上去,這樣太花時間了,本文就針對 .NET Core 來說明如何設定自動化和使用 Artifacts 取得套件。

...繼續閱讀 »

[筆記] 解決 Azure DevOps 專案成員無法新增 Tag 問題

  • 55
  • 0

在使用 Azure DevOps 的 Boards 的時候,我們新增工作項目時候會很常使用到 Tag 功能來針對項目作標記,方便後續呈現和篩選時候使用,按照預設值應該專案成員都會有新增(定義) Tag 的功能,但是針對新進成員設定權限時候,卻發現成員無法新增 Tag,但是可以選擇已有新增的 Tag,本文記錄解決這個問題的筆記,怕之後遇到會再忘記了XD

...繼續閱讀 »

還原誤刪除的 App Service

  • 75
  • 0

實務上偶爾會發生管理資源的時候一不小心就刪除錯資源的慘劇,部分 Azure 服務是可以自助還原的,不需要再開 Ticket 請微軟 Support 協助,比如說儲存體帳戶,針對 Blob 有虛刪除功能,針對儲存體帳戶層級也有還原刪除的儲存體帳戶的功能,而針對今天要討論的主角 App Service,雖然在 Azure Portal 上面並沒有 UI 可以方便視覺化的操作,但是還是可以透過 PowerShell 指令來還原。 

...繼續閱讀 »

Power BI Embedded 實做記錄

  • 397
  • 0

Power BI 是微軟推出的視覺化互動報表服務,可以方便建構出企業做為決策參考用的互動式報表,在使用上要看到報表比較常見的兩種模式,一為直接 Host 在 Power BI 網站的報表,觀看者會取得一個特定的報表網址來察看,另一種模式為網頁內嵌的方式。根據察看對象的不同,可以選擇不一樣的模式來呈現,假設是企業內部要察看報表,可以選擇 Power BI Host 的報表,我們只需要將報表製作完成之後發佈上去即可,而觀看者會需要 Power BI Pro 授權 (發佈為 Public 的話可以不需要授權),如果要做成服務提供給企業內部或是客戶察看報表就會用到今天要介紹的 Power BI Embedded,可以將報表內嵌在網頁內,而 Host 的服務則是使用 Azure。

...繼續閱讀 »

自訂支援 ModelExpression 的 TagHelper

  • 154
  • 0

在 ASP.Net Core 微軟提供了 TagHelper 來更精簡我們在寫 View 的語法,整個使用上會比較清爽,而我們也可以很方便的自訂和擴充,但是在實做擴充上想可以支援 asp-for 卻卡住了,後來找了討論和文章,要支援的化需要使用 ModelExpression,因此針對 ModelExpression 的實做上寫了這篇實做的記錄。 

...繼續閱讀 »

如何取得 Azure 服務 IP 範圍

  • 189
  • 0

在實務上偶而會有需要知道 Azure 上面的服務 IP ,比如說針對地端機器設定防火牆,或是服務和服務間串接,僅開放特定服務可以存取,這時候就會需要取得服務的 IP 範圍,這些 IP 範圍是公開的,微軟有提供不少方式可以取得,本文就整理了一些方式來取得服務的 IP 範圍。

...繼續閱讀 »

透過程式設定 Verizon CDN 節點 IP 到儲存體防火牆

  • 43
  • 0

之前在「Azure CDN from Verizon 實做 signed cookies 驗證」透過 cookies 來驗證 signed 的 token,但是在安全性上還有一個隱藏的問題會導致要保護的檔案會公開在網路上,因為 Verizon 並非 Azure 原生的服務,所以在預設上 Verizon 的 CDN 節點是會被儲存體的安全性擋住的,所以為了 CDN 會需要設定儲存體是允許匿名的,雖然檔案基本上是透過 CDN 並且有 signed cookies 來做保護,但是如果儲存體的位置被知道,還是會被直接的存取,這樣也留了一個安全性的漏洞,這次要針對這個問題透過程式來取得 Verizon 的節點 IP 並且設定到儲存體的允許清單內。

...繼續閱讀 »

如何使用 ASP.Net Core 在 App Service 記錄應用程式記錄

  • 367
  • 0

ASP.Net Core 內建 ILogger 介面方便我們可以實做或串接各種 Log 的套件,而當我們把程式部署到 App Service 但是又不想或不需要把 Log 記錄到 Application Insight,只是想比較單純的用文字檔來收集 Log 就好,本文就針對這樣的情境透過簡單的設定和程式碼就可以把 Log 記錄到我們指定的儲存體內。

...繼續閱讀 »

Azure 表單辨識器 (Form Recognizer) 輕鬆玩 (一)

表單辨識器 (form recognizer) 為微軟 Azure AI 中認知服務的其中一個項目,故名思義它就是可以針對表格作辨識的一個服務,透過這個服務我們可以很方便的辨識各種表單,例如說發票、收據、身份證…等。接下來會針對這一個服務出一系列的文章,第一篇就先使用官方提供的線上工具先來體驗服務的威力吧!

...繼續閱讀 »

線上更新微軟認證心得

  • 234
  • 0

微軟有推出很多的認證考試,大部分都會有期限,期限一到就需要重新考試來重新取的認證的資格,我身上有一個認證有 2 年的期限,但是因為疫情和微軟更改規則,延了兩次半年,而微軟改變的規則就是可以透過線上的免費認證考試,可以延長一年的認證資格,而我的認證剛好符合資格,也收到微軟的信件說可以進行延期的認證考試了,因此就把這次難得的經驗整理一下,希望對有需要重新認證的人有所幫助。

...繼續閱讀 »

Azure Web PubSub 實做及時聊天服務

  • 149
  • 0

Azure Web PubSub 是微軟推出的一個新服務,目前還在預覽中,它是即時推撥訊息的服務,透過伺服器和用戶端建立 WebSoket 連線,做到及時的訊息傳遞的服務,它底層還是微軟之前推出的 SignalR ,他簡化了 SignalR 的使用,僅保留 WebSoket 的連線方式,然後支援 CloudEvents 格式,在使用上也不需要限定使用 SignalR 的 JS SDK,可以使用任何 WebSoket 的套件來使用,本文針對官方聊天室範例實做過程做個記錄,並且把一些會卡住的點說明一下。

...繼續閱讀 »

App Service 實做身份識別存取 KeyVault

  • 138
  • 0

在透過程式存取 Azure 資源的時候,基於安全性考量,通常是透過在 AAD 內建立應用程式註冊,透過註冊應用程式設定必要的權限來存取 Azure 資源,但是在使用 KeyVault 的時候就是希望有更高的安全性,會將金鑰或秘密存在服務內,但是這時候又會有一組應用程式註冊的 Secret 會需要被放到程式的參數內,那如果也想在開發階段也隱藏這一個金鑰的話就得使用微軟推出的身份識別功能,透過此功能來存取資源,可以在開發階段避免直接將應用程式註冊的 Id 和 Secret 交付給開發人員或是存放在設定檔內,本文就是介紹整個開發階段和部署到 Azure App Service 時候實做存取 Key Vault 內的 Secret。

...繼續閱讀 »

SQL Database 複寫安全性設定

  • 326
  • 0

為了更高的安全性,我們通常會新增 SQL 帳號,並且針對不同帳號給予不同的權限,避免使用管理者帳號來存取資料庫,否則當程式有漏洞的時候,可能整台 DB 的資料庫都會有安全性的問題。

針對上一篇容錯移轉設定之後,還有些安全性的議題,本文就針對安全性的設定上,說明如何調整資料庫的連線帳號。

...繼續閱讀 »