建立與使用Azure Storage Account(儲存體帳戶)

Azure Storage 是 Azure中主要的儲存體,擔任一切儲存的任務。Azure Storage本身具有四種不同的存儲形式,分別是:

  • Files
    可模擬SMB檔愛存取機制,類似雲端硬碟。
  • Blobs
    適合存取各種檔案,類如影片、圖檔、文件、logs…etc.
  • Tables
    NoSQL形式的資料儲存體。
  • Queue
    FIFO(先進先出的佇列儲存體)

典型的Storage durability形式有底下幾種:

  • LRS(本地備援儲存體) - 單一資料中心內備援三份
    圖片

  • ZRS(區域備援儲存體) - 將資料同步複寫至三個不同的區域。每個區域具備獨立的電源、冷卻和網路的不同實體位置
    圖片

  • GRS(異地備援儲存體 - 基於LRS,再將資料以非同步方式複製到位於數百英哩外的另一個位置,實現真正的異地備援。
    圖片

  • RA-GRS - 基於GRS加上可從異地支援讀取功能。

底下影片示範如何建立azure storage,並且建立一個 container,以及上傳檔案(blob)到container中。觀察影片中的操作,你會發現,當我們把 container的存取權限調整之後,blob檔案的URL就可以存取了,否則會變成找不到上傳的檔案:

Container 的 匿名存取層級有三種:

  • 無公用讀取權限︰只能讓有授權的用戶存取容器及其 Blob檔案。(此選項是預設值)
  • 僅對 Blob 有公用讀取權限:您可以透過匿名要求讀取容器內的 Blob,但您無法匿名使用容器資料。 匿名用戶無法得知容器中有哪些blob檔案。
  • 容器及其 Blob 的公用讀取存取權限:匿名要求可以讀取該容器中所有 Blob 檔案,也可以列出容器中有哪些blob檔案。

Shared Access Signature (SAS)

針對特定的 blob 檔案,可以產生具有SAS(簽章)的連結,可讓特定IP在特定時間內,存取該blob檔案。

產生SAS簽章的方式如下:

透過具有簽章的連結,可以在特定時間區間內,從特定的IP位置存取該blob檔案,是控制權限很好的方式。

參考資料:
https://learn.microsoft.com/zh-tw/azure/storage/common/storage-redundancy

留言

這個網誌中的熱門文章

使用 Airtable 在小型需求上取代傳統資料庫

在POC或迷你專案中使用 LiteDB

專業的價值...

精彩(且驚人)的Semantic Kernel入門範例

周末讀書會 - 一如既往