標籤:串連方式 技術 blob 地址 接受 sql 玩意兒 允許 沒有
我要做什嗎?
- 改 ASE 的監聽地址。對於有強迫症的我來說,ASE 預設監聽的是 127.0.0.1:10000-10002,這讓我無法接受,所以我要將它改成網域名稱 + 80 連接埠的方式;
- 放到容器中,ASE 只允許單一實例運行,難道為了這玩意兒,我要在三個環境下開三個虛擬機器?
- 串連 SQL Server,而不是 SQL Server Express LocalDB。DEV/QA 各有其 SQL Server Instance,當然要橋歸橋,路歸路。
要改變 ASE 的監聽地址,首先要確認它有沒有使用 HTTP Listener(即 HTTP.sys),否則無法支援連接埠共用。這個簡單,運行起 ASE,netstat -ano 看到連接埠 10000-10002 的 PID 為 4,基本就可以斷定了,但我們還是要進一步確認一下。
開啟 C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe.config,將 StorageEmulatorConfig 中的監聽地址和帳號改成這個樣子:
<StorageEmulatorConfig> <services> <service name="Blob" url="http://dev.blob.contoso.com/"/> <service name="Queue" url="http://dev.queue.contoso.com/"/> <service name="Table" url="http://dev.tablecontoso.com/"/> </services> <accounts> <account name="dev" authKey="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" /> </accounts></StorageEmulatorConfig>
以管理員方式運行 ASE,結果如下:
看到這裡,各位看官可能要問,為什麼監聽的地址前面要加個“dev.”而不是直接用“blob.contoso.com”這樣的地址呢?咳,還不是為了 Azure Storage Explorer。我們看看 Azure Storage Explorer 的串連頁面:
為了能讓 Azure Storage Explore 能串連上。在 Azure Storage Explore 的串連頁面上,第一種方式就不用想了,因為你是模擬器;第二種串連方式是使用連接字串,Azure Storage Emulator 的連接字串格式必須帶有 /AccountName 的尾碼(見 https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator),嘗試一下:
雖然這是我最想要的串連方式,但顯然 Azure Storage Explorer 並不接受這樣的串連串。那麼只剩下第三種:
結果:
Azure Storage Explorer 把我們的網域名稱改成了 accountname.blob.contoso.com 這樣的格式,哎,這是 Azure 的 Storage Account 的 套路,雖然前面掛個“dev.”,後邊掛個“/dev”,但也勉強接受了。建個 container 試試:
Okay!下一章,我們要嘗試使用自訂的 SQL Server 執行個體。
在 Windows Server Container 中運行 Azure Storage Emulator(一):能否監聽自訂地址?