2021-01-14

[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 自己來做一個,並且在序列化跟反序列化動手腳的話,這不是很完美。


2021-01-13

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

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


2021-01-12

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

最近要用 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 的說明,最後測試成功,接下來我就是分享一下步驟..


2021-01-11

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

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

2021-01-08

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

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

2021-01-07

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

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



2021-01-06

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

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




2021-01-05

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

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


2021-01-04

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

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



2020-12-31

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

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


2020-12-30

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

這功能我會蠻常用到的,可以生成一個 Blob 上面的檔案聯結並且限定過期時間,這樣可以做出,譬如要給老闆的報表產好後放在 blob 上面,然後設定一個他會閱讀跟下載的時間之後自動過期,又不用處理 Email 夾檔問題,也不用特殊再去處理,或是跑排程砍掉,然後又可以留底在 azure 上面,開開心心~