EF Core 使用Azure App Service中的In-App MySQL服務

来源:https://www.cnblogs.com/xbotter/archive/2022/12/18/azure_app_service_in_app_my_sql.html
-Advertisement-
Play Games

Azure App Service 提供了一個應用內的MySQL,可以供測試、開發使用。 前提條件是需要使用Windows的操作系統。 創建完App Server 之後,只需要在設置下開啟 MySQL In App 即可。 在應用中可以從環境變數中獲取連接字元串。 var mysqlconnstr ...


Azure App Service 提供了一個應用內的MySQL,可以供測試、開發使用。
前提條件是需要使用Windows的操作系統。

創建完App Server 之後,只需要在設置下開啟 MySQL In App 即可。

image

在應用中可以從環境變數中獲取連接字元串。

var mysqlconnstr = Environment.GetEnvironmentVariable("MYSQLCONNSTR_localdb")

但是Azure提供的連接字元串是一些格式:

Database={database};Data Source={host}:{port};User Id={username};Password={password}

看起來沒有多大的問題,但是如果直接使用,則會拋出錯誤, Unable to connect to any of the specified MySQL hosts.

其實正常情況下的連接字元串是如下格式的:

Database={database};Data Source={host},{port};User Id={username};Password={password}

這麼對比,就看得出問題所在,就是Data Source中,host和port的分隔符的差異。
最快捷的方法只需要吧,:替換成,即可。

mysqlconnstr = mysqlconnstr.Replace(':', ',')

或者稍微封裝一下:

即可使用

builder.Services.AddDbContext<MySqlDbContext>(options =>
{
    options.UseMySQL(AzureAppServiceMysqlConnectionParser.Parse(mysqlConnstr));
});

一些其他的小TIPS:

  1. 直接點擊MySQL In App 頁面上的管理鏈接,可以直接打開 phpMyAdmin,線上管理MySQL資料庫
    image
  2. 通過開發工具控制台或者高級工具,在 C:\home\data\mysql\MYSQLCONNSTR_localdb.txt可以獲取上面連接字元串的值。

  1. Announcing Azure App Service MySQL in-app (preview)
  2. Moving your database to the “MySQL in App” option in Azure

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 介紹jdk JDK是Java語言的軟體開發工具包,主要用於移動設備、嵌入式設備上的java應用程式。JDK是整個java開發的核心,它包含了JAVA的運行環境(JVM+Java系統類庫)和JAVA工具。 介紹jre 包括Java虛擬機 (jvm) .Java核心類庫和支持文件。它不包含開發工具(JD ...
  • 文主要介紹 Kibana 的使用,文中所使用到的軟體版本:Elasticsearch 8.5.1、Kibana 8.5.1、Centos 7.9。 1、安裝示例數據集 Kibana 自帶有 3 個數據集,一個數據集描述了過去 10 天的航班信息,一個數據集代表電子商務平臺的訂單,還有個數據集表示 W ...
  • 1.異常處理 異常:在運行代碼過程中遇到的任何錯誤,大有error字樣的都為異常 異常處理:對代碼中所有可能會出現的異常進行處理 疑問:我們為什麼要處理異常? 2.異常代碼 import os #創建一個已存在的文件夾 os.mkdir("Eclipse") #異常:FileExistsError: ...
  • 備份文件同步法 最傳統的方法就是把配置文件備份,然後在其它電腦上通過導入的方式來恢復,這種方法在很多軟體中都實測可行。 具體對應到pycharm中,可以在pycharm菜單欄file - export 和import在多臺電腦之間同步設置。 ps.pycharm的快捷鍵導入後,需要手動修改鍵盤映射修 ...
  • 本文主要介紹application.properties文件的配置方式、application.yml文件的配置方式,以及多環境配置時,可以通過總配置文件和Maven配置兩種方式進行切換。 ...
  • Kotlin + SpringBoot + JPA 服務端開發 本篇主要介紹一下 kotlin + springboot的服務端開發環境搭建 1.概述 Kotlin 是一個基於JVM的編程語言, 是IDEA開發工具 jetbrains 公司開發的語言,也被google選為android開發的首選語言 ...
  • 對於我們.Net程式員,System.Web.Abstractions我們都非常熟悉,主要作用於Web可以實現單元測試,他是在.Net framework 3.5 sp1開始引入的,很好的解決項目表示層不好做單元測試的問題,這個庫所有類都是Wrapper/Decorator模式的。今天給推薦一個IO ...
  • 前言 在前三章中我們的案例大量使用到了Thread這個類,通過其原始API,對其進行創建、啟動、中斷、中斷、終止、取消以及異常處理,這樣的寫法不僅不夠優雅(對接下來這篇,我稱其為.NET現代化並行編程體系中出現的API而言),並且大部分的介面都是極度複雜和危險的。很幸運,如今.NET已經提供,並且普 ...
一周排行
    -Advertisement-
    Play Games
  • 1. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...