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

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

必要條件

若要完成本快速入門:

新增輸出繫結

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

  1. 在 Azure 入口網站中,針對您在從 Azure 入口網站建立您的第一個函式中建立的函式應用程式,開啟函式應用程式分頁。 若要開啟此頁面,請搜尋並選取函數應用程式。 接著,選取函數應用程式。

  2. 選取函數應用程式,然後選取在稍早的快速入門中所建立函式。

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

    Create an output binding for your function.

  4. 選取 [Azure 佇列儲存體輸出] 繫結類型,然後新增此螢幕擷取畫面後續表格中所指定的設定:

    Add a Queue storage output binding to a function in the Azure portal.

    設定 建議的值 描述
    訊息參數名稱 outputQueueItem 輸出繫結參數的名稱。
    佇列名稱 outqueue 儲存體帳戶中的連線目標佇列名稱。
    儲存體帳戶連線 AzureWebJobsStorage 您可以使用應用程式函式已在使用的儲存體帳戶連線,或建立新的連線。
  5. 選取 [確定] 來新增繫結。

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

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

在本節中,您會將撰寫訊息的程式碼新增至輸出佇列。 此訊息包含值,該值會傳遞至查詢字串中的 HTTP 觸發程序。 例如,如果查詢字串包含 name=Azure,則佇列訊息會是「Name passed to the function: 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. 確認測試符合下列影像,然後選取 [執行]

    Test the queue storage binding in the Azure portal.

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

    除了在這裡選取 [執行] 之外,您可以呼叫函式,方法是在瀏覽器中輸入 URL,並且在查詢字串中指定 name 值。 瀏覽器方法會顯示在先前的快速入門中。

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

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

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

  1. 移至函數應用程式,然後選取 [設定]

  2. 在 [應用程式設定] 下選取 [AzureWebJobsStorage]

    Screenshot shows the Configuration page with AzureWebJobsStorage selected.

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

    Locate the storage account connected to AzureWebJobsStorage.

檢查輸出佇列

  1. 在函數應用程式的資源群組中,選取用於本快速入門的儲存體帳戶。

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

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

  3. 再次執行函式,您會看到新的訊息出現在佇列中。

清除資源

此集合中的其他快速入門會以本快速入門為基礎。 如果您打算繼續進行後續的快速入門、教學課程或者您在本快速入門中建立的任何服務,請勿清除資源。

在 Azure 中「資源」是指函式應用程式、函式、儲存體帳戶等等。 其會分組為「資源群組」,您可以藉由刪除群組來刪除群組中的所有項目。

您已建立完成這些快速入門所需的資源。 您可能必須支付這些資源,取決於您的帳戶狀態服務定價。 如果您不再需要資源,刪除方式如下:

  1. 在 Azure 入口網站中,移至 [資源群組] 分頁。

    若要從函數應用程式頁面移至該頁面,選取 [概觀] 索引標籤,然後選取 [資源群組] 底下的連結。

    Screenshot that shows select the resource group to delete from the function app page.

    若要從儀表板移至該頁面,請選取 [資源群組],然後選取您用於本文的資源群組。

  2. 在 [資源群組] 分頁中,檢閱包含資源的清單,並確認這些是您想要刪除的項目。

  3. 選取 [刪除資源群組],並遵循指示。

    刪除作業可能需要幾分鐘。 完成時,通知會出現幾秒鐘的時間。 您也可以選取分頁頂端的鈴鐺圖示以檢視通知。

下一步

在本快速入門中,您將輸出繫結新增至現有函式。 如需佇列儲存體繫結的詳細資訊,請參閱 Azure Functions 儲存體佇列繫結