建立 Blob 時執行 Azure 函數
假設您是一名攝影師,並有一個網站顯示每日相片。 因為您很忙碌,所以並沒有一致的上傳排程,但您想要在上傳相片時通知您的粉絲。 您決定建立 Azure 函式,以在每次上傳影像至您的 Azure 儲存體 Blob 容器時自動傳送推文。
在此,您將了解如何建立 Blob 觸發程序,並指示它監視您的 Azure 儲存體 Blob 容器中的特定位置。
何謂 Azure 儲存體?
Azure 儲存體是 Microsoft 雲端儲存體解決方案,支援所有類型的資料,包括:Blob、佇列和 NoSQL。 Azure 儲存體的目標在於提供具有下列功能的資料儲存體:
- 高可用性
- 安全
- 可調整
- 受管理的
我們不會將重點放在 Azure 儲存體太多。 相反地,我們使用它來建立要觸發執行函數的 Blob。
什麼是 Azure Blob 儲存體?
Azure Blob 儲存體是物件儲存體解決方案,依設計可用來儲存大量的非結構化資料。
例如,Azure Blob 儲存體相當適合用來執行下列作業:
- 儲存檔案
- 提供檔案
- 串流視訊和音訊
- 記錄資料
有三種類型的 Blob:區塊 Blob、附加 Blob 和分頁 Blob。 區塊 Blob 是最常見的類型。 它們可讓您有效率地儲存文字或二進位資料。 附加 Blob 和區塊 Blob 相似,但其設計更適合附加作業,例如建立要持續更新的記錄檔。 最後,分頁 Blob 是由分頁所組成,專為頻繁的隨機讀取和寫入作業而設計。
什麼是 Blob 觸發程序?
Blob 觸發程序是在您上傳或更新 Azure Blob 儲存體中的檔案時執行函式的觸發程序。 函式會定期檢查儲存體容器是否有變更,這可能會導致一些延遲。 在 Blob 容器上觸發時,有一些方法可減少此延遲。
若要建立 Blob 觸發程序,請建立 Azure 儲存體帳戶,並提供觸發程序監視的位置。
如何建立 Blob 觸發程序
如同目前為止所看到的其他觸發程序,您可以在 Azure 入口網站中建立 Blob 觸發程序。 在 Azure 函數中,從預先定義的觸發程序類型清單選取 [Blob 觸發程序]。 接著,輸入您想要在建立或更新 Blob 時執行的邏輯。
務必了解的一個設定是 [路徑]。 [路徑] 指示 Blob 觸發程序要監視的容器,以查看是否有上傳或更新的 Blob。 根據預設,[路徑] 值為:
samples-workitems/{name}
讓我們將此概念細分成兩個部分:samples-workitems 和 {name}。 第一個部分 samples-workitems 代表觸發程序監視的 Blob 容器。 第二個部分 {name} 表示導致觸發程序叫用函式的每種檔案類型。 因為沒有任何篩選條件,所有會叫用函式。 例如,我們可以使用如下的語法,讓觸發程序只在新增 PNG 檔案時才叫用函式:
samples-workitems/{name}.png
此概念的最後一段重要資訊是 name一字。 name 代表 Azure 函數中用於接收已新增檔案名稱的參數。 例如,如果我們上傳名為 resume.txt 的檔案,我的 Azure 函式會透過稱為 name 的參數以字串形式接收該值。
當 Blob 觸發程序在您的 Azure 儲存體 Blob 帳戶中的特定位置看到活動時,就會叫用 Azure 函式。 您可以透過在 Azure 入口網站中修改 [路徑] 值來設定要監視的位置。