[Azure] Azure Logic App - 取得一個 Action 的結果並且傳到下一個 Action

2021-01-14

自從使用了 Azure Logic App 刷新我三觀後,之後有些服務都靠它來處理,今天來介紹一個簡單的應用,主要目的是,假設每十分鐘我會去戳一個網址 A , 並且網址 A 會 response 一個 JSON 的資料結果,之後我必須將這資料結果帶到網址 B 。


[Azure] Azure Logic App 一個簡單好用的東西 - 搞一個定期可以戳 Server 的範例

之前如果我要定期去戳一下  server ,或是需要跑排程我都必須要 寫一個程式,其實不難但是就是要自己寫,而且這程式不能夠壞掉阿,自己要如何能夠確保自己的 SLA (Service Level Agreement) ,重點是還是自己懶,於是我跟公司的 DevOps 討論過後,了解  Azure 有一個服務叫做 Logic App ,重點是他還很便宜..


[Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table - 如何處理複雜型別寫入及還原

寫了幾篇 Azure Storage Table  , 接下來就是這系列最後一篇了,主要目的我們要探討一下 關於物件中有特殊型別怎麼辦,身為真男人,當然你可以把複雜型別開成 string 把資料拿回來後自己在還原成物件,但是這樣做蠻麻煩的,這時候我在想如果乾脆複寫掉 TableEntity 自己來做一個,並且在序列化跟反序列化動手腳的話,這不是很完美。



[Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table - 使用 ExecuteQuerySegmented 取得資料

2021-01-13

前幾篇文章,我都是用 CloudTable.ExecuteQuery 來查詢,但是這用得好好的為何 SDK 有出一個 ExecuteQuerySegmented ,原因是因為,如果當你一次要執行的查詢非常大量的時候,假設撈回來是兩萬,但是當 Azure Table 那邊準備兩萬資料傳輸回來,這容易造成 timeout ,所以這時候就是要用 ExecuteQuerySegmented ,但是請記得她一次回來最大的量就是 1000



[C#] 寄送 Gmail 出現 The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Authentication Required. 解決方法

2021-01-12

最近要用 Gmail 寄信,我語言是用 C# ,但是我相信大家遇到問題都一樣,我遇到這問題 The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Authentication Required. 我 google 了個遍,找到許多答案,但是可能是時間太久遠的關係我測試都失敗,重點是以前的我都寫爛了怎麼可能會不成功,但是當我要放棄之時,我仔細看了..Google 的說明,最後測試成功,接下來我就是分享一下步驟..



[Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table - 多重條件查詢 資料

2021-01-11

之前幾篇文章,我們送了不少資料進去,今天我們來說一下如何查詢資料回來,當然因為 Azure Table  中,因為他價格不貴,但是限制還是有的,不然 CosmosDB 就不用賣了。


[Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table - 使用 ETag 修改資料保持資料一致性。

2021-01-08

今天要來聊聊 ETag 使用方法,在之前 Azure Storage Blob 中 我寫過一篇文章 C# + Azure.Storage.Blobs v12 - 判斷檔案存在、取得 ETag 、判斷 ETag 刪除檔案 ,其實概念是一樣的,不知道這算不算是一種 NoSQL 的 control 資料正確性的技巧,在 Azure Storage Table 中,來判斷 你是不是持有最後的權杖可以修改其資料..


[Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table - TableBatchOperation 執行大量資料的方法(超過100筆)

2021-01-07

前幾天寫了一篇文章 [Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table - 建立 Table,刪除 Table,建立(修改)資料,列出資料,刪除資料,刪除資料 by PartitionKey ,其中最後一個案例,刪除資料 by PartitionKey ,有一個小瑕疵,我在測試時候資料沒有超過 100 筆 沒有發現,但是測試資料量超過 100 後就出現 Exception 了。




[Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table -InsertOrReplace vs InsertOrMerge

2021-01-06

這問題一直困擾我很久,我就想說測一下到底是啥意思 在 TableOperation 中有一個 InsertOrReplace 還有 InsertOrMerge 到底有啥不同,不如就乾脆寫一個程式測試一下它們的行為,這也對之後在設計系統上會有幫助..





[Azure] C# + Microsoft.Azure.Cosmos.Table v1+ Azure Storage Table - 建立 Table,刪除 Table,建立(修改)資料,列出資料,刪除資料,刪除資料 by PartitionKey

2021-01-05

最近有需要要用到 Azure Storage Table,有鑑於 https://www.nuget.org/packages/WindowsAzure.Storage/ 這套已經要被棄用了,所以我找了一下,竟然找不到 library ,他都是導向  https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table ,之後我就把 ConnectionString  放入操作了一下,竟然可以用,真的是太令人驚訝了,所以接下來的幾篇文章我們來探索一下。



[Azure] C# + Azure.Storage.Blobs v12 - 取得某個檔案夾下的數量多少?(不完美但可用)

2021-01-04

為何標題打上不完美但是可以用,是因為,這真的不完美,包括你使用 Microsoft Azure Storage Explorer 按下 資料夾統計資訊,你也是慢慢的等大概就是一千一千的在跳,我測試大概資料量舉在 10 萬左右,所以檔案夾底下檔案一多,撈取檔案數量是一個問題,這你在設計的時候必須要去考量的。




[Azure] C# + Azure.Storage.Blobs v12 - 透過 Tag 進行搜尋包含文字日期

2020-12-31

上一篇文章 [Azure] C# + Azure.Storage.Blobs v12 - 上傳檔案並且加入 Tags 、包含一些上傳數據 ,接下來就是接續下去看看如何透過索引標籤查詢



[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 哥,他也提供我一些資訊想說就整理一下…



[Azure] C# + Azure.Storage.Blobs v12 - 取得檔案下載位置並且限定下載時間

2020-12-30

這功能我會蠻常用到的,可以生成一個 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 刪除檔案

2020-12-29

上篇文章  [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 進行中文分詞

2020-12-28

在很久很久以前 大概八年前 我分享過一篇文章 利用盤古分詞來做分詞 ( https://blog.no2don.com/2012/10/c_5.html ) 結果我最近又被問到這需求,不過物換星移,我查了一下,現在使用 結巴的人很多,稍微玩了一下,就把測試後的結果留下來,給需要的朋友參考一下…


[Azure] 建立一個新的 Traffic Manager Profile + External Endpoint

2020-12-24

今天要做的是我們要建立一個 新的 Traffic Manager Profile ,並且加入一個  External Endpoint 指向一個 FQDN




[Azure] Azure Traffic Manager - 使用 C# 拿到 時間區間內的 Activity Logs

最近就是在跟 Azure Traffic Manager 交手,其實是最近打算做一個系統來控制我們專案的東西,但是如何知道我們操作行為錯誤,不能只靠程式的  Exception 吧,後來發現其實會有 Activity Log ,所以我們試著去讀取紀錄,來判斷我們操作的行為對不對..


[Azure] C# 如何控制 Azure Traffic Manager - 刪除 Endpoint 再新增一個 Endpoint

2020-12-23

上一篇文章 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

2020-12-22

最近在跟 Azure Traffic Manager 較勁, 折騰了一下,就筆記一下目前測試到的東西,說來都是淚阿,文件稀少,可能我用的方式比較冷門,就記錄一下..




[Azure] Traffic Manager 小雷 404 Web Site not found

2020-12-21

最近,在玩弄 Azure 上面的 Traffice Manager ,遇到一個問題他明明就可以指向一個 App Service ,但是我指過去就是




[Azure] C# 如何控制 Azure DevOps - 將取得檔案公開分享的資訊

2020-12-11

上一篇文章 ( [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

2020-12-10

最近佈署程式到 Azure VM   上面 佈署到 Azure  AppService 比較沒有這問題,但是但是,自己弄好 msdeploy 檔案後 佈署到 Auzre VM 上的 IIS 總是會出現一個新的 web.config 但是 .net core 程式沒有用到阿,但是 DevOps 需要再 IIS 上面設定一些值,每次佈署上去後 web.config 都會重新出現一個…


[Azure] C# 如何控制 Azure DevOps - 上面的專案 取得檔案內容跟所有 Repository資訊

2020-12-09

最近一些需要,要直接控制 放在 https://dev.azure.com/ 上面的東西,所以大概就筆記一下,敘述一下,這邊我是用 .net Core 3.1 寫的,然後是以理解並且分享給同事使用為主,所以沒有封裝…



[C#] 透過程式 查看/開啟/關閉 Cloudflare Development Mode

2020-11-27

之前寫過幾篇文章聊到關於透過 API TOKEN 去修改 Cloudflare 的 DNS  紀錄 ,有時候在 Cloudflare 有點麻煩的是 如果修改一張圖片會因為有 cloudflare CDN cache 的問題,這是好事也是壞事,之後我想到一個方法,就是如果在準備修改之前,當然你可以設計在進入到客戶在進入管理後台的時候,偷偷的先打開 development mode ,反正開始後三小時會關閉 development code  機制,這樣也是一個好方法,這樣就可以閃躲 cache 問題…

首先你要先去 https://dash.cloudflare.com/profile/api-tokens ,產生一個 token 記得這次產生的時候要先選 Edit Zone DNS



[Javascript] 令人討厭的 facebook 的 live chat ( fb-customerchat ) 的此訊息未送出的不寫錯誤訊息

2020-11-23

也不是最近,不過,行銷界最近很愛這個 就是網站的 live  chat (fb-customerchat) ,就是網站會多出一個 即時對談然後客戶,可以使用臉書自己的身分進去像是下圖那樣..




[Javascript] 筆記一下 FullCalendar 切換到週模式下,更改樣式


最近朋友有問這問題,後來幫忙解決了,就筆記一下,FullCalendar 在手機的閱覽下,月顯示跟日顯示都正常,但是在 safari 下會出現擠壓,但是在Chrome 下正常,如果是 MacOS 的 Safari 也是正常

iOS - Safari 下 長這樣



[LINE] 清除 LINE 預覽的快取 – Clear LINE URL Preview Cache.

2020-11-18

對於做行銷的很重視  LINE ,今天被朋友問到為何,他怎麼改變 meta 都沒有用,這時候 我找一下,原來 LINE 也有像是 facebook linter 的東西,只是藏的有點深。



[C#] Github 透過程式 fork Repository , 刪除 Repository , 將 Repository 公開或是設成私人

2020-11-10


之前寫過幾篇文章( 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 ,指向指定路徑,更改檔案,套入權限

2020-11-04

最近有一些需求,我們需要透過程式一鍵開啟一個網站,指向到一個指定路徑,並且佈署程式,所以稍微研究一下,是不難但是就是實作上有碰到一些順序上的問題,所以就筆記一下,希望可以之後我直接CP


[C#] 更改檔案夾套入 IIS APPPOOL\ 權限

2020-11-03

最近有一個需求,要透過程式套入檔案夾套入 iis apppool\test2 的權限



[C#] 透過程式 新增/刪除/修改 Cloudflare 中的 DNS Record

2020-10-28

上一篇文章 取得在 Cloudflare 中的 DNS Records ,我們拿到了 Cloudflare 的 Zone Id , API Token 也成功取得了 DNS Record 記錄們,接下來我們要來自己新增/刪除/修改他們



[C#] 取得在 Cloudflare 中的 DNS Records

2020-10-27

最近有需要用到 cloudflare 來做我的 DNS 代理,因為我不想一直進入登入進入後台,所以我就乾脆看一下他的 API ,看看能不能透過自己使用程式操控,有一些小結果就分享一下吧,以後遇到也避免跌坑..



[Javascript] 透過 Fetch 讓圖片 load base64 的圖片

2020-09-28

一個看似沒啥用但是有一些特殊用途的東西,簡單的說,就是我有一個圖片我把這圖轉轉成 base 64 之後,存成一個線上的檔案副檔名可能是 .txt or .html 之類的 ( ex. https://raw.githubusercontent.com/ctimggit/storage1/master/base64/test1.txt ) ,當然這個網址不能直接填在 img 的 src 中,雖然內容可以,接下來就是使用 ES 的 fetch 取得內容回來後再去載入到各圖之中..




[Azure][C#] 使用 C# 進行兩個 AppService 交換

2020-09-25

在 Azure  的 App Service 中有一個很方便的功能,就是你可以先設定兩台 AppService 互換,這樣的話再換板上面可以做到幾乎無縫的切換,而且風險也會變得比較小,但是,因為某些原因,我需要把這切換的功能做在我們程式端,而不用在進入 Azure Portal 進行切換..




[Azure][C#] 刪除已產生的憑證

2020-09-24

之前寫過一篇文章,關於產生憑證 取得 AppService 中的 Application Settings 並且更改值,但是文中產生的憑證超級大,之後我又搞了一輪,於是可以產生有限制的憑證 產生有權限的憑證控制,透過 C# 控制 Azure 上面的服務,之後問題了了,如何註銷之前 的憑證,經過我們家 DevOps 幫忙測試後..



[Azure][C#] 產生有權限的憑證控制,透過 C# 控制 Azure 上面的服務

2020-09-22

上一篇文章 [Azure][C#] 取得 AppService 中的 Application Settings 並且更改值 ,我們提到了再 Azure 上面產生權限,並且讀寫 AppService 上面的 App Settings ,但是上一篇文章有一個不大不小的問題,就是押出的憑證權限太大了,幾乎可以對自己的服務摧枯拉朽,這點我們家 DevOps 不悅了,所以我大概研究一下如何押出有權限的憑證..



[Azure][C#] 取得 AppService 中的 Application Settings 並且更改值

2020-09-15

最近有一個需求,我要透過程式去控制 Azure AppService 中的 Application Settings ,但是網路上找,幾乎都是使用  Azure CLI  下 PS 指令比較多,這時候我就想溫馨的微軟應該會有出 SDK 來可以讓工程師來做到一些自己的自動化設定。



[C#] 字串壓縮,不完美但是可以用

2020-09-14


這幾天同事在討論一件事情,是不是可以壓縮字串,但是要人類可以閱讀 ,網路上也有相對應的網站,這時候我腦袋浮現了是不是有辦法先將 一段文字轉 byte[] ,再 用 zip  壓縮,再轉 base 64 ,這樣應該會變小一點點,如果重複字串夠多的話,之後我改用 7z 去當壓縮器來壓縮,然後 使用 base 85 來顯示,之後就來實作看看..




[Maker] 不專業自製便宜版的螞蟻冷氣

2020-08-04

先說好這一篇只是分享文加上些許的教學,要不要做就看你自己,我是自己做了來實驗我的想法,自從去年 Ascii 大大推坑我螞蟻的世界之後,身旁的朋友也知道我最近對養螞蟻有莫名的熱愛,今年天氣爆炸熱,室外隨便都 37 度以上,如果不開冷氣的話在我家室內溫度大概是 30~31 度,有些螞蟻是需要溫控會比較好,像是台北巨山蟻、茅巨山、泰勒巨山,基本上很多蟻友也是不溫控就成功了,但是如果面對比較貴的螞蟻,像是台北巨山基本上應該都會想用溫控,畢竟取得不易。



[C#] 一個小工具,可以打包一些指令目錄,之後分別各自壓縮成一個 .7z 放在指定的目錄下面

2020-08-03

最近工作需求,需要分別打包不同的資料夾們,變成獨立的壓縮檔( 7z ),想說之後應該會用到,就乾脆直接放在github 上面 open soruce ,之後要用到也可以馬上上手




[Javascript] 一個好用的排版 HTML + JS 的 library

2020-07-19

之前寫過一篇文章,[Javascript] 再次探索CodeMirror,熱鍵,自動排版,佈景主題 ,這裡面我有提到可以用一個 codemirror pluging 可以做到程式碼排版,但是他排版狀況,大致 OK ,但是對於一些小部份我覺得不是很好看,尤其是跟 javascript 混再一起的時候,後來我上網找了一下,大家推薦這個 beauty js https://github.com/beautify-web/js-beautify


[C#][.NET Core 3] 發佈到Azure AppService 忽略 appsettings.json

2020-07-14

最近發現,我使用 Visual Studio 2019 發佈.net Core 3 的程式到 Azure AppService 上面,因為我規劃一個 appsettings.godmovespeed.json 讓 .net Core 程式去吃這設定,這樣 appsettings.json 不用發佈上去,雖然我用 Web Deploy ,但是我連上 FTP 去看檔案結構時發現



[C#] Regex 驗證台灣的手機號碼,中間無 -

2020-07-08

最近要幫客戶驗證手機號碼,中間不需要 - ,網路上找了一下,大部分都是驗證中國的手機門號,不能讓我直接CP 殘念,所以這邊紀錄一下,想說之後就可以直接 CP


當麻許的超技八 2014 | Donma Hsu Design.