[Azure] C# + Azure.Storage.Blobs v12 - 上傳資料並且加入 Tags 、包含一些上傳數據
今天我們來聊一個新的東西,真的很新碰到一些坑,因為我之前有跟 Azure Storage Table 搏鬥的經驗,大概了解 Azure 的想法,不然我一定幹聲連連,今天要做的是假設我塞了一堆東西上去 像是 log 但是我總不可能要查詢的時候把所有檔案都拉回來吧,以前的我可能會把log 放在 SQL Server ( 但是好貴QQ) ,其實是可以放在 Blob 上面,之前我的選擇是用 Azure Storage Table ,現在這也變成是一種選擇,因為 Azure Storage Blob 多了新功能 Manage and find Azure Blob data with blob index tags (preview) 。請注意這還是 Preview
[Azure] Azure 線上測速工具 SpeedTestTool
在以前 Azure 不盛行的年代,我們通常都會知道 我們在選機器都會選擇對 目標客戶端最近的地方,如果沒有其他政治或是物理因素考量,根據經驗法則,台灣通常都會選擇東南亞,但是之後 東亞(目前在香港),所以我們都會該選擇遷徙到東亞,但是隨著現在 Azure 蓬勃發展,現在遍地開花,我們在開機器的時候就會不知道到底哪裡比較好,這邊介紹一些工具,因為我最近碰到要測試一些東西,但是偏偏只有 法國中部,法國南部,加拿大中部,加拿大東部,我們家 DevOps 說哪邊比較好,他也只能癱手,網路上找一下也問一下 Dino 哥,他也提供我一些資訊想說就整理一下…
標籤: .Net , Azure , AzureStorage , DevOps
[Azure] C# + Azure.Storage.Blobs v12 - 取得檔案下載位置並且限定下載時間
這功能我會蠻常用到的,可以生成一個 Blob 上面的檔案聯結並且限定過期時間,這樣可以做出,譬如要給老闆的報表產好後放在 blob 上面,然後設定一個他會閱讀跟下載的時間之後自動過期,又不用處理 Email 夾檔問題,也不用特殊再去處理,或是跑排程砍掉,然後又可以留底在 azure 上面,開開心心~
[Azure] C# + Azure.Storage.Blobs v12 - 開啟虛刪除(Soft Delete) 、還原刪除的檔案
Azure Storage Blob 的虛刪除(雖然我比較喜歡稱之軟刪除)可保護您的資料免于不慎或錯誤地修改或刪除。 針對儲存體帳戶啟用 blob 的虛刪除時,該儲存體帳戶中的 blob、blob 版本和快照集,在您指定的保留期限內可能會復原。
如果您的資料有可能意外遭到應用程式或其他儲存體帳戶使用者修改或刪除,Microsoft 建議您開啟虛刪除。 如需啟用虛刪除的詳細資訊,請參閱 啟用和管理 blob 的虛刪除。
當然這篇文章我們是要用程式控制還原..
[Azure] C# + Azure.Storage.Blobs v12 - 建立快照,從快照還原,設定讀取 Metadata
這篇主是要是建立快照,然後取得快照的副本們,之後透過快照去還原,網路上面這資料就少了點,所以在寫測試範例的時候花了一點時間去理解,簡單的說,這可以對某一檔案進行快照,請注意,建立快照時建議加入 meta 資料,這樣你可以根據 meta 資料裡面的值來確保是否還原該資料,你可以放入日期,這樣你就可以快速的將某資料還原到該時間點,當然這也只是我的作法,你可用其他方法來做到..
[Azure] C# + Azure.Storage.Blobs v12 - 判斷檔案存在、取得 ETag 、判斷 ETag 刪除檔案
上篇文章 [Azure] C# + Azure.Storage.Blobs 2020 - 建立 Container, 上傳檔案 , 列出資料 , 列出資料夾 , 刪除檔案 , 刪除檔案夾 我們對 Azure Storage Blobs 有基本的操作,之後開始寫一些不是那麼基本的,但是我覺得我會蠻常用到的操作..
[Azure] C# + Azure.Storage.Blobs v12 - 建立 Container, 上傳檔案 , 列出資料 , 列出資料夾 , 刪除檔案 , 刪除檔案夾
之前其實我寫過 Azure Storage Blob 手把手從頭開始 - 建立檔案夾和檔案 , 但是那時候用的 nuget library Microsoft.Azure.Storage.Blob ( https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/ ) 已經要被停用了 ,現在都改用 Azure.Storage.Blobs ( https://www.nuget.org/packages/Azure.Storage.Blobs ) 差異在哪裡,在 namespace 少了 Microsoft 字樣,內部 API 也有寫許更動,設計邏輯感覺比較更成熟,之前 async 顯得略凌亂,這次 API 感覺使用起來 舒爽了些,然後跟 Stoarge Table 拆開了。
[C#] 使用 Jieba.net 進行中文分詞
在很久很久以前 大概八年前 我分享過一篇文章 利用盤古分詞來做分詞 ( https://blog.no2don.com/2012/10/c_5.html ) 結果我最近又被問到這需求,不過物換星移,我查了一下,現在使用 結巴的人很多,稍微玩了一下,就把測試後的結果留下來,給需要的朋友參考一下…
[Azure] Azure Traffic Manager - 使用 C# 拿到 時間區間內的 Activity Logs
最近就是在跟 Azure Traffic Manager 交手,其實是最近打算做一個系統來控制我們專案的東西,但是如何知道我們操作行為錯誤,不能只靠程式的 Exception 吧,後來發現其實會有 Activity Log ,所以我們試著去讀取紀錄,來判斷我們操作的行為對不對..
[Azure] C# 如何控制 Azure Traffic Manager - 刪除 Endpoint 再新增一個 Endpoint
上一篇文章
C# 如何控制 Azure Traffic Manager - 新增 Custom Header , 停用 ExternalTargetEndpoint , 改 FQDN , 列出所有 ExternalTargetEndpoint 我們談到如何 控制
Azure Traffic Manager ,但是有一個小遺憾,經過目前版本測試 我不能改 cutomer header 但是山不轉我轉,有沒有可能,我直接刪除那個 ExternalEndpoint 然後再把它加回去呢?
[Azure] C# 如何控制 Azure Traffic Manager - 新增 Custom Header , 停用 ExternalTargetEndpoint , 改 FQDN , 列出所有 ExternalTargetEndpoint
[Azure] C# 如何控制 Azure DevOps - 將取得檔案公開分享的資訊
上一篇文章 ( [Azure] C# 如何控制 Azure DevOps - 上面的專案 取得檔案內容跟所有 Repository資訊 ) 簡單的讓你可以取得 Azure 上面 的Respository 以及他的檔案,今天我們要來聊一下,傳上去的 image or .js 檔案,我們在外部如何讀取他呢? 至於能做啥我就不好說了..
[Azure] C# 如何控制 Azure DevOps - 新增/刪除/修改 上面的檔案
上一篇文章 ( [Azure] C# 如何控制 Azure DevOps - 上面的專案 取得檔案內容跟所有 Repository資訊 ) 簡單的讓你可以取得 Azure 上面 的Respository 以及他的檔案,今天我們要來聊一下,關於如何上傳/修改/刪除上面的檔案
[.Net] 佈署 .net core 到 Azure VM 上的 IIS 但是忽略 web.config
最近佈署程式到 Azure VM 上面 佈署到 Azure AppService 比較沒有這問題,但是但是,自己弄好 msdeploy 檔案後 佈署到 Auzre VM 上的 IIS 總是會出現一個新的 web.config 但是 .net core 程式沒有用到阿,但是 DevOps 需要再 IIS 上面設定一些值,每次佈署上去後 web.config 都會重新出現一個…
[Azure] C# 如何控制 Azure DevOps - 上面的專案 取得檔案內容跟所有 Repository資訊
最近一些需要,要直接控制 放在 https://dev.azure.com/ 上面的東西,所以大概就筆記一下,敘述一下,這邊我是用 .net Core 3.1
寫的,然後是以理解並且分享給同事使用為主,所以沒有封裝…
[C#] 透過程式 查看/開啟/關閉 Cloudflare Development Mode
之前寫過幾篇文章聊到關於透過 API TOKEN 去修改 Cloudflare 的 DNS 紀錄 ,有時候在 Cloudflare 有點麻煩的是 如果修改一張圖片會因為有 cloudflare CDN cache
的問題,這是好事也是壞事,之後我想到一個方法,就是如果在準備修改之前,當然你可以設計在進入到客戶在進入管理後台的時候,偷偷的先打開 development mode ,反正開始後三小時會關閉 development code 機制,這樣也是一個好方法,這樣就可以閃躲
cache 問題…
首先你要先去 https://dash.cloudflare.com/profile/api-tokens ,產生一個 token 記得這次產生的時候要先選 Edit Zone DNS
標籤: .Net , ASP.net , C# , Cloudflare , DevOps
[Javascript] 令人討厭的 facebook 的 live chat ( fb-customerchat ) 的此訊息未送出的不寫錯誤訊息
也不是最近,不過,行銷界最近很愛這個 就是網站的 live chat (fb-customerchat) ,就是網站會多出一個 即時對談然後客戶,可以使用臉書自己的身分進去像是下圖那樣..
標籤: Facebook , Javascript
[Javascript] 筆記一下 FullCalendar 切換到週模式下,更改樣式
最近朋友有問這問題,後來幫忙解決了,就筆記一下,FullCalendar 在手機的閱覽下,月顯示跟日顯示都正常,但是在 safari 下會出現擠壓,但是在Chrome 下正常,如果是 MacOS 的 Safari 也是正常
iOS - Safari 下 長這樣
標籤: Javascript
[C#] Github 透過程式 fork Repository , 刪除 Repository , 將 Repository 公開或是設成私人
之前寫過幾篇文章( Github 透過 Octokit.net 操控 Github - 檔案是否存在,刪除檔案,傳檔案上去 、Github 透過 Octokit.net 操控 Github - 取得所有 Repositories)
使用 Octokit.net https://github.com/octokit/octokit.net 去操控 Github ,今天繼續把一些測試的筆記紀錄一下
[C#] 圖片轉 WebP
最近有一個需求就是要做圖片壓縮,目前 JPG 應該不是啥問題,問題比較大的是 PNG ,網路上看一下 WebP 對圖片可以做有效壓縮,就決定是你了,但是我在用 C# 轉的時候遇到一些問題,想說筆記一下,之後給需要的人
[C#] 製作一鍵開站小工具-透過 Microsoft.Web.Administration 建立IIS 站台,Application Pool ,指向指定路徑,更改檔案,套入權限
[C#] 透過程式 新增/刪除/修改 Cloudflare 中的 DNS Record
上一篇文章 取得在 Cloudflare 中的 DNS Records ,我們拿到了 Cloudflare 的 Zone Id , API Token 也成功取得了 DNS Record 記錄們,接下來我們要來自己新增/刪除/修改他們
標籤: .Net , ASP.net , C# , Cloudflare , DevOps
[C#] 取得在 Cloudflare 中的 DNS Records
最近有需要用到 cloudflare 來做我的 DNS 代理,因為我不想一直進入登入進入後台,所以我就乾脆看一下他的 API ,看看能不能透過自己使用程式操控,有一些小結果就分享一下吧,以後遇到也避免跌坑..
標籤: .Net , ASP.net , C# , Cloudflare , DevOps
[Javascript] 透過 Fetch 讓圖片 load base64 的圖片
一個看似沒啥用但是有一些特殊用途的東西,簡單的說,就是我有一個圖片我把這圖轉轉成 base 64 之後,存成一個線上的檔案副檔名可能是 .txt or .html 之類的 ( ex.
https://raw.githubusercontent.com/ctimggit/storage1/master/base64/test1.txt
) ,當然這個網址不能直接填在 img 的 src 中,雖然內容可以,接下來就是使用 ES 的 fetch 取得內容回來後再去載入到各圖之中..
標籤: 隨貼即用 , Javascript
[Azure][C#] 使用 C# 進行兩個 AppService 交換
在 Azure 的 App Service 中有一個很方便的功能,就是你可以先設定兩台 AppService 互換,這樣的話再換板上面可以做到幾乎無縫的切換,而且風險也會變得比較小,但是,因為某些原因,我需要把這切換的功能做在我們程式端,而不用在進入 Azure
Portal 進行切換..
[Azure][C#] 刪除已產生的憑證
之前寫過一篇文章,關於產生憑證
取得 AppService 中的 Application Settings 並且更改值,但是文中產生的憑證超級大,之後我又搞了一輪,於是可以產生有限制的憑證
產生有權限的憑證控制,透過 C# 控制 Azure 上面的服務,之後問題了了,如何註銷之前 的憑證,經過我們家 DevOps 幫忙測試後..
[Azure][C#] 產生有權限的憑證控制,透過 C# 控制 Azure 上面的服務
上一篇文章 [Azure][C#] 取得 AppService 中的 Application Settings 並且更改值 ,我們提到了再 Azure 上面產生權限,並且讀寫 AppService 上面的 App
Settings ,但是上一篇文章有一個不大不小的問題,就是押出的憑證權限太大了,幾乎可以對自己的服務摧枯拉朽,這點我們家 DevOps 不悅了,所以我大概研究一下如何押出有權限的憑證..
[Azure][C#] 取得 AppService 中的 Application Settings 並且更改值
最近有一個需求,我要透過程式去控制 Azure AppService 中的 Application Settings ,但是網路上找,幾乎都是使用 Azure CLI 下 PS 指令比較多,這時候我就想溫馨的微軟應該會有出 SDK 來可以讓工程師來做到一些自己的自動化設定。
[C#] 字串壓縮,不完美但是可以用
這幾天同事在討論一件事情,是不是可以壓縮字串,但是要人類可以閱讀 ,網路上也有相對應的網站,這時候我腦袋浮現了是不是有辦法先將 一段文字轉 byte[] ,再 用 zip 壓縮,再轉 base 64
,這樣應該會變小一點點,如果重複字串夠多的話,之後我改用 7z 去當壓縮器來壓縮,然後 使用 base 85 來顯示,之後就來實作看看..
[Maker] 不專業自製便宜版的螞蟻冷氣
先說好這一篇只是分享文加上些許的教學,要不要做就看你自己,我是自己做了來實驗我的想法,自從去年 Ascii 大大推坑我螞蟻的世界之後,身旁的朋友也知道我最近對養螞蟻有莫名的熱愛,今年天氣爆炸熱,室外隨便都 37
度以上,如果不開冷氣的話在我家室內溫度大概是 30~31 度,有些螞蟻是需要溫控會比較好,像是台北巨山蟻、茅巨山、泰勒巨山,基本上很多蟻友也是不溫控就成功了,但是如果面對比較貴的螞蟻,像是台北巨山基本上應該都會想用溫控,畢竟取得不易。
標籤: 說好今夜不談程式
[Javascript] 一個好用的排版 HTML + JS 的 library
之前寫過一篇文章,[Javascript] 再次探索CodeMirror,熱鍵,自動排版,佈景主題 ,這裡面我有提到可以用一個 codemirror pluging 可以做到程式碼排版,但是他排版狀況,大致
OK ,但是對於一些小部份我覺得不是很好看,尤其是跟 javascript 混再一起的時候,後來我上網找了一下,大家推薦這個 beauty js https://github.com/beautify-web/js-beautify
標籤: 隨貼即用 , Javascript
[C#][.NET Core 3] 發佈到Azure AppService 忽略 appsettings.json
最近發現,我使用 Visual Studio 2019 發佈.net Core 3 的程式到 Azure AppService 上面,因為我規劃一個 appsettings.godmovespeed.json 讓 .net Core 程式去吃這設定,這樣 appsettings.json 不用發佈上去,雖然我用 Web Deploy ,但是我連上 FTP
去看檔案結構時發現
標籤: .Net , .netcore , .NetCore小筆記 , ASP.net , C#
[C#] 透過 skypetoken 如何取得 RegistrationToken(Bug 修正)
之前有寫一個需要用到的專案,關於 skype 廣播,但是最近發現一個 不知道算不算是 bug ,主要專案是 這個 https://github.com/donma/LazyLizard
之前寫的文章是這一篇 透過 skypetoken 如何取得 RegistrationToken ,遇到的問題在於 其中我提到 "https://client-s.gateway.messenger.live.com/v1/users/ME/endpoints",這個網址,其實他不一定是對的
[C#][.NET Core] 試著用 C# 透過 Jint 執行 Javascript ,混和執行
很久以前寫過這篇文章 透過C# 執行javascript code 並且執行得到結果 ,基本上他很吃 OS ,現在來到 .net Core
時代基本上要跨平台的需求,看來原本作法就不行了,現在這篇我測試主要是在 .net Core 3.1 ,後來我找到一個 project 叫做 Jint ,測試一下成功了,就紀錄一下。
[C#] 上圖到 imgur圖床 建立相簿、上傳圖片至相簿、移除相簿中圖片、刪除圖片
最近因為客戶不想要在機器上放圖片,而且對他來說這些圖片就是不是很重要,所以決定放在圖床上面做短期使用,但是因為基於有點小潔癖,所以順手研究了一下怎麼 "群組" 化圖片,還有如何刪除圖片。
[C#] 關於 Rotate 90 CW 解決 iPhone 拍照網頁使用問題
這一陣子遇到一個很惱人的問題,因為最近處理到有朋友需要直接把照片上傳到網站上,他是透過手機拍照,然後利用 iPad or iPhone 上傳照片,他是直的拍,他用手機看也是直的,上傳到網頁上面,他用 Safari or Chrome on iPhone Device
也是直的,但是我電腦看就變成橫的,如果用電腦上面的 Chrome 直接看那張圖就是直的,非常詭異,順帶一題我電腦是 Windows 10 + Chrome 去看得,仔細看了一下,我猜測是 照片 EXIF 的問題,結果經過測試真的是…
[C#] Github 透過 Octokit.net 操控 Github - 透過遞迴取得(下載)整個 Repository
上一篇文章( Github 透過 Octokit.net 操控 Github - 檔案是否存在,刪除檔案,傳檔案上去)我們聊到了 如何檢查檔案是否存在,刪除,並且上傳新的檔案,這一篇我們聊一下如何把整個 Repository 下載下來。
[.NetCore 小筆記] 關於 讀取 appsettings.json 的一些事情,讀取 Dictionary
最近在寫 .Net Core 的東西遇到一些問題,想說就是筆記一下,讓自己記住一些事情,免得在跌坑,所以開啟這個系列 .NetCore 小筆記,這次遇到的問題是,我在專案中的 appsettings.json 長這樣
標籤: .Net , .netcore , .NetCore小筆記 , ASP.net , Trick
[C#] 複製、刪除、搬移 大量的資料(mass datas?)
最近在處理一些東西,然後建立了一些資料大概就是一個檔案夾裡面有幾百萬個小檔,所以就想說用程式刪除,發現非常的慢,於是我測了一些東西,這速度目前還算可以接受,一個檔案夾裡面有 1,200,000 個檔案要進行刪除,最後我電腦花了 19分鐘,進行複製到其他檔案夾並且刪除原本的 120萬個檔案,這動作就是搬移,簡單的說就是使用 Parallel.ForEach 加上使用 win32 的函式庫
這程式主要是網路上看許多案例綜合所測出來的結論,並非都是我寫的,這邊要說明一下。
這是我電腦配置:
[C#] Github 透過 Octokit.net 操控 Github - 檔案是否存在,刪除檔案,傳檔案上去
[RPi] Raspberry Pi 4 散熱問題
最近買了 Raspberry Pi4 ,因為我的用法是把他裝上 3.5 吋螢幕,然後撥放 youtube 當作我的多媒體撥放器,但是我發現,雖然現在 RPi4 播放 youtube 不會 lag 了,但是旁邊都會出現溫度計 ,看一下溫度,天啊,竟然最高可以拉到 84度C ,所以我只能上網路找找解決方案。
標籤: Linux , Raspberry Pi , RPi , Trick