建立 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 入口網站中修改 [路徑] 值來設定要監視的位置。