使用 Functions 在 Azure 儲存體佇列中新增訊息
在 Azure Functions 中,輸入和輸出繫結會提供宣告式方法,以便從您的程式碼可用之外部服務製作資料。 在本文中,您會使用輸出系結,在 HTTP 要求觸發函式時,在佇列中建立訊息。 您可使用 Azure 儲存體容器來檢視函式建立的佇列訊息。
必要條件
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
請遵循在 Azure 入口網站 中建立您的第一個函式中的指示,省略清除資源步驟,以建立本文中要使用的函式應用程式和函式。
新增輸出繫結
在本節中,您會使用入口網站 UI 將 Azure 佇列記憶體輸出系結新增至您在必要條件中建立的函式。 這個繫結可供撰寫最少的程式碼,即可在佇列中建立訊息。 您不需要為這類工作撰寫程序代碼,例如開啟記憶體連線、建立佇列或取得佇列的參考。 Azure Functions 執行階段和佇列輸出繫結會為您進行這些工作。
在 Azure 入口網站 中,搜尋並選取您在從 Azure 入口網站 建立第一個函式中所建立的函式應用程式。
在您的函式應用程式中,選取您所建立的函式。
選取 [整合],然後選取 [+ 新增輸出]。
選取 [Azure 佇列記憶體系結類型],並新增如下螢幕快照的數據表中所指定的設定:
設定 建議的值 description 訊息參數名稱 outputQueueItem 輸出繫結參數的名稱。 佇列名稱 outqueue 要連線到記憶體帳戶中的佇列名稱。 儲存體帳戶連線 AzureWebJobsStorage 您可以使用函式應用程式所使用的現有記憶體帳戶連線,或建立新的記憶體帳戶連線。 選取 [確定] 來新增繫結。
您已定義了輸出繫結,接下來您需要將程式碼更新為使用繫結來對佇列新增訊息。
新增會使用輸出繫結的程式碼
在本節中,您會將撰寫訊息的程式碼新增至輸出佇列。 訊息包含傳遞至查詢字串中 HTTP 觸發程式的值。 例如,如果查詢字串包含 name=Azure
,佇列訊息會 傳遞至函式:Azure。
在函式中,選取 [編碼 + 測試] 以在編輯器中顯示函式程式碼。
根據您的函式語言更新函式程式代碼:
將 outputQueueItem 參數新增至方法簽章,如下列範例所示:
public static async Task<IActionResult> Run(HttpRequest req, ICollector<string> outputQueueItem, ILogger log) { ... }
在函式主體中,於 語句前面
return
新增使用 參數來建立佇列訊息的程式代碼:outputQueueItem.Add("Name passed to the function: " + name);
選取儲存以儲存變更。
測試函式
儲存程式碼的變更後,選取 [測試]。
確認您的測試符合此螢幕快照,然後選取 [ 執行]。
請注意,要求本文包含
name
值:Azure。 這個值會出現在叫用函式時所建立的佇列訊息中。您也可以選擇 [ 執行] 來呼叫函式,方法是在瀏覽器中輸入 URL,並在查詢字串中指定
name
值。 此瀏覽器方法會顯示在從 Azure 入口網站 建立您的第一個函式中。檢查記錄以確定函式已成功。
您第一次使用輸出繫結時,Functions 執行階段會在儲存體帳戶中建立名為 outqueue 的新佇列。 您可以使用記憶體帳戶來確認佇列和其中已建立訊息。
尋找連線至 AzureWebJobsStorage 的儲存體帳戶
檢查輸出佇列
在函式應用程式的資源群組中,選取您所使用的記憶體帳戶。
在 [佇列服務] 底下,選取 [佇列],然後選取名為 outqueue 的佇列。
佇列包含訊息,該訊息將您執行 HTTP 觸發程序函式時建立的輸出繫結排入佇列。 如果您叫用具有預設
name
值為 Azure 的函式,佇列訊息是:Name passed to the function: Azure。再次執行函式。
新的訊息會出現在佇列中。
清除資源
在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。
從 Azure 入口網站功能表或 [首頁] 頁面,選取 [資源群組]。 然後,在 [資源群組] 頁面上,選取 [myResourceGroup]。
在 [myResourceGroup] 頁面上,確定所列出的資源是您想要刪除的項目。
選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]。
相關內容
在本文中,您已將輸出系結新增至現有的函式。 如需系結至佇列記憶體的詳細資訊,請參閱 佇列記憶體觸發程式和系結。
- Azure Functions 觸發程序和繫結概念
了解 Functions 與其他服務整合的方式。 - Azure Functions 開發人員參考
提供更多有關 Functions 執行階段的技術資訊,以及可供撰寫函數程式碼及定義觸發程序和繫結時參考。 - 撰寫 Azure Functions 並在本機進行測試
說明在本機開發函式的選項。