透過 Kudu API 實做 App Service WebJob 管理平台

  • 305
  • 0

前言

因為需要讓使用者可以自行執行和察看 App Service 上的 WebJob 的狀態,但是又不希望還需要另外開 Azure Portal 權限給使用者,因此會需要可以透過程式來控制 WebJob,找了一下發現 Kudu 是有提供 API 的,因此就透過 API 實做出類似 Kudu 後台的 WebJob 管理介面,在這一個管理平台上可以同時管理多組 App Service 站台底下的 WebJob,後面就來說明該如何設定和使用這一個平台。

...繼續閱讀 »

如何透過 Kudu API 執行 WebJob 並帶入參數

  • 125
  • 0

在之前的文章「透過 Kudu API 實做 App Service WebJob 管理平台」裡透過 Kudu API 來觸發執行 WebJob ,但是在某些情境下會需要讀取參數,而且會是要每次執行的時候可以帶不一樣的參數,這樣的情境我們就不能把參數寫在 config 上,參考文件之後發現透過程式去觸發 WebJob 的時候我們可以在網址帶入參數,因此就調整了之前寫的管理平台讓它可以支援參數。

...繼續閱讀 »

自訂 App Service DNS Server

  • 234
  • 0

透過 App Service 上執行網站的時候,有時候可能會需要透過私有的 DNS Server 來解析特定的網址,這時候可以透過一些簡單的設定就可以完成這樣的需求,後面就來介紹兩個方式來完成這需求。

...繼續閱讀 »

[筆記] 在 App Service 設定陣列組態

  • 106
  • 0

在開發的時候一定會有機會存取陣列類型的設定值,在程式裡面通常會用複雜型別來對應這樣的設定資料,那部署到 App Service 如果要透過組態來設定陣列值的話因為沒辦法像設定 appsetting.json 那樣方便,會需要採用 key 值的方式來設定,平常又是透過強型別來存取陣列設定,反而不熟悉存取陣列 key 值的方式而卡了一下,因此筆記一下設定的方式。

...繼續閱讀 »

不修改程式下在 App Service 使用 App Configuration 管理參數

  • 260
  • 0
  • 2022-09-25

前言

在開發專案的初期,除了環境設定以外,程式的參數設定會是初期需要處理的問題,不外乎是怎麼存?存哪裡?而在預設的 .NET Core 專案會是存在 appsettings.json 這一個檔案裡面,而專案越來越大或是越來越多子專案之後,就會延伸一個問題是參數的管理,可能在很多專案會用到一樣的參數,但是當這個參數要調整的時候,會需要每一個專案都記得去修改,這樣在管理上會相當的不方便,這時候就可以使用 Azure 上的 App Configuration 這一個服務來統一管理和設定參數,而最近微軟 Public Preview 一個新的功能,讓我們可以在不修改程式的情境下讓 App Service 的組態可以直接使用 App Configuration 內的參數,後面就來介紹該如何啟用這樣的功能。

...繼續閱讀 »

.NET Core 實做連接 SAP 並部署到 App Service

  • 1715
  • 0

前言

最近工作上需要串接 SAP,但是因為現在專案都改用 .NET Core 了,官方的 SAP Connector for Microsoft .NET 主要是支援 .NET Framework,因此就在 NuGet 上面找了幾個套件,經過測試之後,huysentruitw/SapNwRfc 這一個套件,它的使用方式我比較喜歡,而且可以支援強型別的 Model ,使用上會比較順手,另外也需要將程式部署到 App Service 執行,因此也把可能會遇到的問題記錄一下。 

...繼續閱讀 »

使用 Azure DevOps 部署到 App Service WebJob

前言

在 Azure 上面執行排程程式除了 Azure Function、Logic App 等服務以外,最方便的方式還是使用 App Service 裡面的 WebJob,它可以執行很多種類型的程式,所以我們可以簡單的開發一個 Console 程式去執行我們的排程程式,而當然也要讓它可以自動化部署,在設定上會有一些細節需要注意,所以特別針對一些設定和參數來記錄一下部署的流程。

...繼續閱讀 »

使用 Azure DevOps 部署到 App Service 預備環境 (Slot) 並進行切換

前言

App Service 有一個很實用的功能就是預備環境 (Slot),他可以方便我們在部署程式的時候可以先佈到預備環境,測試完成之後可以直接和正式環境進行切換 (Swap),也可以在發現有沒測試到的嚴重問題的時候可以再切換一次,就可以快速的退到前一版的環境,那要結合 Azure Devops 的話就可以達到自動化的部署和切換,而且可以加上審核的關卡,測試完成之後審核完成就自動的進行切換,本文就來針對這樣得情境進行介紹如何完成這樣的自動化流程。

...繼續閱讀 »

透過 Azure DevOps 自動部署程式到 Private Link 後的 App Service

  • 491
  • 0

微軟在 Azure 上面提供了 Private Link 這一個服務,可以將 Azure 上的 Pass 變成私有的服務,僅能透過 Private Link 才可以連線到,從外部網路是無法直接連線到,如此對於資安有較大要求的情境,就可以設計出僅在特定網路下才可以連線的架構,但是在這樣的架構下也會產生額外的需求,比如說 App Service 的部署,在這個情境下就不能像之前文章「使用 Visual Studio 部署網站到 App Service」的方式直接部署上去,因為這時候是無法從外部網路直接連線到 App Service 的,而解決的辦法最簡單的方式就是建立一台跳板機 VM,設定和 Private Link 同一個虛擬網路,再透過這一台機器進行部署,但是這樣的方式就得在每次要部署時候在連到跳板機器再去部署,還是不夠方便,因此我們可以透過 Azure DevOps 自動化部署,後面文章就來說明實做設定的流程了。

...繼續閱讀 »

還原誤刪除的 App Service

  • 192
  • 0

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

...繼續閱讀 »

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

  • 921
  • 0

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

...繼續閱讀 »

App Service 實做身份識別存取 KeyVault

  • 400
  • 0

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

...繼續閱讀 »

App Service 中使用 MySQL in App 和 phpMyAdmin

  • 801
  • 0
  • 2021-03-21

微軟在 2016 年就發表了 App Service 提供了 MySQL In App 這個功能,雖然他很陽春,但是在某些情境下使用也是可以省下不少費用和時間,且還提供了 phpMyAdmin 這一套熱門的管理工具,因此我們也不用另外安裝來管理 MySQL,所以在時間和成本考量下,是可以考慮使用這個小功能的。

...繼續閱讀 »