共用方式為


使用 Functions 在 Azure 儲存體佇列中新增訊息

在 Azure Functions 中,輸入和輸出繫結會提供宣告式方法,以便從您的程式碼可用之外部服務製作資料。 在本文中,您會使用輸出系結,在 HTTP 要求觸發函式時,在佇列中建立訊息。 您可使用 Azure 儲存體容器來檢視函式建立的佇列訊息。

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

  • 請遵循在 Azure 入口網站 中建立您的第一個函式中的指示,省略清除資源步驟,以建立本文中要使用的函式應用程式和函式。

新增輸出繫結

在本節中,您會使用入口網站 UI 將 Azure 佇列記憶體輸出系結新增至您在必要條件中建立的函式。 這個繫結可供撰寫最少的程式碼,即可在佇列中建立訊息。 您不需要為這類工作撰寫程序代碼,例如開啟記憶體連線、建立佇列或取得佇列的參考。 Azure Functions 執行階段和佇列輸出繫結會為您進行這些工作。

  1. 在 Azure 入口網站 中,搜尋並選取您在從 Azure 入口網站 建立第一個函式中所建立的函式應用程式。

  2. 在您的函式應用程式中,選取您所建立的函式。

  3. 選取 [整合],然後選取 [+ 新增輸出]

    顯示如何為您的函式建立輸出系結的螢幕快照。

  4. 選取 [Azure 佇列記憶體系結類型],並新增如下螢幕快照的數據表中所指定的設定:

    顯示如何將佇列記憶體輸出系結新增至 Azure 入口網站 函式的螢幕快照。

    設定 建議的值 description
    訊息參數名稱 outputQueueItem 輸出繫結參數的名稱。
    佇列名稱 outqueue 要連線到記憶體帳戶中的佇列名稱。
    儲存體帳戶連線 AzureWebJobsStorage 您可以使用函式應用程式所使用的現有記憶體帳戶連線,或建立新的記憶體帳戶連線。
  5. 選取 [確定] 來新增繫結。

您已定義了輸出繫結,接下來您需要將程式碼更新為使用繫結來對佇列新增訊息。

新增會使用輸出繫結的程式碼

在本節中,您會將撰寫訊息的程式碼新增至輸出佇列。 訊息包含傳遞至查詢字串中 HTTP 觸發程式的值。 例如,如果查詢字串包含 name=Azure,佇列訊息會 傳遞至函式:Azure

  1. 在函式中,選取 [編碼 + 測試] 以在編輯器中顯示函式程式碼。

  2. 根據您的函式語言更新函式程式代碼:

    將 outputQueueItem 參數新增至方法簽章,如下列範例所示:

    public static async Task<IActionResult> Run(HttpRequest req,
        ICollector<string> outputQueueItem, ILogger log)
    {
        ...
    }
    

    在函式主體中,於 語句前面 return 新增使用 參數來建立佇列訊息的程式代碼:

    outputQueueItem.Add("Name passed to the function: " + name);
    
  3. 選取儲存以儲存變更。

測試函式

  1. 儲存程式碼的變更後,選取 [測試]

  2. 確認您的測試符合此螢幕快照,然後選取 [ 執行]。

    顯示如何在 Azure 入口網站 中測試佇列記憶體系結的螢幕快照。

    請注意,要求本文包含 name 值:Azure。 這個值會出現在叫用函式時所建立的佇列訊息中。

    您也可以選擇 [ 執行] 來呼叫函式,方法是在瀏覽器中輸入 URL,並在查詢字串中指定 name 值。 此瀏覽器方法會顯示在從 Azure 入口網站 建立您的第一個函式中。

  3. 檢查記錄以確定函式已成功。

    您第一次使用輸出繫結時,Functions 執行階段會在儲存體帳戶中建立名為 outqueue 的新佇列。 您可以使用記憶體帳戶來確認佇列和其中已建立訊息。

尋找連線至 AzureWebJobsStorage 的儲存體帳戶

  1. 在您的函數應用程式中,展開 [設定],然後選取 [環境變數]

  2. 在 [ 應用程式設定] 索引標籤中,選取 [AzureWebJobsStorage]。

    顯示已選取 AzureWebJobsStorage 之 [設定] 頁面的螢幕快照。

  3. 找出並記下帳戶名稱。

    顯示如何找出連線至 AzureWebJobsStorage 之記憶體帳戶的螢幕快照。

檢查輸出佇列

  1. 在函式應用程式的資源群組中,選取您所使用的記憶體帳戶。

  2. 在 [佇列服務] 底下,選取 [佇列],然後選取名為 outqueue佇列。

    佇列包含訊息,該訊息將您執行 HTTP 觸發程序函式時建立的輸出繫結排入佇列。 如果您叫用具有預設 name 值為 Azure 的函式,佇列訊息是:Name passed to the function: Azure

  3. 再次執行函式。

    新的訊息會出現在佇列中。

清除資源

在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。

從 Azure 入口網站功能表或 [首頁] 頁面,選取 [資源群組]。 然後,在 [資源群組] 頁面上,選取 [myResourceGroup]

在 [myResourceGroup] 頁面上,確定所列出的資源是您想要刪除的項目。

選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]

在本文中,您已將輸出系結新增至現有的函式。 如需系結至佇列記憶體的詳細資訊,請參閱 佇列記憶體觸發程式和系結。